]> git.pld-linux.org Git - packages/openssh.git/blobdiff - openssh-sigpipe.patch
Rel 5; add upstream official fixes for stable release (https://lists.mindrot.org...
[packages/openssh.git] / openssh-sigpipe.patch
index 1c0e825b9a1e6a4ee18e5e620377ae5e01c901f3..6d6b8fcecf66f77877678c1eafdf47776d0d1026 100644 (file)
@@ -1,87 +1,99 @@
-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;
+diff -urNp -x '*.orig' openssh-8.4p1.org/clientloop.c openssh-8.4p1/clientloop.c
+--- openssh-8.4p1.org/clientloop.c     2020-09-27 09:25:01.000000000 +0200
++++ openssh-8.4p1/clientloop.c 2021-03-01 11:29:10.909905265 +0100
+@@ -127,6 +127,9 @@ extern int fork_after_authentication_fla
/* Control socket */
+ extern int muxserver_sock; /* XXX use mux_client_cleanup() instead */
  
 +/* 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);
-+
+  * Name of the host we are connecting to.  This is the name given on the
+  * command line, or the Hostname specified for the user-supplied name in a
+@@ -1301,6 +1304,8 @@ client_loop(struct ssh *ssh, int have_pt
+               ssh_signal(SIGQUIT, signal_handler);
+       if (ssh_signal(SIGTERM, SIG_IGN) != SIG_IGN)
+               ssh_signal(SIGTERM, signal_handler);
 +      if (enable_sigpipe)
 +              signal(SIGPIPE, signal_handler);
-+
+       ssh_signal(SIGWINCH, window_change_handler);
        if (have_pty)
-               signal(SIGWINCH, window_change_handler);
+diff -urNp -x '*.orig' openssh-8.4p1.org/ssh.0 openssh-8.4p1/ssh.0
+--- openssh-8.4p1.org/ssh.0    2020-09-27 09:42:10.000000000 +0200
++++ openssh-8.4p1/ssh.0        2021-03-01 11:29:10.909905265 +0100
+@@ -446,6 +446,8 @@ DESCRIPTION
+      -y      Send log information using the syslog(3) system module.  By
+              default this information is sent to stderr.
  
-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
++     -Z      Enable SIGPIPE processing.
++
+      ssh may additionally obtain configuration data from a per-user
+      configuration file and a system-wide configuration file.  The file format
+      and configuration options are described in ssh_config(5).
+diff -urNp -x '*.orig' openssh-8.4p1.org/ssh.1 openssh-8.4p1/ssh.1
+--- openssh-8.4p1.org/ssh.1    2020-09-27 09:25:01.000000000 +0200
++++ openssh-8.4p1/ssh.1        2021-03-01 11:29:10.909905265 +0100
+@@ -42,7 +42,7 @@
+ .Nd OpenSSH remote login client
+ .Sh SYNOPSIS
  .Nm ssh
--.Op Fl afgknqstvxACNTX1246
-+.Op Fl afgknqstvxABCNTX1246
+-.Op Fl 46AaCfGgKkMNnqsTtVvXxYy
++.Op Fl 46AaCfGgKkMNnqsTtVvXxYyZ
+ .Op Fl B Ar bind_interface
  .Op Fl b Ar bind_address
  .Op Fl c Ar cipher_spec
- .Op Fl e Ar escape_char
-@@ -412,6 +412,10 @@
- .It Fl b Ar bind_address
- Specify the interface to transmit from on machines with multiple
- interfaces or aliased addresses.
-+.It Fl B
+@@ -142,6 +142,11 @@ on the local machine as the source addre
+ of the connection.
+ Only useful on systems with more than one address.
+ .Pp
++.It Fl Z
 +Enables processing of SIGPIPE. Useful when using ssh output as input for
 +another process, for example in a shell script. Be careful - it may break
 +port/X11 forwarding when used.
- .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;
++.Pp
+ .It Fl C
+ Requests compression of all data (including stdin, stdout, stderr, and
+ data for forwarded X11, TCP and
+diff -urNp -x '*.orig' openssh-8.4p1.org/ssh.c openssh-8.4p1/ssh.c
+--- openssh-8.4p1.org/ssh.c    2020-09-27 09:25:01.000000000 +0200
++++ openssh-8.4p1/ssh.c        2021-03-01 11:29:10.909905265 +0100
+@@ -190,6 +190,9 @@ struct sshbuf *command;
+ /* command to be executed */
+ struct sshbuf *command;
  
 +/* Enable sigpipe */
 +int enable_sigpipe = 0;
 +
  /* # of replies received for global requests */
- static int client_global_request_id = 0;
+ static int forward_confirms_pending = -1;
  
-@@ -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 @@
+@@ -203,7 +206,7 @@ static void
+ usage(void)
+ {
+       fprintf(stderr,
+-"usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]\n"
++"usage: ssh [-46AaCfGgKkMNnqsTtVvXxYyZ] [-B bind_interface]\n"
+ "           [-b bind_address] [-c cipher_spec] [-D [bind_address:]port]\n"
+ "           [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]\n"
+ "           [-i identity_file] [-J [user@]host[:port]] [-L address]\n"
+@@ -722,7 +725,7 @@ main(int ac, char **av)
  
- 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) {
 again:
+       while ((opt = getopt(ac, av, "1246ab:c:e:fgi:kl:m:no:p:qstvx"
+-          "AB:CD:E:F:GI:J:KL:MNO:PQ:R:S:TVw:W:XYy")) != -1) {
++          "AB:CD:E:F:GI:J:KL:MNO:PQ:R:S:TVw:W:XYyZ")) != -1) {
                switch (opt) {
                case '1':
-                       options.protocol = SSH_PROTO_1;
-@@ -314,6 +318,9 @@
-               case 'A':
-                       options.forward_agent = 1;
+                       fatal("SSH protocol v.1 is no longer supported");
+@@ -1066,6 +1069,9 @@ main(int ac, char **av)
+               case 'F':
+                       config = optarg;
                        break;
-+              case 'B':
++              case 'Z':
 +                      enable_sigpipe = 1;
 +                      break;
- #ifdef AFS
-               case 'k':
-                       options.kerberos_tgt_passing = 0;
+               default:
+                       usage();
+               }
This page took 0.275038 seconds and 4 git commands to generate.