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ý <pfilipen@redhat.com>
Reviewed-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
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;
}
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);