summaryrefslogtreecommitdiffstats
path: root/ldap/servers/plugins/syntaxes
diff options
context:
space:
mode:
authorRich Megginson <rmeggins@redhat.com>2010-03-08 20:53:49 -0700
committerRich Megginson <rmeggins@redhat.com>2010-03-09 09:50:22 -0700
commit2db1f5a13b7198de00b2b14232110ab42fc361ac (patch)
tree9c32f0844fb28dc085ccf30aeb693b9846885c38 /ldap/servers/plugins/syntaxes
parentb8ff06dd240df947fee972fe13bb2826ebb02048 (diff)
downloadds-2db1f5a13b7198de00b2b14232110ab42fc361ac.tar.gz
ds-2db1f5a13b7198de00b2b14232110ab42fc361ac.tar.xz
ds-2db1f5a13b7198de00b2b14232110ab42fc361ac.zip
Add support for additional schema/matching rules included with 389
https://bugzilla.redhat.com/show_bug.cgi?id=559315 Resolves: bug 559315 Bug Description: Searching some attributes are now case sensitive when they were previously case-insensitive Reviewed by: nhosoi (Thanks!) Fix Description: 1) The 60qmail.ldif schema we ship used integerMatch and IA5 syntax because we used not to support numericString syntax and matching rules - these have been changed to use the standard qmail definitions 2) Allow IA5String syntax to use caseExactSubstringsMatch - this is required by krbPrincipalName
Diffstat (limited to 'ldap/servers/plugins/syntaxes')
-rw-r--r--ldap/servers/plugins/syntaxes/ces.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/ldap/servers/plugins/syntaxes/ces.c b/ldap/servers/plugins/syntaxes/ces.c
index 07abcd5d..c0855d64 100644
--- a/ldap/servers/plugins/syntaxes/ces.c
+++ b/ldap/servers/plugins/syntaxes/ces.c
@@ -85,12 +85,13 @@ static const char *caseExactOrderingMatch_names[] = {"caseExactOrderingMatch", "
static const char *caseExactSubstringsMatch_names[] = {"caseExactSubstringsMatch", "2.5.13.7", NULL};
static const char *caseExactIA5SubstringsMatch_names[] = {"caseExactIA5SubstringsMatch", CASEEXACTIA5SUBSTRINGSMATCH_OID, NULL};
-static char *dirString_syntaxes[] = {COUNTRYSTRING_SYNTAX_OID,
- DIRSTRING_SYNTAX_OID,
- PRINTABLESTRING_SYNTAX_OID,NULL};
static char *dirStringCompat_syntaxes[] = {COUNTRYSTRING_SYNTAX_OID,
PRINTABLESTRING_SYNTAX_OID,NULL};
static char *ia5String_syntaxes[] = {IA5STRING_SYNTAX_OID,NULL};
+static char *caseExactSubstrings_syntaxes[] = {IA5STRING_SYNTAX_OID, /* allow IA5 to use cesubstrs e.g. krbPrincipalName */
+ COUNTRYSTRING_SYNTAX_OID,
+ DIRSTRING_SYNTAX_OID,
+ PRINTABLESTRING_SYNTAX_OID,NULL};
/* for some reason vendorName and vendorVersion are dirstring but want
to use EQUALITY caseExactIA5Match ???? RFC 3045
@@ -171,7 +172,7 @@ DIRSTRING_SYNTAX_OID, 0, dirStringCompat_syntaxes}, /* matching rule desc */
"comparison, characters are not case folded in the Map preparation "
"step, and only Insignificant Space Handling is applied in the "
"Insignificant Character Handling step.",
-"1.3.6.1.4.1.1466.115.121.1.58", 0, dirString_syntaxes}, /* matching rule desc */
+"1.3.6.1.4.1.1466.115.121.1.58", 0, caseExactSubstrings_syntaxes}, /* matching rule desc */
{"caseExactSubstringsMatch-mr", VENDOR, DS_PACKAGE_VERSION, "caseExactSubstringsMatch matching rule plugin"}, /* plugin desc */
caseExactSubstringsMatch_names, /* matching rule name/oid/aliases */
NULL, NULL, NULL, ces_filter_sub, ces_values2keys,