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

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

bsc#1023275

Index: openssh-7.8p1/sftp.0
===================================================================
--- openssh-7.8p1.orig/sftp.0
+++ openssh-7.8p1/sftp.0
@@ -160,6 +160,9 @@ DESCRIPTION
      -p      Preserves modification times, access times, and modes from the
              original files transferred.
 
+     -Q      Not-so-quiet batch mode: forces printing of diagnostic messages
+             in batch mode.
+
      -q      Quiet mode: disables the progress meter as well as warning and
              diagnostic messages from ssh(1).
 
Index: openssh-7.8p1/sftp.1
===================================================================
--- openssh-7.8p1.orig/sftp.1
+++ openssh-7.8p1/sftp.1
@@ -256,6 +256,9 @@ Specifies the port to connect to on the
 .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
Index: openssh-7.8p1/sftp.c
===================================================================
--- openssh-7.8p1.orig/sftp.c
+++ openssh-7.8p1/sftp.c
@@ -86,6 +86,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;
 
@@ -2373,7 +2376,7 @@ main(int argc, char **argv)
 	infile = stdin;
 
 	while ((ch = getopt(argc, argv,
-	    "1246afhpqrvCc:D:i:l:o:s:S:b:B:F:P:R:")) != -1) {
+	    "1246afhpQqrvCc:D:i:l:o:s:S:b:B:F:P:R:")) != -1) {
 		switch (ch) {
 		/* Passed through to ssh(1) */
 		case '4':
@@ -2389,6 +2392,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;
@@ -2472,6 +2478,8 @@ main(int argc, char **argv)
 			usage();
 		}
 	}
+	if (batchmode && loud)
+		quiet = 0;
 
 	if (!isatty(STDERR_FILENO))
 		showprogress = 0;