The branch, master has been updated
via 12d04d9a928 docs-xml: Update winbindd(8) manpage
via b92589c31f0 s3:winbindd: Fix winbindd child logfile name handling
from 4fe96583624 s3: smbd: Ensure when we change security context we
delete any $cwd cache.
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 12d04d9a9288a9358d5f5aebaec126cc610952b1
Author: Pavel Filipenský <[email protected]>
Date: Fri Oct 8 13:16:05 2021 +0200
docs-xml: Update winbindd(8) manpage
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14852
Signed-off-by: Pavel Filipenský <[email protected]>
Reviewed-by: Ralph Boehme <[email protected]>
Reviewed-by: Andreas Schneider <[email protected]>
Autobuild-User(master): Ralph Böhme <[email protected]>
Autobuild-Date(master): Tue Oct 12 09:30:02 UTC 2021 on sn-devel-184
commit b92589c31f0eb3eaf2b3b1867e10b759f6a2edda
Author: Pavel Filipenský <[email protected]>
Date: Thu Oct 7 12:08:22 2021 +0200
s3:winbindd: Fix winbindd child logfile name handling
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14852
Handling of logfile name for main and child winbindd must ensure:
1) Log directory is selected in this order:
* -l option of winbindd
* "log file" parameter in smb.conf
* compile time value '/usr/local/samba/var'
2) Log filename pattern
* parent process uses log.winbindd
* child uses log.wb-<name>
3) Log reopen works for both parent and child (i.e. log filename is not
changed)
* kill -HUP <pid>
* smbcontrol <pid> reload-config
This commit removes 3 calls of is_default_dyn_LOGFILEBASE() to make sure
that:
- 1st removal: child uses log.wb-<name> after the fork
- 2nd removal: child after HUP signal, does not switch to log.winbindd
- 3rd removal: child after smbcontrol reload-config, does not switch to
log.winbindd
Interesting commits: bfa1b2a8 1484b7f3 3b015a4c d1f7a371
Signed-off-by: Pavel Filipenský <[email protected]>
Reviewed-by: Ralph Boehme <[email protected]>
Reviewed-by: Andreas Schneider <[email protected]>
-----------------------------------------------------------------------
Summary of changes:
docs-xml/manpages/winbindd.8.xml | 20 +++++++++++++++++++-
source3/winbindd/winbindd_dual.c | 11 ++++++-----
2 files changed, 25 insertions(+), 6 deletions(-)
Changeset truncated at 500 lines:
diff --git a/docs-xml/manpages/winbindd.8.xml b/docs-xml/manpages/winbindd.8.xml
index 3b7487c1b1c..7a643b8879c 100644
--- a/docs-xml/manpages/winbindd.8.xml
+++ b/docs-xml/manpages/winbindd.8.xml
@@ -195,7 +195,25 @@ hosts: files wins
</para></listitem>
</varlistentry>
- &cmdline.common.samba.server;
+ &cmdline.common.debug.server;
+ &cmdline.common.config.server;
+ &cmdline.common.option;
+
+ <varlistentry>
+ <term>-l|--log-basename=logdirectory</term>
+ <listitem>
+ <para>
+ Base directory name for log/debug
files. The parent process
+ uses filename log.winbindd, the child
process uses filename
+ log.wb-<name>. The log file is never
removed by winbindd.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ &cmdline.common.samba.leakreport;
+ &cmdline.common.samba.leakreportfull;
+ &cmdline.version;
+
&popt.autohelp;
</variablelist>
diff --git a/source3/winbindd/winbindd_dual.c b/source3/winbindd/winbindd_dual.c
index e19dfafc52f..b275dfb128c 100644
--- a/source3/winbindd/winbindd_dual.c
+++ b/source3/winbindd/winbindd_dual.c
@@ -1544,15 +1544,16 @@ NTSTATUS winbindd_reinit_after_fork(const struct
winbindd_child *myself,
close_conns_after_fork();
- if (is_default_dyn_LOGFILEBASE() && logfilename) {
+ if (logfilename != NULL) {
lp_set_logfile(logfilename);
reopen_logs();
}
- if (!winbindd_setup_sig_term_handler(false))
+ if (!winbindd_setup_sig_term_handler(false)) {
return NT_STATUS_NO_MEMORY;
- if (!winbindd_setup_sig_hup_handler(
- !is_default_dyn_LOGFILEBASE() ? NULL : logfilename)) {
+ }
+
+ if (!winbindd_setup_sig_hup_handler(logfilename)) {
return NT_STATUS_NO_MEMORY;
}
@@ -1777,7 +1778,7 @@ static bool fork_domain_child(struct winbindd_child
*child)
winbind_msg_disconnect_dc);
messaging_register(
global_messaging_context(),
- !is_default_dyn_LOGFILEBASE() ? NULL : child->logfilename,
+ child->logfilename,
MSG_SMB_CONF_UPDATED,
winbindd_msg_reload_services_child);
--
Samba Shared Repository