]> git.pld-linux.org Git - packages/openssh.git/commitdiff
- enable processing SIGPIPE
authorSebastian Zagrodzki <sebek@zagrodzki.net>
Tue, 5 Nov 2002 15:17:08 +0000 (15:17 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    openssh-sigpipe.patch -> 1.1

openssh-sigpipe.patch [new file with mode: 0644]

diff --git a/openssh-sigpipe.patch b/openssh-sigpipe.patch
new file mode 100644 (file)
index 0000000..05f126f
--- /dev/null
@@ -0,0 +1,86 @@
+diff -Naur openssh-3.5p1/clientloop.c openssh-3.5p1-p/clientloop.c
+--- openssh-3.5p1/clientloop.c Wed Sep  4 08:32:13 2002
++++ openssh-3.5p1-p/clientloop.c       Tue Nov  5 15:46:26 2002
+@@ -96,6 +96,9 @@
+  */
+ extern char *host;
++/* if we process SIGPIPE */
++extern int enable_sigpipe;
++
+ /*
+  * Flag to indicate that we have received a window change signal which has
+  * not yet been processed.  This will cause a message indicating the new
+@@ -892,6 +895,10 @@
+       signal(SIGINT, signal_handler);
+       signal(SIGQUIT, signal_handler);
+       signal(SIGTERM, signal_handler);
++
++      if (enable_sigpipe)
++              signal(SIGPIPE, signal_handler);
++
+       if (have_pty)
+               signal(SIGWINCH, window_change_handler);
+diff -Naur openssh-3.5p1/ssh.1 openssh-3.5p1-p/ssh.1
+--- openssh-3.5p1/ssh.1        Mon Sep 30 04:00:56 2002
++++ openssh-3.5p1-p/ssh.1      Tue Nov  5 15:51:54 2002
+@@ -48,7 +48,7 @@
+ .Op Ar command
+ .Pp
+ .Nm ssh
+-.Op Fl afgknqstvxACNTX1246
++.Op Fl afgknqstvxABCNTX1246
+ .Op Fl b Ar bind_address
+ .Op Fl c Ar cipher_spec
+ .Op Fl e Ar escape_char
+@@ -412,6 +412,9 @@
+ .It Fl b Ar bind_address
+ Specify the interface to transmit from on machines with multiple
+ interfaces or aliased addresses.
++.It Fl B
++Enables processing of SIGPIPE. Useful when using ssh output as input for
++another process, for example in a shell script.
+ .It Fl c Ar blowfish|3des|des
+ Selects the cipher to use for encrypting the session.
+ .Ar 3des
+diff -Naur openssh-3.5p1/ssh.c openssh-3.5p1-p/ssh.c
+--- openssh-3.5p1/ssh.c        Thu Sep 19 04:05:04 2002
++++ openssh-3.5p1-p/ssh.c      Tue Nov  5 15:44:57 2002
+@@ -143,6 +143,9 @@
+ /* Should we execute a command or invoke a subsystem? */
+ int subsystem_flag = 0;
++/* Enable sigpipe */
++int enable_sigpipe = 0;
++
+ /* # of replies received for global requests */
+ static int client_global_request_id = 0;
+@@ -161,6 +164,7 @@
+       fprintf(stderr, "  -F config   Config file (default: ~/%s).\n",
+            _PATH_SSH_USER_CONFFILE);
+       fprintf(stderr, "  -A          Enable authentication agent forwarding.\n");
++      fprintf(stderr, "  -B          Enable SIGPIPE processing.\n");
+       fprintf(stderr, "  -a          Disable authentication agent forwarding (default).\n");
+ #ifdef AFS
+       fprintf(stderr, "  -k          Disable Kerberos ticket and AFS token forwarding.\n");
+@@ -275,7 +279,7 @@
+ again:
+       while ((opt = getopt(ac, av,
+-          "1246ab:c:e:fgi:kl:m:no:p:qstvxACD:F:I:L:NPR:TVX")) != -1) {
++          "1246ab:c:e:fgi:kl:m:no:p:qstvxABCD:F:I:L:NPR:TVX")) != -1) {
+               switch (opt) {
+               case '1':
+                       options.protocol = SSH_PROTO_1;
+@@ -314,6 +318,9 @@
+               case 'A':
+                       options.forward_agent = 1;
+                       break;
++              case 'B':
++                      enable_sigpipe = 1;
++                      break;
+ #ifdef AFS
+               case 'k':
+                       options.kerberos_tgt_passing = 0;
This page took 0.040134 seconds and 4 git commands to generate.