return LDAP_INSUFFICIENT_ACCESS;
}
- if( mra->ma_rule == NULL ) {
+ if( mra->ma_rule == NULL &&
+ mra->ma_desc->ad_type->sat_equality &&
+ mra->ma_desc->ad_type->sat_equality->smr_usage & SLAP_MR_EXT )
+ {
mra->ma_rule = mra->ma_desc->ad_type->sat_equality;
}
return LDAP_INAPPROPRIATE_MATCHING;
}
+ /* check to see if the matching rule is appropriate for
+ the syntax of the attribute. This check will need
+ to be extended to support other kinds of extensible
+ matching rules */
if( strcmp(mra->ma_rule->smr_syntax->ssyn_oid,
mra->ma_desc->ad_type->sat_syntax->ssyn_oid) != 0)
{