}
}
code = slap_str2ad( at->at_names[0], &ct[i].ad, &err );
- if ( freeit ) {
+ if ( freeit || code ) {
ldap_attributetype_free( at );
} else {
ldap_memfree( at );
if ( code && code != SLAP_SCHERR_CLASS_DUP ) {
fprintf( stderr, "init_config_ocs: objectclass \"%s\": %s, %s\n",
ocs[i].co_def, scherr2str(code), err );
+ ldap_objectclass_free(oc);
return code;
}
ocs[i].co_oc = oc_find(oc->oc_names[0]);
- ldap_memfree(oc);
+ if ( code )
+ ldap_objectclass_free(oc);
+ else
+ ldap_memfree(oc);
}
return 0;
}
Debug(LDAP_DEBUG_ANY,
"could not stat config file \"%s\": %s (%d)\n",
fname, strerror(errno), errno);
+ ch_free( c );
return(1);
}
Debug(LDAP_DEBUG_ANY,
"regular file expected, got \"%s\"\n",
fname, 0, 0 );
+ ch_free( c );
return(1);
}
Debug(LDAP_DEBUG_ANY,
"could not open config file \"%s\": %s (%d)\n",
fname, strerror(errno), errno);
+ ch_free( c );
return(1);
}
}
if ( c->argc < 1 ) {
- Debug( SLAPD_DEBUG_CONFIG_ERROR, "%s: bad config line"
- SLAPD_CONF_UNKNOWN_IGNORED ".\n",
+ Debug( LDAP_DEBUG_ANY, "%s: bad config line.\n",
c->log, 0, 0);
-#ifdef SLAPD_CONF_UNKNOWN_BAILOUT
rc = 1;
goto done;
-#else /* ! SLAPD_CONF_UNKNOWN_BAILOUT */
- continue;
-#endif /* ! SLAPD_CONF_UNKNOWN_BAILOUT */
}
c->op = SLAP_CONFIG_ADD;
if ( rc ) {
switch(rc) {
case SLAP_CONF_UNKNOWN:
- Debug( SLAPD_DEBUG_CONFIG_ERROR, "%s: "
- "unknown directive <%s> inside backend info definition"
- SLAPD_CONF_UNKNOWN_IGNORED ".\n",
+ Debug( LDAP_DEBUG_ANY, "%s: unknown directive "
+ "<%s> inside backend info definition.\n",
c->log, *c->argv, 0);
-#ifndef SLAPD_CONF_UNKNOWN_BAILOUT
- continue;
-#endif /* ! SLAPD_CONF_UNKNOWN_BAILOUT */
default:
rc = 1;
goto done;
rc = (*c->be->be_config)(c->be, c->fname, c->lineno,
c->argc, c->argv);
}
- if ( rc == SLAP_CONF_UNKNOWN && SLAP_ISGLOBALOVERLAY( frontendDB ) ) {
+ if ( rc == SLAP_CONF_UNKNOWN && SLAP_ISGLOBALOVERLAY( frontendDB ) )
+ {
/* global overlays may need
* definitions inside other databases...
*/
- rc = (*frontendDB->be_config)(frontendDB, c->fname, (int)c->lineno, c->argc, c->argv);
+ rc = (*frontendDB->be_config)( frontendDB,
+ c->fname, (int)c->lineno, c->argc, c->argv );
}
switch ( rc ) {
break;
case SLAP_CONF_UNKNOWN:
- Debug( SLAPD_DEBUG_CONFIG_ERROR, "%s: "
- "unknown directive <%s> inside backend database "
- "definition" SLAPD_CONF_UNKNOWN_IGNORED ".\n",
+ Debug( LDAP_DEBUG_ANY, "%s: unknown directive "
+ "<%s> inside backend database definition.\n",
c->log, *c->argv, 0);
-#ifndef SLAPD_CONF_UNKNOWN_BAILOUT
- break;
-#endif /* ! SLAPD_CONF_UNKNOWN_BAILOUT */
default:
rc = 1;
}
} else if ( frontendDB->be_config ) {
- rc = (*frontendDB->be_config)(frontendDB, c->fname, (int)c->lineno, c->argc, c->argv);
+ rc = (*frontendDB->be_config)( frontendDB,
+ c->fname, (int)c->lineno, c->argc, c->argv);
if ( rc ) {
switch(rc) {
case SLAP_CONF_UNKNOWN:
- Debug( SLAPD_DEBUG_CONFIG_ERROR, "%s: "
- "unknown directive <%s> inside global database definition"
- SLAPD_CONF_UNKNOWN_IGNORED ".\n",
+ Debug( LDAP_DEBUG_ANY, "%s: unknown directive "
+ "<%s> inside global database definition.\n",
c->log, *c->argv, 0);
-#ifndef SLAPD_CONF_UNKNOWN_BAILOUT
- break;
-#endif /* ! SLAPD_CONF_UNKNOWN_BAILOUT */
default:
rc = 1;
}
} else {
- Debug( SLAPD_DEBUG_CONFIG_ERROR, "%s: "
- "unknown directive <%s> outside backend info and database definitions"
- SLAPD_CONF_UNKNOWN_IGNORED ".\n",
+ Debug( LDAP_DEBUG_ANY, "%s: unknown directive "
+ "<%s> outside backend info and database definitions.\n",
c->log, *c->argv, 0);
-#ifdef SLAPD_CONF_UNKNOWN_BAILOUT
rc = 1;
goto done;
-#else /* ! SLAPD_CONF_UNKNOWN_BAILOUT */
- continue;
-#endif /* ! SLAPD_CONF_UNKNOWN_BAILOUT */
}
}
int
verb_to_mask(const char *word, slap_verbmasks *v) {
int i;
- for(i = 0; !BER_BVISNULL(&v[i].word); i++)
- if(!strcasecmp(word, v[i].word.bv_val))
- break;
+ for(i = 0; !BER_BVISNULL(&v[i].word); i++) {
+ if(!strcasecmp(word, v[i].word.bv_val)) break;
+ }
return(i);
}
assert( *vp == NULL );
- for ( i = 0; !BER_BVISNULL( &v[ i ].word ); i++ )
- ;
+ for ( i = 0; !BER_BVISNULL( &v[ i ].word ); i++ ) /* EMPTY */;
*vp = ch_calloc( i + 1, sizeof( slap_verbmasks ) );
c.argc = argc;
c.argv = argv;
c.valx = -1;
+ c.line = line;
+ c.op = SLAP_CONFIG_ADD;
snprintf( c.log, sizeof( c.log ), "%s: line %d", fname, lineno );
rc = SLAP_CONF_UNKNOWN;