]> git.pld-linux.org Git - packages/openssh.git/blob - openssh-sigpipe.patch
3d60ddf2a6eaed207eaaa7dafd4a8838d3563a09
[packages/openssh.git] / openssh-sigpipe.patch
1 --- openssh-4.0p1/clientloop.c.orig     2005-03-01 11:24:33.000000000 +0100
2 +++ openssh-4.0p1/clientloop.c  2005-03-10 15:10:05.000000000 +0100
3 @@ -104,6 +104,9 @@
4   */
5  extern char *host;
6  
7 +/* if we process SIGPIPE */
8 +extern int enable_sigpipe;
9 +
10  /*
11   * Flag to indicate that we have received a window change signal which has
12   * not yet been processed.  This will cause a message indicating the new
13 @@ -1236,6 +1239,8 @@
14                 signal(SIGQUIT, signal_handler);
15         if (signal(SIGTERM, SIG_IGN) != SIG_IGN)
16                 signal(SIGTERM, signal_handler);
17 +       if (enable_sigpipe)
18 +               signal(SIGPIPE, signal_handler);
19         signal(SIGWINCH, window_change_handler);
20  
21         if (have_pty)
22 diff -urN openssh-3.9p1.org/ssh.0 openssh-3.9p1/ssh.0
23 --- openssh-3.9p1.org/ssh.0     2004-08-17 19:03:29.327565840 +0200
24 +++ openssh-3.9p1/ssh.0 2004-08-17 19:03:41.809668272 +0200
25 @@ -433,6 +433,8 @@ DESCRIPTION
26       -y      Send log information using the syslog(3) system module.  By
27               default this information is sent to stderr.
28  
29 +     -Z      Enable SIGPIPE processing.
30 +
31       ssh may additionally obtain configuration data from a per-user
32       configuration file and a system-wide configuration file.  The file format
33       and configuration options are described in ssh_config(5).
34 --- openssh-5.6p1/ssh.1~        2010-08-24 14:05:48.000000000 +0300
35 +++ openssh-5.6p1/ssh.1 2010-08-24 14:06:57.879253682 +0300
36 @@ -42,7 +42,7 @@
37  .Nd OpenSSH SSH client (remote login program)
38  .Sh SYNOPSIS
39  .Nm ssh
40 -.Op Fl 46AaCfGgKkMNnqsTtVvXxYy
41 +.Op Fl 46AaCfGgKkMNnqsTtVvXxYyZ
42  .Op Fl B Ar bind_interface
43  .Op Fl b Ar bind_address
44  .Op Fl c Ar cipher_spec
45 @@ -138,6 +138,11 @@ on the local machine as the source addre
46  of the connection.
47  Only useful on systems with more than one address.
48  .Pp
49 +.It Fl Z
50 +Enables processing of SIGPIPE. Useful when using ssh output as input for
51 +another process, for example in a shell script. Be careful - it may break
52 +port/X11 forwarding when used.
53 +.Pp
54  .It Fl C
55  Requests compression of all data (including stdin, stdout, stderr, and
56  data for forwarded X11, TCP and
57 --- openssh-4.0p1/ssh.c.orig    2005-03-02 02:04:33.000000000 +0100
58 +++ openssh-4.0p1/ssh.c 2005-03-10 15:11:10.000000000 +0100
59 @@ -135,6 +135,9 @@
60  /* Should we execute a command or invoke a subsystem? */
61  int subsystem_flag = 0;
62  
63 +/* Enable sigpipe */
64 +int enable_sigpipe = 0;
65 +
66  /* # of replies received for global requests */
67  static int client_global_request_id = 0;
68  
69 @@ -204,7 +204,7 @@ static void
70  usage(void)
71  {
72         fprintf(stderr,
73 -"usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]\n"
74 +"usage: ssh [-46AaCfGgKkMNnqsTtVvXxYyZ] [-B bind_interface]\n"
75  "           [-b bind_address] [-c cipher_spec] [-D [bind_address:]port]\n"
76  "           [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]\n"
77  "           [-i identity_file] [-J [user@]host[:port]] [-L address]\n"
78 @@ -666,7 +666,7 @@ main(int ac, char **av)
79  
80   again:
81         while ((opt = getopt(ac, av, "1246ab:c:e:fgi:kl:m:no:p:qstvx"
82 -           "AB:CD:E:F:GI:J:KL:MNO:PQ:R:S:TVw:W:XYy")) != -1) {
83 +           "AB:CD:E:F:GI:J:KL:MNO:PQ:R:S:TVw:W:XYyZ")) != -1) {
84                 switch (opt) {
85                 case '1':
86                         fatal("SSH protocol v.1 is no longer supported");
87 @@ -985,6 +985,9 @@ main(int ac, char **av)
88                 case 'F':
89                         config = optarg;
90                         break;
91 +               case 'Z':
92 +                       enable_sigpipe = 1;
93 +                       break;
94                 default:
95                         usage();
96                 }
97
This page took 0.021559 seconds and 2 git commands to generate.