From 6eb2b1c4e3aa3e36136778aec726ec13932e8faa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Kuzn=C3=ADk?= Date: Thu, 12 Jan 2023 12:26:39 +0000 Subject: [PATCH] ITS#10436 Config handling Stuff that can crash slap* tools and similar nits --- servers/slapd/bconfig.c | 10 +++++++--- servers/slapd/logging.c | 3 ++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/servers/slapd/bconfig.c b/servers/slapd/bconfig.c index dbb9ff6c1e..18f23c6944 100644 --- a/servers/slapd/bconfig.c +++ b/servers/slapd/bconfig.c @@ -1580,7 +1580,7 @@ config_generic(ConfigArgs *c) { break; case CFG_LASTBIND_PRECISION: - c->be->be_lastbind_precision = 0; + c->be->be_lastbind_precision = c->ca_desc->arg_default.v_uint; break; case CFG_LASTBIND_ASSERT: @@ -2011,7 +2011,9 @@ config_generic(ConfigArgs *c) { mask |= 1; } new_daemon_threads = mask+1; - config_push_cleanup( c, config_resize_lthreads ); + if ( CONFIG_ONLINE_ADD( c ) ) { + config_push_cleanup( c, config_resize_lthreads ); + } } break; @@ -5689,7 +5691,9 @@ done: schema_destroy_one( ca, colst, nocs, last ); } else if ( ca->num_cleanups ) { ca->reply.err = rc; - config_run_cleanup( ca ); + if ( slapMode & SLAP_SERVER_MODE ) { + config_run_cleanup( ca ); + } } } done_noop: diff --git a/servers/slapd/logging.c b/servers/slapd/logging.c index 04e0ffcc17..8f0b4b5e68 100644 --- a/servers/slapd/logging.c +++ b/servers/slapd/logging.c @@ -743,8 +743,9 @@ config_logging(ConfigArgs *c) { } else if ( c->op == LDAP_MOD_DELETE ) { switch(c->type) { case CFG_LOGLEVEL: + /* If missing, the default is stored in ldap_syslog? */ if ( !c->line ) { - config_syslog = 0; + config_syslog = LDAP_DEBUG_NONE; } else { i = verb_to_mask( c->line, loglevel_ops ); config_syslog &= ~loglevel_ops[i].mask;