summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordtucker@openbsd.org <dtucker@openbsd.org>2016-12-04 22:27:25 +0000
committerDarren Tucker <dtucker@zip.com.au>2016-12-05 17:24:42 +1100
commitf2398eb774075c687b13af5bc22009eb08889abe (patch)
tree54e419c29abd0b11a9067a5fb73e050fbdb0c56a
parent85aa2efeba51a96bf6834f9accf2935d96150296 (diff)
upstream commit
Unlink PidFile on SIGHUP and always recreate it when the new sshd starts. Regression tests (and possibly other things) depend on the pidfile being recreated after SIGHUP, and unlinking it means it won't contain a stale pid if sshd fails to restart. ok djm@ markus@ Upstream-ID: 132dd6dda0c77dd49d2f15b2573b5794f6160870
-rw-r--r--sshd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sshd.c b/sshd.c
index fafcd3400..53107caf5 100644
--- a/sshd.c
+++ b/sshd.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: sshd.c,v 1.478 2016/11/30 00:28:31 dtucker Exp $ */ 1/* $OpenBSD: sshd.c,v 1.479 2016/12/04 22:27:25 dtucker Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -290,6 +290,8 @@ static void
290sighup_restart(void) 290sighup_restart(void)
291{ 291{
292 logit("Received SIGHUP; restarting."); 292 logit("Received SIGHUP; restarting.");
293 if (options.pid_file != NULL)
294 unlink(options.pid_file);
293 platform_pre_restart(); 295 platform_pre_restart();
294 close_listen_socks(); 296 close_listen_socks();
295 close_startup_pipes(); 297 close_startup_pipes();
@@ -1841,7 +1843,7 @@ main(int ac, char **av)
1841 * Write out the pid file after the sigterm handler 1843 * Write out the pid file after the sigterm handler
1842 * is setup and the listen sockets are bound 1844 * is setup and the listen sockets are bound
1843 */ 1845 */
1844 if (options.pid_file != NULL && !debug_flag && !already_daemon) { 1846 if (options.pid_file != NULL && !debug_flag) {
1845 FILE *f = fopen(options.pid_file, "w"); 1847 FILE *f = fopen(options.pid_file, "w");
1846 1848
1847 if (f == NULL) { 1849 if (f == NULL) {