summaryrefslogtreecommitdiffstats
path: root/ssh.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2001-11-12 00:52:03 +0100
committerDamien Miller <djm@mindrot.org>2001-11-12 00:52:03 +0100
commit07cd5897f9854e2f835614027dd321ba17910013 (patch)
tree9a6d68fcb93c565b1c053cdcba49f1fbddc38cfa /ssh.c
parent - markus@cvs.openbsd.org 2001/10/24 08:41:20 (diff)
downloadopenssh-07cd5897f9854e2f835614027dd321ba17910013.tar.xz
openssh-07cd5897f9854e2f835614027dd321ba17910013.zip
- markus@cvs.openbsd.org 2001/10/24 08:51:35
[clientloop.c ssh.c] ignore SIGPIPE early, makes ssh work if agent dies, netbsd-pr via itojun@
Diffstat (limited to 'ssh.c')
-rw-r--r--ssh.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ssh.c b/ssh.c
index dce7530bb..2984a597f 100644
--- a/ssh.c
+++ b/ssh.c
@@ -39,7 +39,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: ssh.c,v 1.148 2001/10/24 08:41:20 markus Exp $");
+RCSID("$OpenBSD: ssh.c,v 1.149 2001/10/24 08:51:35 markus Exp $");
#include <openssl/evp.h>
#include <openssl/err.h>
@@ -752,6 +752,8 @@ again:
options.user_hostfile2 =
tilde_expand_filename(options.user_hostfile2, original_real_uid);
+ signal(SIGPIPE, SIG_IGN); /* ignore SIGPIPE early */
+
/* Log into the remote system. This never returns if the login fails. */
ssh_login(sensitive_data.keys, sensitive_data.nkeys,
host, (struct sockaddr *)&hostaddr, pw);