1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-08 21:18:16 +03:00

cmdline_s4: re-initialise logging once loadparm is ready

The first time round we maybe didn't know which files we wanted to log to.
Suppose, for example, we had an smb.conf with

 log level = 1 dsdb_group_json_audit:5@/var/log/group_json.log

we wouldn't see anything in "/var/log/group_json.log", while the level
5 dsdb_group_json_audit messages would go into the main log.

Note that the named file would still be opened by winbindd and others
that use the s3 code, but would remain empty as they don't have anything
to say about dsdb_group_json_audit.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15076

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
This commit is contained in:
Douglas Bagnall 2022-05-26 15:46:08 +12:00 committed by Andreas Schneider
parent 5e00c230ec
commit 9537ac723c

View File

@ -31,6 +31,8 @@ static bool _samba_cmdline_load_config_s4(void)
{
struct loadparm_context *lp_ctx = samba_cmdline_get_lp_ctx();
const char *config_file = NULL;
const struct samba_cmdline_daemon_cfg *cmdline_daemon_cfg = \
samba_cmdline_get_daemon_cfg();
bool ok;
/* Load smb conf */
@ -45,15 +47,11 @@ static bool _samba_cmdline_load_config_s4(void)
}
switch (_config_type) {
case SAMBA_CMDLINE_CONFIG_SERVER: {
const struct samba_cmdline_daemon_cfg *cmdline_daemon_cfg =
samba_cmdline_get_daemon_cfg();
case SAMBA_CMDLINE_CONFIG_SERVER:
if (!cmdline_daemon_cfg->interactive) {
setup_logging(getprogname(), DEBUG_FILE);
}
break;
}
default:
break;
}
@ -70,6 +68,20 @@ static bool _samba_cmdline_load_config_s4(void)
}
}
switch (_config_type) {
case SAMBA_CMDLINE_CONFIG_SERVER:
/*
* We need to setup_logging *again* to ensure multi-file
* logging is set up as specified in smb.conf.
*/
if (!cmdline_daemon_cfg->interactive) {
setup_logging(getprogname(), DEBUG_FILE);
}
break;
default:
break;
}
return true;
}