Don't allow suffixAliases were alias and aliased dn our the same.

This commit is contained in:
Kurt Zeilenga 1999-01-19 18:39:20 +00:00
parent 47d0c970d4
commit 3efaabe560

View file

@ -155,13 +155,28 @@ read_config( char *fname, Backend **bep, FILE *pfp )
"%s: line %d: suffixAlias line must appear inside a database definition (ignored)\n", "%s: line %d: suffixAlias line must appear inside a database definition (ignored)\n",
fname, lineno, 0 ); fname, lineno, 0 );
} else { } else {
char *dn = ch_strdup( cargv[1] ); char *alias, *aliased_dn;
(void) dn_normalize( dn );
charray_add( &be->be_suffixAlias, dn );
dn = ch_strdup( cargv[2] ); alias = ch_strdup( cargv[1] );
(void) dn_normalize( dn ); (void) dn_normalize( alias );
charray_add( &be->be_suffixAlias, dn );
aliased_dn = ch_strdup( cargv[2] );
(void) dn_normalize( aliased_dn );
if ( strcasecmp( alias, aliased_dn) ) {
Debug( LDAP_DEBUG_ANY,
"%s: line %d: suffixAlias %s is not different from aliased dn (ignored)\n",
fname, lineno, alias );
} else {
(void) dn_normalize_case( alias );
(void) dn_normalize_case( aliased_dn );
charray_add( &be->be_suffixAlias, alias );
charray_add( &be->be_suffixAlias, aliased_dn );
}
free(alias);
free(aliased_dn);
} }
/* set max deref depth */ /* set max deref depth */