From: Kurt Zeilenga Date: Tue, 3 Sep 2002 07:28:57 +0000 (+0000) Subject: Extend checks to substrings rules. Need to kludge around X-Git-Tag: NO_SLAP_OP_BLOCKS~1032 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=69ba1a21bc6186fcb26e6f1e75226f9d4e69316a;p=openldap Extend checks to substrings rules. Need to kludge around LDAP's kludged builtin substrings rules. --- diff --git a/servers/slapd/at.c b/servers/slapd/at.c index 7e28fb6663..238b91f684 100644 --- a/servers/slapd/at.c +++ b/servers/slapd/at.c @@ -526,15 +526,23 @@ at_add( return SLAP_SCHERR_ATTR_BAD_MR; } -#if 0 - if( sat->sat_syntax != mr->smr_syntax ) { - if( mr->smr_compat_syntaxes == NULL ) { + /* due to funky LDAP builtin substring rules, we + * we check against the equality rule assertion + * syntax and compat syntaxes instead of those + * associated with the substrings rule. + */ + if( sat->sat_equality && + sat->sat_syntax != sat->sat_equality->smr_syntax ) + { + if( sat->sat_equality->smr_compat_syntaxes == NULL ) { *err = sat->sat_substr_oid; return SLAP_SCHERR_ATTR_BAD_MR; } - for(i=0; mr->smr_compat_syntaxes[i]; i++) { - if( sat->sat_syntax == mr->smr_compat_syntaxes[i] ) { + for(i=0; sat->sat_equality->smr_compat_syntaxes[i]; i++) { + if( sat->sat_syntax == + sat->sat_equality->smr_compat_syntaxes[i] ) + { i = -1; break; } @@ -545,7 +553,6 @@ at_add( return SLAP_SCHERR_ATTR_BAD_MR; } } -#endif sat->sat_substr = mr; }