>From 2ab747aeeb1ea0c049cf6eaf6b15ea38f8088cd3 Mon Sep 17 00:00:00 2001 From: Rich Megginson <rmeggins@xxxxxxxxxx> Date: Mon, 8 Mar 2010 20:53:49 -0700 Subject: [PATCH] Add support for additional schema/matching rules included with 389 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 --- ldap/schema/60qmail.ldif | 4 ++-- ldap/servers/plugins/syntaxes/ces.c | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/ldap/schema/60qmail.ldif b/ldap/schema/60qmail.ldif index 8a62548..c118bef 100644 --- a/ldap/schema/60qmail.ldif +++ b/ldap/schema/60qmail.ldif @@ -134,8 +134,8 @@ attributeTypes: ( 1.3.6.1.4.1.7914.1.2.1.13 NAME 'qmailAccountPurge' DESC 'The earliest date when a mailMessageStore will be purged' - EQUALITY integerMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 + EQUALITY numericStringMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.36 SINGLE-VALUE ) # diff --git a/ldap/servers/plugins/syntaxes/ces.c b/ldap/servers/plugins/syntaxes/ces.c index 07abcd5..c0855d6 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, -- 1.5.5.6
-- 389-devel mailing list 389-devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/389-devel