summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2015-02-16 15:59:11 +1300
committerAndrew Bartlett <abartlet@samba.org>2015-02-16 11:42:47 +0100
commit1d95b0afc3547a91f8558873ce58652c271ed9eb (patch)
tree8db84dd7961f6dad7e7063458138613a76a2d6ac /lib
parent88c1eb4ae10a9f69d2e828b4e5543915c1d990c6 (diff)
downloadsamba-1d95b0afc3547a91f8558873ce58652c271ed9eb.tar.gz
samba-1d95b0afc3547a91f8558873ce58652c271ed9eb.tar.xz
samba-1d95b0afc3547a91f8558873ce58652c271ed9eb.zip
debug: Set close-on-exec for the main log file FD
This does not change the properties of dup2() of the fd as STDERR, however this is closed before we start smbd or winbindd as child processes. This is needed otherwise the logfile remains open in the child process, and logfile rotation can mean this old log remains on disk indefinatly. BUG: https://bugzilla.samba.org/show_bug.cgi?id=11100 Pair-programmed-with: Garming Sam <garming@catalyst.net.nz> Signed-off-by: Garming Sam <garming@catalyst.net.nz> Signed-off-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Mon Feb 16 11:42:47 CET 2015 on sn-devel-104
Diffstat (limited to 'lib')
-rw-r--r--lib/util/debug.c3
-rwxr-xr-xlib/util/wscript_build2
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/util/debug.c b/lib/util/debug.c
index a794c5b28d..80a1c254d6 100644
--- a/lib/util/debug.c
+++ b/lib/util/debug.c
@@ -604,6 +604,7 @@ bool reopen_logs_internal(void)
log_overflow = false;
ret = false;
} else {
+ smb_set_close_on_exec(new_fd);
old_fd = state.fd;
state.fd = new_fd;
debug_close_fd(old_fd);
@@ -735,6 +736,7 @@ void check_log_size( void )
*/
int fd = open( "/dev/console", O_WRONLY, 0);
if (fd != -1) {
+ smb_set_close_on_exec(fd);
state.fd = fd;
DEBUG(0,("check_log_size: open of debug file %s failed - using console.\n",
state.debugf ));
@@ -791,6 +793,7 @@ static int Debug1(const char *msg)
if(fd == -1) {
goto done;
}
+ smb_set_close_on_exec(fd);
state.fd = fd;
}
}
diff --git a/lib/util/wscript_build b/lib/util/wscript_build
index a1dec2a093..3121e1ff5b 100755
--- a/lib/util/wscript_build
+++ b/lib/util/wscript_build
@@ -27,7 +27,7 @@ bld.SAMBA_SUBSYSTEM('close-low-fd',
bld.SAMBA_LIBRARY('samba-debug',
source='debug.c',
- deps='replace time-basic close-low-fd talloc',
+ deps='replace time-basic close-low-fd talloc socket-blocking',
local_include=False,
private_library=True)