]> 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 3e239bb4157855f92594c586c0796fa50aff0e39..6d6b8fcecf66f77877678c1eafdf47776d0d1026 100644 (file)
@@ -1,95 +1,99 @@
---- openssh-4.0p1/clientloop.c.orig    2005-03-01 11:24:33.000000000 +0100
-+++ openssh-4.0p1/clientloop.c 2005-03-10 15:10:05.000000000 +0100
-@@ -104,6 +104,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
-@@ -1236,6 +1239,8 @@
-               signal(SIGQUIT, signal_handler);
-       if (signal(SIGTERM, SIG_IGN) != SIG_IGN)
-               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);
-       signal(SIGWINCH, window_change_handler);
+       ssh_signal(SIGWINCH, window_change_handler);
  
        if (have_pty)
-diff -urN openssh-3.9p1.org/ssh.0 openssh-3.9p1/ssh.0
---- openssh-3.9p1.org/ssh.0    2004-08-17 19:03:29.327565840 +0200
-+++ openssh-3.9p1/ssh.0        2004-08-17 19:03:41.809668272 +0200
-@@ -235,6 +235,8 @@
-              that enable them to authenticate using the identities loaded into
-              the agent.
+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.
  
-+     -B      Enable SIGPIPE processing.
++     -Z      Enable SIGPIPE processing.
 +
-      -a      Disables forwarding of the authentication agent connection.
-      -b bind_address
---- openssh-4.0p1/ssh.1.orig   2005-03-09 01:00:06.000000000 +0100
-+++ openssh-4.0p1/ssh.1        2005-03-10 15:10:40.000000000 +0100
-@@ -43,7 +43,7 @@
- .Nd OpenSSH SSH client (remote login program)
+      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 1246AaCfgKkMNnqsTtVvXxY
-+.Op Fl 1246AaBCfgKkMNnqsTtVvXxY
+-.Op Fl 46AaCfGgKkMNnqsTtVvXxYy
++.Op Fl 46AaCfGgKkMNnqsTtVvXxYyZ
+ .Op Fl B Ar bind_interface
  .Op Fl b Ar bind_address
  .Op Fl c Ar cipher_spec
- .Oo Fl D\ \&
-@@ -425,6 +425,10 @@
- on the local machine as the source address
+@@ -142,6 +142,11 @@ on the local machine as the source addre
  of the connection.
  Only useful on systems with more than one address.
-+.It Fl B
+ .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.
++.Pp
  .It Fl C
  Requests compression of all data (including stdin, stdout, stderr, and
- data for forwarded X11 and TCP/IP connections).
---- openssh-4.0p1/ssh.c.orig   2005-03-02 02:04:33.000000000 +0100
-+++ openssh-4.0p1/ssh.c        2005-03-10 15:11:10.000000000 +0100
-@@ -135,6 +135,9 @@
- /* Should we execute a command or invoke a subsystem? */
- int subsystem_flag = 0;
+ 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;
  
-@@ -157,7 +160,7 @@
+@@ -203,7 +206,7 @@ static void
  usage(void)
  {
        fprintf(stderr,
--"usage: ssh [-1246AaCfgKkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec]\n"
-+"usage: ssh [-1246AaBCfgKkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec]\n"
- "           [-D [bind_address:]port] [-e escape_char] [-F configfile]\n"
- "           [-i identity_file] [-L [bind_address:]port:host:hostport]\n"
- "           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]\n"
-@@ -244,7 +247,7 @@
+-"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:KL:MNO:PR:S:TVw:XY")) != -1) {
-+          "1246ab:c:e:fgi:kl:m:no:p:qstvxABCD:F:I:KL:MNO:PR:S:TVw:XY")) != -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;
-@@ -291,6 +294,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;
-               case 'k':
-                       options.gss_deleg_creds = 0;
-                       break;
+               default:
+                       usage();
+               }
This page took 0.042455 seconds and 4 git commands to generate.