mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-23 08:09: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",
|
"%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 */
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue