mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-22 23:59:34 -05:00
Don't allow suffixAliases were alias and aliased dn our the same.
This commit is contained in:
parent
47d0c970d4
commit
3efaabe560
1 changed files with 21 additions and 6 deletions
|
|
@ -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",
|
||||
fname, lineno, 0 );
|
||||
} else {
|
||||
char *dn = ch_strdup( cargv[1] );
|
||||
(void) dn_normalize( dn );
|
||||
charray_add( &be->be_suffixAlias, dn );
|
||||
char *alias, *aliased_dn;
|
||||
|
||||
dn = ch_strdup( cargv[2] );
|
||||
(void) dn_normalize( dn );
|
||||
charray_add( &be->be_suffixAlias, dn );
|
||||
alias = ch_strdup( cargv[1] );
|
||||
(void) dn_normalize( alias );
|
||||
|
||||
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 */
|
||||
|
|
|
|||
Loading…
Reference in a new issue