summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Watson <cjwatson@debian.org>2010-01-10 22:07:13 +0000
committerColin Watson <cjwatson@debian.org>2010-01-10 22:07:13 +0000
commit8d610ba26a3041f567441d7260f47425ef52012b (patch)
treea4c67a075ff370922dfe8ab575eadd4b319d1d30
parentd0d0d064f3ee3dc0b89a63de478973d392adf71f (diff)
* Backport from upstream:
- After sshd receives a SIGHUP, ignore subsequent HUPs while sshd re-execs itself. Prevents two HUPs in quick succession from resulting in sshd dying (LP: #497781).
-rw-r--r--debian/changelog9
-rw-r--r--sshd.c1
2 files changed, 10 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 37c691609..b8dde56ee 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
1openssh (1:5.2p1-2) UNRELEASED; urgency=low
2
3 * Backport from upstream:
4 - After sshd receives a SIGHUP, ignore subsequent HUPs while sshd
5 re-execs itself. Prevents two HUPs in quick succession from resulting
6 in sshd dying (LP: #497781).
7
8 -- Colin Watson <cjwatson@debian.org> Sun, 10 Jan 2010 22:06:28 +0000
9
1openssh (1:5.2p1-1) unstable; urgency=low 10openssh (1:5.2p1-1) unstable; urgency=low
2 11
3 * New upstream release (closes: #536182). Yes, I know 5.3p1 has been out 12 * New upstream release (closes: #536182). Yes, I know 5.3p1 has been out
diff --git a/sshd.c b/sshd.c
index f61d79ec7..b83ecd9e5 100644
--- a/sshd.c
+++ b/sshd.c
@@ -317,6 +317,7 @@ sighup_restart(void)
317 close_listen_socks(); 317 close_listen_socks();
318 close_startup_pipes(); 318 close_startup_pipes();
319 alarm(0); /* alarm timer persists across exec */ 319 alarm(0); /* alarm timer persists across exec */
320 signal(SIGHUP, SIG_IGN); /* will be restored after exec */
320 execv(saved_argv[0], saved_argv); 321 execv(saved_argv[0], saved_argv);
321 logit("RESTART FAILED: av[0]='%.100s', error: %.100s.", saved_argv[0], 322 logit("RESTART FAILED: av[0]='%.100s', error: %.100s.", saved_argv[0],
322 strerror(errno)); 323 strerror(errno));