]> git.pld-linux.org Git - packages/openssh.git/blob - openssh-sigpipe.patch
742640c871b296eec316b6acfc8407f58187bbe7
[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 @@ -235,6 +235,8 @@
26               that enable them to authenticate using the identities loaded into
27               the agent.
28  
29 +     -B      Enable SIGPIPE processing.
30 +
31       -a      Disables forwarding of the authentication agent connection.
32  
33       -b bind_address
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 @@ -43,7 +43,7 @@
37  .Sh SYNOPSIS
38  .Nm ssh
39  .Bk -words
40 -.Op Fl 46AaCfGgKkMNnqsTtVvXxYy
41 +.Op Fl 46AaBCfGgKkMNnqsTtVvXxYy
42  .Op Fl b Ar bind_address
43  .Op Fl c Ar cipher_spec
44  .Op Fl D Oo Ar bind_address : Oc Ns Ar port
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 B
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 @@ -200,7 +200,7 @@ static void
70  usage(void)
71  {
72         fprintf(stderr,
73 -"usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]\n"
74 +"usage: ssh [-46AaBCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]\n"
75  "           [-D [bind_address:]port] [-E log_file] [-e escape_char]\n"
76  "           [-F configfile] [-I pkcs11] [-i identity_file]\n"
77  "           [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec]\n"
78 @@ -330,7 +330,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 -           "ACD:E:F:GI:J:KL:MNO:PQ:R:S:TVw:W:XYy")) != -1) {
83 +           "ABCD:E:F:GI:J:KL:MNO:PQ:R:S:TVw:W:XYy")) != -1) {
84                 switch (opt) {
85                 case '1':
86                         options.protocol = SSH_PROTO_1;
87 @@ -291,6 +294,9 @@
88                 case 'A':
89                         options.forward_agent = 1;
90                         break;
91 +               case 'B':
92 +                       enable_sigpipe = 1;
93 +                       break;
94                 case 'k':
95                         options.gss_deleg_creds = 0;
96                         break;
This page took 0.08216 seconds and 2 git commands to generate.