mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
Return inappropriate matching if the syntaxes don't line up for
extensible matching
This commit is contained in:
parent
815e2ac717
commit
9eac390e2f
@ -237,14 +237,15 @@ static int test_mra_filter(
|
|||||||
return LDAP_INSUFFICIENT_ACCESS;
|
return LDAP_INSUFFICIENT_ACCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* no matching rule was provided, use the attribute's
|
||||||
|
equality rule if it supports extensible matching. */
|
||||||
if( mra->ma_rule == NULL &&
|
if( mra->ma_rule == NULL &&
|
||||||
mra->ma_desc->ad_type->sat_equality &&
|
mra->ma_desc->ad_type->sat_equality &&
|
||||||
mra->ma_desc->ad_type->sat_equality->smr_usage & SLAP_MR_EXT )
|
mra->ma_desc->ad_type->sat_equality->smr_usage & SLAP_MR_EXT )
|
||||||
{
|
{
|
||||||
mra->ma_rule = mra->ma_desc->ad_type->sat_equality;
|
mra->ma_rule = mra->ma_desc->ad_type->sat_equality;
|
||||||
}
|
|
||||||
|
|
||||||
if( mra->ma_rule == NULL ) {
|
} else {
|
||||||
return LDAP_INAPPROPRIATE_MATCHING;
|
return LDAP_INAPPROPRIATE_MATCHING;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -255,7 +256,7 @@ static int test_mra_filter(
|
|||||||
if( strcmp(mra->ma_rule->smr_syntax->ssyn_oid,
|
if( strcmp(mra->ma_rule->smr_syntax->ssyn_oid,
|
||||||
mra->ma_desc->ad_type->sat_syntax->ssyn_oid) != 0)
|
mra->ma_desc->ad_type->sat_syntax->ssyn_oid) != 0)
|
||||||
{
|
{
|
||||||
return LDAP_INVALID_SYNTAX;
|
return LDAP_INAPPROPRIATE_MATCHING;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(a = attrs_find( e->e_attrs, mra->ma_desc );
|
for(a = attrs_find( e->e_attrs, mra->ma_desc );
|
||||||
|
Loading…
Reference in New Issue
Block a user