From 69ba1a21bc6186fcb26e6f1e75226f9d4e69316a Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Tue, 3 Sep 2002 07:28:57 +0000 Subject: [PATCH] Extend checks to substrings rules. Need to kludge around LDAP's kludged builtin substrings rules. --- servers/slapd/at.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) 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; } -- 2.39.5