summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--session.c6
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 8ba1a9e3..aa3ef36f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+20001213
+ - (djm) Make sure we reset the SIGPIPE disposition after we fork. Report
+ from Andreas M. Kirchwitz <amk@krell.zikzak.de>
+
20001211
- (bal) Applied patch to include ssh-keyscan into Redhat's package, and
patch to install ssh-keyscan manpage. Patch by Pekka Savola
diff --git a/session.c b/session.c
index a0020d42..1e996f95 100644
--- a/session.c
+++ b/session.c
@@ -480,8 +480,6 @@ do_exec_no_pty(Session *s, const char *command, struct passwd * pw)
if (s == NULL)
fatal("do_exec_no_pty: no session");
- signal(SIGPIPE, SIG_DFL);
-
session_proctitle(s);
#ifdef USE_PAM
@@ -493,6 +491,8 @@ do_exec_no_pty(Session *s, const char *command, struct passwd * pw)
/* Child. Reinitialize the log since the pid has changed. */
log_init(__progname, options.log_level, options.log_facility, log_stderr);
+ signal(SIGPIPE, SIG_DFL);
+
/*
* Create a new session and process group since the 4.4BSD
* setlogin() affects the entire process group.
@@ -606,6 +606,8 @@ do_exec_pty(Session *s, const char *command, struct passwd * pw)
/* Child. Reinitialize the log because the pid has changed. */
log_init(__progname, options.log_level, options.log_facility, log_stderr);
+ signal(SIGPIPE, SIG_DFL);
+
/* Close the master side of the pseudo tty. */
close(ptyfd);