]> git.pld-linux.org Git - packages/openssh.git/blame_incremental - openssh-sigpipe.patch
- up to 7.4p1
[packages/openssh.git] / openssh-sigpipe.patch
... / ...
CommitLineData
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)
22diff -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@@ -44,7 +44,7 @@
37 .Sh SYNOPSIS
38 .Nm ssh
39 .Bk -words
40-.Op Fl 1246AaCfGgKkMNnqsTtVvXxYy
41+.Op Fl 1246AaBCfGgKkMNnqsTtVvXxYy
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@@ -199,7 +199,7 @@ static void
70 usage(void)
71 {
72 fprintf(stderr,
73-"usage: ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]\n"
74+"usage: ssh [-1246AaBCfGgKkMNnqsTtVvXxYy] [-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 " [-L [bind_address:]port:host:hostport] [-Q protocol_feature]\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.039958 seconds and 4 git commands to generate.