mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-24 16:49:39 -05:00
more about ITS#5940
This commit is contained in:
parent
d1b415e6be
commit
a83d10e4ac
3 changed files with 12 additions and 3 deletions
|
|
@ -103,6 +103,8 @@ over_db_config(
|
|||
ca.be = be;
|
||||
snprintf( ca.log, sizeof( ca.log ), "%s: line %d",
|
||||
ca.fname, ca.lineno );
|
||||
ca.op = SLAP_CONFIG_ADD;
|
||||
ca.valx = -1;
|
||||
|
||||
for (; on; on=on->on_next) {
|
||||
rc = SLAP_CONF_UNKNOWN;
|
||||
|
|
|
|||
|
|
@ -4488,6 +4488,7 @@ config_add_internal( CfBackInfo *cfb, Entry *e, ConfigArgs *ca, SlapReply *rs,
|
|||
if ( !ct ) continue; /* user data? */
|
||||
for (i=0; a->a_vals[i].bv_val; i++) {
|
||||
char *iptr = NULL;
|
||||
ca->valx = -1;
|
||||
ca->line = a->a_vals[i].bv_val;
|
||||
if ( a->a_desc->ad_type->sat_flags & SLAP_AT_ORDERED ) {
|
||||
ptr = strchr( ca->line, '}' );
|
||||
|
|
@ -4499,8 +4500,6 @@ config_add_internal( CfBackInfo *cfb, Entry *e, ConfigArgs *ca, SlapReply *rs,
|
|||
if ( a->a_desc->ad_type->sat_flags & SLAP_AT_ORDERED_SIB ) {
|
||||
if ( iptr ) {
|
||||
ca->valx = strtol( iptr+1, NULL, 0 );
|
||||
} else {
|
||||
ca->valx = -1;
|
||||
}
|
||||
} else {
|
||||
ca->valx = i;
|
||||
|
|
@ -4789,6 +4788,7 @@ config_modify_add( ConfigTable *ct, ConfigArgs *ca, AttributeDescription *ad,
|
|||
{
|
||||
int rc;
|
||||
|
||||
ca->valx = -1;
|
||||
if (ad->ad_type->sat_flags & SLAP_AT_ORDERED &&
|
||||
ca->line[0] == '{' )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2061,7 +2061,6 @@ rwm_cf_gen( ConfigArgs *c )
|
|||
switch ( c->type ) {
|
||||
case RWM_CF_REWRITE:
|
||||
if ( c->valx >= 0 ) {
|
||||
/* single modification is not allowed */
|
||||
rc = 1;
|
||||
|
||||
} else if ( rwmap->rwm_rw != NULL ) {
|
||||
|
|
@ -2116,6 +2115,10 @@ rwm_cf_gen( ConfigArgs *c )
|
|||
|
||||
switch ( c->type ) {
|
||||
case RWM_CF_REWRITE:
|
||||
if ( c->valx >= 0 ) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
argv0 = c->argv[ idx0 ];
|
||||
if ( strncasecmp( argv0, "rwm-", STRLENOF( "rwm-" ) ) != 0 ) {
|
||||
return 1;
|
||||
|
|
@ -2150,6 +2153,10 @@ rwm_cf_gen( ConfigArgs *c )
|
|||
break;
|
||||
|
||||
case RWM_CF_MAP:
|
||||
if ( c->valx >= 0 ) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
argv0 = c->argv[ 0 ];
|
||||
c->argv[ 0 ] += STRLENOF( "rwm-" );
|
||||
rc = rwm_m_config( &db, c->fname, c->lineno, c->argc, c->argv );
|
||||
|
|
|
|||
Loading…
Reference in a new issue