check the value of the olcSubordinate attribute

This commit is contained in:
Pierangelo Masarati 2009-07-16 15:41:05 +00:00
parent 7a553ddae8
commit 40f785f62a

View file

@ -2325,7 +2325,7 @@ static int
config_subordinate(ConfigArgs *c)
{
int rc = 1;
int advertise;
int advertise = 0;
switch( c->op ) {
case SLAP_CONFIG_EMIT:
@ -2360,10 +2360,27 @@ config_subordinate(ConfigArgs *c)
rc = 1;
break;
}
advertise = ( c->argc == 2 && !strcasecmp( c->argv[1], "advertise" ));
if ( c->argc == 2 ) {
if ( strcasecmp( c->argv[1], "advertise" ) == 0 ) {
advertise = 1;
} else if ( strcasecmp( c->argv[1], "TRUE" ) != 0 ) {
/* log error */
snprintf( c->cr_msg, sizeof( c->cr_msg),
"subordinate must be \"TRUE\" or \"advertise\"" );
Debug( LDAP_DEBUG_ANY,
"%s: suffix \"%s\": %s.\n",
c->log, c->be->be_suffix[0].bv_val, c->cr_msg );
rc = 1;
break;
}
}
rc = glue_sub_add( c->be, advertise, CONFIG_ONLINE_ADD( c ));
break;
}
return rc;
}