File openssh-7.7p1-sftp_print_diagnostic_messages.patch of Package openssh

# HG changeset patch
# Parent  60bdbe6dd8d6bc011883472363d56e1d97f68835
Put back sftp client diagnostic messages in batch mode

bsc#1023275
diff --git a/sftp.1 b/sftp.1
index a52c1cf..7333de8 100644
--- a/sftp.1
+++ b/sftp.1
@@ -278,6 +278,9 @@ Specifies the port to connect to on the remote host.
 .It Fl p
 Preserves modification times, access times, and modes from the
 original files transferred.
+.It Fl Q
+Not-so-quiet batch mode: forces printing of diagnostic messages
+in batch mode.
 .It Fl q
 Quiet mode: disables the progress meter as well as warning and
 diagnostic messages from
diff --git a/sftp.c b/sftp.c
index b66037f..6c94a38 100644
--- a/sftp.c
+++ b/sftp.c
@@ -85,6 +85,9 @@ static volatile pid_t sshpid = -1;
 /* Suppress diagnositic messages */
 int quiet = 0;
 
+/* Force diagnositic messages in batch mode */
+int loud = 0;
+
 /* This is set to 0 if the progressmeter is not desired. */
 int showprogress = 1;
 
@@ -2406,7 +2409,7 @@ main(int argc, char **argv)
 	infile = stdin;
 
 	while ((ch = getopt(argc, argv,
-	    "1246afhpqrvCc:D:i:l:o:s:S:b:B:F:J:P:R:")) != -1) {
+	    "1246afhpQqrvCc:D:i:l:o:s:S:b:B:F:J:P:R:")) != -1) {
 		switch (ch) {
 		/* Passed through to ssh(1) */
 		case '4':
@@ -2423,6 +2426,9 @@ main(int argc, char **argv)
 			addargs(&args, "-%c", ch);
 			addargs(&args, "%s", optarg);
 			break;
+		case 'Q':
+			loud = 1;
+			break;
 		case 'q':
 			ll = SYSLOG_LEVEL_ERROR;
 			quiet = 1;
@@ -2506,6 +2512,8 @@ main(int argc, char **argv)
 			usage();
 		}
 	}
+	if (batchmode && loud)
+		quiet = 0;
 
 	if (!isatty(STDERR_FILENO))
 		showprogress = 0;