From 3f2bc9833d8b4642aac2866f7718c80d5c0b52be Mon Sep 17 00:00:00 2001 From: Ferenc Wagner Date: Sat, 5 Sep 2009 18:41:59 +0200 Subject: Ensure that the log socket is available for the child Just in case syslog has been restarted, bounce the log socket before the chroot. Signed-off-by: Ferenc Wagner Signed-off-by: H. Peter Anvin --- tftpd/tftpd.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tftpd/tftpd.c b/tftpd/tftpd.c index 72d3e5d..721ebd8 100644 --- a/tftpd/tftpd.c +++ b/tftpd/tftpd.c @@ -870,6 +870,15 @@ int main(int argc, char **argv) /* Ignore SIGHUP */ set_signal(SIGHUP, SIG_IGN, 0); + /* Make sure the log socket is still connected. This has to be + done before the chroot, while /dev/log is still accessible. + When not running standalone, there is little chance that the + syslog daemon gets restarted by the time we get here. */ + if (secure && standalone) { + closelog(); + openlog(__progname, LOG_PID | LOG_NDELAY, LOG_DAEMON); + } + #ifdef HAVE_TCPWRAPPERS /* Verify if this was a legal request for us. This has to be done before the chroot, while /etc is still accessible. */ -- cgit v1.2.1