mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-06 10:46:21 +08: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
@ -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 New Issue
Block a user