From: Quanah Gibson-Mount Date: Tue, 17 Nov 2009 17:08:58 +0000 (+0000) Subject: ITS#6363 X-Git-Tag: OPENLDAP_REL_ENG_2_4_20~57 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=857ccc01039e0b4d0b71b40f93d517e5462f1f24;p=openldap ITS#6363 --- diff --git a/CHANGES b/CHANGES index fdeb73eabb..97413c43d0 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,7 @@ OpenLDAP 2.4.20 Engineering Fixed liblutil constant (ITS#5909) Added slapd handling of hex server IDs (ITS#6297) Fixed slapd inclusion of ac/unistd.h (ITS#6342) + Fixed slapd configArgs initialization (ITS#6363) Fixed slapd debug handling of LDAP_DEBUG_ANY (ITS#6324) Fixed slapd termination for one level DNs (ITS#6338) Fixed slapd unused parameter (ITS#6356) diff --git a/servers/slapd/bconfig.c b/servers/slapd/bconfig.c index f68a28f88d..90cd622926 100644 --- a/servers/slapd/bconfig.c +++ b/servers/slapd/bconfig.c @@ -4578,6 +4578,7 @@ schema_destroy_one( ConfigArgs *ca, ConfigOCs **colst, int nocs, ca->valx = -1; ca->line = NULL; + ca->argc = 1; if ( cfn->c_cr_head ) { struct berval bv = BER_BVC("olcDitContentRules"); ad = NULL; @@ -5393,6 +5394,7 @@ config_modify_internal( CfEntryInfo *ce, Operation *op, SlapReply *rs, } ca->line = bv.bv_val; ca->valx = d->idx[i]; + config_parse_vals(ct, ca, d->idx[i] ); rc = config_del_vals( ct, ca ); if ( rc != LDAP_SUCCESS ) break; if ( s ) @@ -5404,6 +5406,7 @@ config_modify_internal( CfEntryInfo *ce, Operation *op, SlapReply *rs, } else { ca->valx = -1; ca->line = NULL; + ca->argc = 1; rc = config_del_vals( ct, ca ); if ( rc ) rc = LDAP_OTHER; if ( s ) @@ -5450,6 +5453,7 @@ out: a->a_flags &= ~(SLAP_ATTR_IXDEL|SLAP_ATTR_IXADD); ca->valx = -1; ca->line = NULL; + ca->argc = 1; config_del_vals( ct, ca ); } for ( i=0; !BER_BVISNULL( &s->a_vals[i] ); i++ ) { @@ -5464,6 +5468,7 @@ out: ct = config_find_table( colst, nocs, a->a_desc, ca ); ca->valx = -1; ca->line = NULL; + ca->argc = 1; config_del_vals( ct, ca ); s = attr_find( save_attrs, a->a_desc ); if ( s ) { diff --git a/servers/slapd/config.c b/servers/slapd/config.c index 22e1e982aa..be5a2f7aee 100644 --- a/servers/slapd/config.c +++ b/servers/slapd/config.c @@ -414,6 +414,7 @@ config_del_vals(ConfigTable *cf, ConfigArgs *c) /* If there is no handler, just ignore it */ if ( cf->arg_type & ARG_MAGIC ) { + c->argv[0] = cf->ad->ad_cname.bv_val; c->op = LDAP_MOD_DELETE; c->type = cf->arg_type & ARGS_USERLAND; rc = (*((ConfigDriver*)cf->arg_item))(c);