mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-25 17:19:43 -05:00
Add entryDN MRA support. This is intended to be used:
(entryDN:isSubordinate:=dc=example,dc=net) isSubordinate should be implemented in component matching terms
This commit is contained in:
parent
f9c9219f98
commit
ee66a01b8c
1 changed files with 19 additions and 0 deletions
|
|
@ -182,6 +182,25 @@ static int test_mra_filter(
|
|||
return LDAP_INSUFFICIENT_ACCESS;
|
||||
}
|
||||
|
||||
if ( mra->ma_desc == slap_schema.si_ad_entryDN ) {
|
||||
struct berval *bv;
|
||||
int ret, rc;
|
||||
const char *text;
|
||||
|
||||
if( mra->ma_rule == a->a_desc->ad_type->sat_equality ) {
|
||||
bv = &e->e_nname;
|
||||
} else {
|
||||
bv = &e->e_name;
|
||||
}
|
||||
|
||||
rc = value_match( &ret, a->a_desc, mra->ma_rule, 0,
|
||||
bv, &mra->ma_value, &text );
|
||||
|
||||
if( rc != LDAP_SUCCESS ) return rc;
|
||||
if ( ret == 0 ) return LDAP_COMPARE_TRUE;
|
||||
return LDAP_COMPARE_FALSE;
|
||||
}
|
||||
|
||||
for(a = attrs_find( e->e_attrs, mra->ma_desc );
|
||||
a != NULL;
|
||||
a = attrs_find( a->a_next, mra->ma_desc ) )
|
||||
|
|
|
|||
Loading…
Reference in a new issue