#define SLAP_MR_DN_FOLD (0) /* TO BE DELETED */
#endif
-/* recycled validatation routines */
+/* validatation routines */
#define berValidate blobValidate
-/* unimplemented pretters */
-#define integerPretty NULL
-
-/* recycled matching routines */
-#define bitStringMatch octetStringMatch
-#define numericStringMatch caseIgnoreIA5Match
-#define objectIdentifierMatch octetStringMatch
-#define telephoneNumberMatch caseIgnoreIA5Match
-#define telephoneNumberSubstringsMatch caseIgnoreIA5SubstringsMatch
-#define generalizedTimeMatch caseIgnoreIA5Match
-#define generalizedTimeOrderingMatch caseIgnoreIA5Match
-#define uniqueMemberMatch dnMatch
-#define integerFirstComponentMatch integerMatch
+/* (new) normalization routines */
+#define caseExactNormalize NULL
+#define caseExactIA5Normalize NULL
+#define caseIgnoreNormalize NULL
+#define caseIgnoreIA5Normalize NULL
+#define distinguishedNameNormalize NULL
+#define integerNormalize NULL
+#define integerFirstComponentNormalize NULL
+#define numericStringNormalize NULL
+#define objectIdentifierNormalize NULL
+#define objectIdentifierFirstComponentNormalize NULL
+#define generalizedTimeNormalize NULL
+#define uniqueMemberNormalize NULL
+#define bitStringNormalize NULL
+#define telephoneNumberNormalize NULL
/* approx matching rules */
+#ifdef SLAP_NVALUES
+#define directoryStringApproxMatchOID NULL
+#define IA5StringApproxMatchOID NULL
+#else
#define directoryStringApproxMatchOID "1.3.6.1.4.1.4203.666.4.4"
#define directoryStringApproxMatch approxMatch
#define directoryStringApproxIndexer approxIndexer
#define IA5StringApproxMatch approxMatch
#define IA5StringApproxIndexer approxIndexer
#define IA5StringApproxFilter approxFilter
+#endif
-/* ordering matching rules */
-#define caseIgnoreOrderingMatch caseIgnoreMatch
-#define caseExactOrderingMatch caseExactMatch
-#define integerOrderingMatch integerMatch
+/* matching routines */
+#define bitStringMatch octetStringMatch
+#define bitStringIndexer octetStringIndexer
+#define bitStringFilter octetStringFilter
-/* unimplemented matching routines */
-#define caseIgnoreListMatch NULL
-#define caseIgnoreListSubstringsMatch NULL
-#define protocolInformationMatch NULL
+#define numericStringMatch caseIgnoreIA5Match
+#define numericStringIndexer NULL
+#define numericStringFilter NULL
+#define numericStringSubstringsIndexer NULL
+#define numericStringSubstringsFilter NULL
-#ifdef SLAPD_ACI_ENABLED
-#define OpenLDAPaciMatch NULL
-#endif
-#ifdef SLAPD_AUTHPASSWD
-#define authPasswordMatch NULL
-#endif
+#define objectIdentifierMatch octetStringMatch
+#define objectIdentifierIndexer caseIgnoreIA5Indexer
+#define objectIdentifierFilter caseIgnoreIA5Filter
+
+#define generalizedTimeMatch caseIgnoreIA5Match
+#define generalizedTimeOrderingMatch caseIgnoreIA5Match
+
+#define uniqueMemberMatch dnMatch
+#define numericStringSubstringsMatch NULL
-/* recycled indexing/filtering routines */
-#define dnIndexer caseExactIgnoreIndexer
-#define dnFilter caseExactIgnoreFilter
-#define bitStringFilter octetStringFilter
-#define bitStringIndexer octetStringIndexer
+#define caseExactIndexer caseExactIgnoreIndexer
+#define caseExactFilter caseExactIgnoreFilter
+#define caseExactOrderingMatch caseExactMatch
+#define caseExactSubstringsMatch caseExactIgnoreSubstringsMatch
+#define caseExactSubstringsIndexer caseExactIgnoreSubstringsIndexer
+#define caseExactSubstringsFilter caseExactIgnoreSubstringsFilter
+#define caseIgnoreIndexer caseExactIgnoreIndexer
+#define caseIgnoreFilter caseExactIgnoreFilter
+#define caseIgnoreOrderingMatch caseIgnoreMatch
+#define caseIgnoreSubstringsMatch caseExactIgnoreSubstringsMatch
+#define caseIgnoreSubstringsIndexer caseExactIgnoreSubstringsIndexer
+#define caseIgnoreSubstringsFilter caseExactIgnoreSubstringsFilter
-#define telephoneNumberIndexer caseIgnoreIA5Indexer
-#define telephoneNumberFilter caseIgnoreIA5Filter
+#define integerOrderingMatch integerMatch
+#define integerFirstComponentMatch integerMatch
+
+#define distinguishedNameMatch dnMatch
+#define distinguishedNameIndexer caseExactIgnoreIndexer
+#define distinguishedNameFilter caseExactIgnoreFilter
+
+#define telephoneNumberMatch caseIgnoreIA5Match
+#define telephoneNumberSubstringsMatch caseIgnoreIA5SubstringsMatch
+#define telephoneNumberIndexer caseIgnoreIA5Indexer
+#define telephoneNumberFilter caseIgnoreIA5Filter
#define telephoneNumberSubstringsIndexer caseIgnoreIA5SubstringsIndexer
#define telephoneNumberSubstringsFilter caseIgnoreIA5SubstringsFilter
+
static char *bvcasechr( struct berval *bv, unsigned char c, ber_len_t *len )
{
ber_len_t i;
{
ber_len_t v_len = value->bv_len;
ber_len_t av_len = ((struct berval *) assertedValue)->bv_len;
+
int match = memcmp( value->bv_val,
((struct berval *) assertedValue)->bv_val,
(v_len < av_len ? v_len : av_len) );
- if( match == 0 )
- match = v_len - av_len;
+
+ if( match == 0 ) match = v_len - av_len;
+
*matchp = match;
return LDAP_SUCCESS;
}
}
static int
-nameUIDNormalize(
+xnameUIDNormalize(
Syntax *syntax,
struct berval *val,
struct berval *normalized )
}
static int
-UTF8StringNormalize(
+xUTF8StringNormalize(
Syntax *syntax,
struct berval *val,
struct berval *normalized )
/* Returns Unicode canonically normalized copy of a substring assertion
* Skipping attribute description */
static SubstringsAssertion *
-UTF8SubstringsassertionNormalize(
+UTF8SubstringsAssertionNormalize(
SubstringsAssertion *sa,
unsigned casefold )
{
}
nav = left.bv_val;
- sub = UTF8SubstringsassertionNormalize( assertedValue, casefold );
+ sub = UTF8SubstringsAssertionNormalize( assertedValue, casefold );
if( sub == NULL ) {
match = -1;
goto done;
casefold = ( mr != slap_schema.si_mr_caseExactSubstringsMatch )
? LDAP_UTF8_CASEFOLD : LDAP_UTF8_NOCASEFOLD;
- sa = UTF8SubstringsassertionNormalize( assertedValue, casefold );
+ sa = UTF8SubstringsAssertionNormalize( assertedValue, casefold );
if( sa == NULL ) {
*keysp = NULL;
return LDAP_SUCCESS;
/* Remove all spaces and '-' characters */
static int
-telephoneNumberNormalize(
+xtelephoneNumberNormalize(
Syntax *syntax,
struct berval *val,
struct berval *normalized )
}
static int
-integerNormalize(
+xintegerNormalize(
Syntax *syntax,
struct berval *val,
struct berval *normalized )
for( i=0; values[i].bv_val != NULL; i++ ) {
struct berval norm;
- integerNormalize( syntax, &values[i], &norm );
+ xintegerNormalize( syntax, &values[i], &norm );
HASH_Init( &HASHcontext );
if( prefix != NULL && prefix->bv_len > 0 ) {
slen = syntax->ssyn_oidlen;
mlen = mr->smr_oidlen;
- integerNormalize( syntax, assertedValue, &norm );
+ xintegerNormalize( syntax, assertedValue, &norm );
keys = ch_malloc( sizeof( struct berval ) * 2 );
}
static int
-IA5StringNormalize(
+xIA5StringNormalize(
Syntax *syntax,
struct berval *val,
struct berval *normalized )
}
static int
-numericStringNormalize(
+xnumericStringNormalize(
Syntax *syntax,
struct berval *val,
struct berval *normalized )
asn1_integer2str(xcert->cert_info->serialNumber, &serial);
X509_free(xcert);
- integerNormalize( slap_schema.si_syn_integer,
+ xintegerNormalize( slap_schema.si_syn_integer,
&serial, &keys[i] );
ber_memfree(serial.bv_val);
#ifdef NEW_LOGGING
if( ret != LDAP_SUCCESS ) return ret;
keys = ch_malloc( sizeof( struct berval ) * 2 );
- integerNormalize( syntax, &asserted_serial, &keys[0] );
+ xintegerNormalize( syntax, &asserted_serial, &keys[0] );
keys[1].bv_val = NULL;
*keysp = keys;
#ifdef SUPPORT_OBSOLETE_UTC_SYNTAX
static int
-utcTimeNormalize(
+xutcTimeNormalize(
Syntax *syntax,
struct berval *val,
struct berval *normalized )
}
static int
-generalizedTimeNormalize(
+xgeneralizedTimeNormalize(
Syntax *syntax,
struct berval *val,
struct berval *normalized )
X_BINARY X_NOT_H_R ")",
SLAP_SYNTAX_BINARY|SLAP_SYNTAX_BER, berValidate, NULL, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.11 DESC 'Country String' )",
- 0, countryStringValidate, IA5StringNormalize, NULL},
+ 0, countryStringValidate, xIA5StringNormalize, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.12 DESC 'Distinguished Name' )",
0, dnValidate, dnNormalize2, dnPretty2},
{"( 1.3.6.1.4.1.1466.115.121.1.13 DESC 'Data Quality' )",
{"( 1.3.6.1.4.1.1466.115.121.1.14 DESC 'Delivery Method' )",
0, NULL, NULL, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.15 DESC 'Directory String' )",
- 0, UTF8StringValidate, UTF8StringNormalize, NULL},
+ 0, UTF8StringValidate, xUTF8StringNormalize, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.16 DESC 'DIT Content Rule Description' )",
0, NULL, NULL, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.17 DESC 'DIT Structure Rule Description' )",
{"( 1.3.6.1.4.1.1466.115.121.1.21 DESC 'Enhanced Guide' )",
0, NULL, NULL, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.22 DESC 'Facsimile Telephone Number' )",
- 0, printablesStringValidate, telephoneNumberNormalize, NULL},
+ 0, printablesStringValidate, xtelephoneNumberNormalize, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.23 DESC 'Fax' " X_NOT_H_R ")",
SLAP_SYNTAX_BLOB, NULL, NULL, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.24 DESC 'Generalized Time' )",
- 0, generalizedTimeValidate, generalizedTimeNormalize, NULL},
+ 0, generalizedTimeValidate, xgeneralizedTimeNormalize, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.25 DESC 'Guide' )",
0, NULL, NULL, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.26 DESC 'IA5 String' )",
- 0, IA5StringValidate, IA5StringNormalize, NULL},
+ 0, IA5StringValidate, xIA5StringNormalize, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.27 DESC 'Integer' )",
- 0, integerValidate, integerNormalize, NULL},
+ 0, integerValidate, xintegerNormalize, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.28 DESC 'JPEG' " X_NOT_H_R ")",
SLAP_SYNTAX_BLOB, blobValidate, NULL, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.29 DESC 'Master And Shadow Access Points' )",
{"( 1.3.6.1.4.1.1466.115.121.1.33 DESC 'MHS OR Address' )",
0, NULL, NULL, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.34 DESC 'Name And Optional UID' )",
- 0, nameUIDValidate, nameUIDNormalize, NULL},
+ 0, nameUIDValidate, xnameUIDNormalize, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.35 DESC 'Name Form Description' )",
0, NULL, NULL, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.36 DESC 'Numeric String' )",
- 0, numericStringValidate, numericStringNormalize, NULL},
+ 0, numericStringValidate, xnumericStringNormalize, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.37 DESC 'Object Class Description' )",
0, NULL, NULL, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.38 DESC 'OID' )",
0, oidValidate, NULL, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.39 DESC 'Other Mailbox' )",
- 0, IA5StringValidate, IA5StringNormalize, NULL},
+ 0, IA5StringValidate, xIA5StringNormalize, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.40 DESC 'Octet String' )",
0, blobValidate, NULL, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.41 DESC 'Postal Address' )",
- 0, UTF8StringValidate, UTF8StringNormalize, NULL},
+ 0, UTF8StringValidate, xUTF8StringNormalize, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.42 DESC 'Protocol Information' )",
0, NULL, NULL, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.43 DESC 'Presentation Address' )",
0, NULL, NULL, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.44 DESC 'Printable String' )",
- 0, printableStringValidate, IA5StringNormalize, NULL},
+ 0, printableStringValidate, xIA5StringNormalize, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.45 DESC 'SubtreeSpecification' "
X_BINARY X_NOT_H_R ")",
SLAP_SYNTAX_BINARY|SLAP_SYNTAX_BER, NULL, NULL, NULL},
X_BINARY X_NOT_H_R ")",
SLAP_SYNTAX_BINARY|SLAP_SYNTAX_BER, berValidate, NULL, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.50 DESC 'Telephone Number' )",
- 0, printableStringValidate, telephoneNumberNormalize, NULL},
+ 0, printableStringValidate, xtelephoneNumberNormalize, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.51 DESC 'Teletex Terminal Identifier' )",
0, NULL, NULL, NULL},
{"( 1.3.6.1.4.1.1466.115.121.1.52 DESC 'Telex Number' )",
- 0, printablesStringValidate, IA5StringNormalize, NULL},
+ 0, printablesStringValidate, xIA5StringNormalize, NULL},
#ifdef SUPPORT_OBSOLETE_UTC_SYNTAX
{"( 1.3.6.1.4.1.1466.115.121.1.53 DESC 'UTC Time' )",
- 0, utcTimeValidate, utcTimeNormalize, NULL},
+ 0, utcTimeValidate, xutcTimeNormalize, NULL},
#endif
{"( 1.3.6.1.4.1.1466.115.121.1.54 DESC 'LDAP Syntax Description' )",
0, NULL, NULL, NULL},
* EQUALITY matching rules must be listed after associated APPROX
* matching rules. So, we list all APPROX matching rules first.
*/
+#ifndef SLAP_NVALUES
{"( " directoryStringApproxMatchOID " NAME 'directoryStringApproxMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )",
SLAP_MR_HIDE | SLAP_MR_EQUALITY_APPROX | SLAP_MR_EXT, NULL,
- NULL, NULL,
- directoryStringApproxMatch,
- directoryStringApproxIndexer,
- directoryStringApproxFilter,
+ NULL, NULL, directoryStringApproxMatch,
+ directoryStringApproxIndexer, directoryStringApproxFilter,
NULL},
{"( " IA5StringApproxMatchOID " NAME 'IA5StringApproxMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )",
SLAP_MR_HIDE | SLAP_MR_EQUALITY_APPROX | SLAP_MR_EXT, NULL,
- NULL, NULL,
- IA5StringApproxMatch,
- IA5StringApproxIndexer,
- IA5StringApproxFilter,
+ NULL, NULL, IA5StringApproxMatch,
+ IA5StringApproxIndexer, IA5StringApproxFilter,
NULL},
+#endif
/*
* Other matching rules
{"( 2.5.13.0 NAME 'objectIdentifierMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )",
SLAP_MR_EQUALITY | SLAP_MR_EXT, NULL,
- NULL, NULL,
- objectIdentifierMatch, caseIgnoreIA5Indexer, caseIgnoreIA5Filter,
+ NULL,
+ objectIdentifierNormalize, objectIdentifierMatch,
+ objectIdentifierIndexer, objectIdentifierFilter,
NULL},
{"( 2.5.13.1 NAME 'distinguishedNameMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )",
SLAP_MR_EQUALITY | SLAP_MR_EXT, NULL,
- NULL, NULL,
- dnMatch, dnIndexer, dnFilter,
+ NULL,
+ distinguishedNameNormalize, distinguishedNameMatch,
+ distinguishedNameIndexer, distinguishedNameFilter,
NULL},
{"( 2.5.13.2 NAME 'caseIgnoreMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )",
SLAP_MR_EQUALITY | SLAP_MR_EXT | SLAP_MR_DN_FOLD,
directoryStringSyntaxes,
- NULL, NULL,
- caseIgnoreMatch, caseExactIgnoreIndexer, caseExactIgnoreFilter,
+ NULL,
+ caseIgnoreNormalize, caseIgnoreMatch,
+ caseIgnoreIndexer, caseIgnoreFilter,
directoryStringApproxMatchOID },
{"( 2.5.13.3 NAME 'caseIgnoreOrderingMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )",
SLAP_MR_ORDERING, directoryStringSyntaxes,
- NULL, NULL,
- caseIgnoreOrderingMatch, NULL, NULL,
- NULL},
+ NULL, caseIgnoreNormalize, caseIgnoreOrderingMatch,
+ NULL, NULL, NULL},
{"( 2.5.13.4 NAME 'caseIgnoreSubstringsMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )",
SLAP_MR_SUBSTR, NULL,
NULL, NULL,
caseExactIgnoreSubstringsMatch,
- caseExactIgnoreSubstringsIndexer,
- caseExactIgnoreSubstringsFilter,
+ caseExactIgnoreSubstringsIndexer, caseExactIgnoreSubstringsFilter,
NULL},
{"( 2.5.13.5 NAME 'caseExactMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )",
SLAP_MR_EQUALITY | SLAP_MR_EXT, directoryStringSyntaxes,
- NULL, NULL,
- caseExactMatch, caseExactIgnoreIndexer, caseExactIgnoreFilter,
+ NULL,
+ caseExactNormalize, caseExactMatch,
+ caseExactIndexer, caseExactFilter,
directoryStringApproxMatchOID },
{"( 2.5.13.6 NAME 'caseExactOrderingMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )",
SLAP_MR_ORDERING, directoryStringSyntaxes,
- NULL, NULL,
- caseExactOrderingMatch, NULL, NULL,
- NULL},
+ NULL, caseExactNormalize, caseExactOrderingMatch,
+ NULL, NULL, NULL},
{"( 2.5.13.7 NAME 'caseExactSubstringsMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )",
SLAP_MR_SUBSTR, directoryStringSyntaxes,
- NULL, NULL,
- caseExactIgnoreSubstringsMatch,
- caseExactIgnoreSubstringsIndexer,
- caseExactIgnoreSubstringsFilter,
+ NULL,
+ NULL, caseExactSubstringsMatch,
+ caseExactSubstringsIndexer, caseExactSubstringsFilter,
NULL},
{"( 2.5.13.8 NAME 'numericStringMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.36 )",
SLAP_MR_EQUALITY | SLAP_MR_EXT | SLAP_MR_DN_FOLD, NULL,
- NULL, NULL,
- caseIgnoreIA5Match,
- caseIgnoreIA5Indexer,
- caseIgnoreIA5Filter,
+ NULL,
+ numericStringNormalize, numericStringMatch,
+ numericStringIndexer, numericStringFilter,
NULL},
{"( 2.5.13.10 NAME 'numericStringSubstringsMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )",
SLAP_MR_SUBSTR, NULL,
- NULL, NULL,
- caseIgnoreIA5SubstringsMatch,
- caseIgnoreIA5SubstringsIndexer,
- caseIgnoreIA5SubstringsFilter,
+ NULL,
+ NULL, numericStringSubstringsMatch,
+ numericStringSubstringsIndexer, numericStringSubstringsFilter,
NULL},
{"( 2.5.13.11 NAME 'caseIgnoreListMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )",
SLAP_MR_EQUALITY | SLAP_MR_EXT | SLAP_MR_DN_FOLD, NULL,
- NULL, NULL,
- caseIgnoreListMatch, NULL, NULL,
- NULL},
+ NULL, NULL, NULL, NULL, NULL, NULL},
{"( 2.5.13.12 NAME 'caseIgnoreListSubstringsMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )",
SLAP_MR_SUBSTR, NULL,
- NULL, NULL,
- caseIgnoreListSubstringsMatch, NULL, NULL,
- NULL},
+ NULL, NULL, NULL, NULL, NULL, NULL},
{"( 2.5.13.13 NAME 'booleanMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )",
SLAP_MR_EQUALITY | SLAP_MR_EXT, NULL,
- NULL, NULL,
- booleanMatch, NULL, NULL,
- NULL},
+ NULL, NULL, booleanMatch, NULL, NULL, NULL},
{"( 2.5.13.14 NAME 'integerMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )",
SLAP_MR_EQUALITY | SLAP_MR_EXT, NULL,
- NULL, NULL,
- integerMatch, integerIndexer, integerFilter,
+ NULL,
+ integerNormalize, integerMatch,
+ integerIndexer, integerFilter,
NULL},
{"( 2.5.13.15 NAME 'integerOrderingMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )",
- SLAP_MR_ORDERING, NULL,
- NULL, NULL,
- integerOrderingMatch, NULL, NULL,
+ SLAP_MR_ORDERING, NULL, NULL,
+ integerNormalize, integerOrderingMatch,
+ integerIndexer, integerFilter,
NULL},
{"( 2.5.13.16 NAME 'bitStringMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.6 )",
SLAP_MR_EQUALITY | SLAP_MR_EXT, NULL,
- NULL, NULL,
- bitStringMatch, bitStringIndexer, bitStringFilter,
+ NULL,
+ bitStringNormalize, bitStringMatch,
+ bitStringIndexer, bitStringFilter,
NULL},
{"( 2.5.13.17 NAME 'octetStringMatch' "
{"( 2.5.13.20 NAME 'telephoneNumberMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.50 )",
SLAP_MR_EQUALITY | SLAP_MR_EXT | SLAP_MR_DN_FOLD, NULL,
- NULL, NULL,
- telephoneNumberMatch,
- telephoneNumberIndexer,
- telephoneNumberFilter,
+ NULL,
+ telephoneNumberNormalize, telephoneNumberMatch,
+ telephoneNumberIndexer, telephoneNumberFilter,
NULL},
{"( 2.5.13.21 NAME 'telephoneNumberSubstringsMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )",
SLAP_MR_SUBSTR, NULL,
- NULL, NULL,
- telephoneNumberSubstringsMatch,
- telephoneNumberSubstringsIndexer,
- telephoneNumberSubstringsFilter,
+ NULL, NULL, telephoneNumberSubstringsMatch,
+ telephoneNumberSubstringsIndexer, telephoneNumberSubstringsFilter,
NULL},
{"( 2.5.13.22 NAME 'presentationAddressMatch' "
{"( 2.5.13.23 NAME 'uniqueMemberMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.34 )",
SLAP_MR_EQUALITY | SLAP_MR_EXT, NULL,
+ NULL,
+ uniqueMemberNormalize, uniqueMemberMatch,
NULL, NULL,
- uniqueMemberMatch, NULL, NULL,
NULL},
{"( 2.5.13.24 NAME 'protocolInformationMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.42 )",
SLAP_MR_EQUALITY | SLAP_MR_EXT, NULL,
- NULL, NULL,
- protocolInformationMatch, NULL, NULL,
- NULL},
+ NULL, NULL, NULL, NULL, NULL, NULL},
{"( 2.5.13.27 NAME 'generalizedTimeMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 )",
SLAP_MR_EQUALITY | SLAP_MR_EXT, NULL,
+ NULL,
+ generalizedTimeNormalize, generalizedTimeMatch,
NULL, NULL,
- generalizedTimeMatch, NULL, NULL,
NULL},
{"( 2.5.13.28 NAME 'generalizedTimeOrderingMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 )",
SLAP_MR_ORDERING, NULL,
+ NULL,
+ generalizedTimeOrderingMatch, generalizedTimeOrderingMatch,
NULL, NULL,
- generalizedTimeOrderingMatch, NULL, NULL,
NULL},
{"( 2.5.13.29 NAME 'integerFirstComponentMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )",
SLAP_MR_EQUALITY | SLAP_MR_EXT, integerFirstComponentMatchSyntaxes,
+ NULL,
+ integerFirstComponentNormalize, integerMatch,
NULL, NULL,
- integerFirstComponentMatch, NULL, NULL,
NULL},
{"( 2.5.13.30 NAME 'objectIdentifierFirstComponentMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )",
SLAP_MR_EQUALITY | SLAP_MR_EXT,
objectIdentifierFirstComponentMatchSyntaxes,
+ NULL,
+ objectIdentifierFirstComponentNormalize, objectIdentifierMatch,
NULL, NULL,
- objectIdentifierFirstComponentMatch, NULL, NULL,
NULL},
+#ifdef SLAP_NVALUES
#ifdef HAVE_TLS
{"( 2.5.13.34 NAME 'certificateExactMatch' "
"SYNTAX 1.2.826.0.1.3344810.7.1 )",
certificateExactMatch,
certificateExactIndexer, certificateExactFilter,
NULL},
+#endif
#endif
{"( 1.3.6.1.4.1.1466.109.114.1 NAME 'caseExactIA5Match' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )",
SLAP_MR_EQUALITY | SLAP_MR_EXT, NULL,
- NULL, NULL,
- caseExactIA5Match, caseExactIA5Indexer, caseExactIA5Filter,
+ NULL,
+ caseExactIA5Normalize, caseExactIA5Match,
+ caseExactIA5Indexer, caseExactIA5Filter,
IA5StringApproxMatchOID },
{"( 1.3.6.1.4.1.1466.109.114.2 NAME 'caseIgnoreIA5Match' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )",
SLAP_MR_EQUALITY | SLAP_MR_EXT | SLAP_MR_DN_FOLD, NULL,
- NULL, NULL,
- caseIgnoreIA5Match, caseIgnoreIA5Indexer, caseIgnoreIA5Filter,
+ NULL,
+ NULL, caseIgnoreIA5Match,
+ caseIgnoreIA5Indexer, caseIgnoreIA5Filter,
IA5StringApproxMatchOID },
{"( 1.3.6.1.4.1.1466.109.114.3 NAME 'caseIgnoreIA5SubstringsMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )",
SLAP_MR_SUBSTR, NULL,
- NULL, NULL,
- caseIgnoreIA5SubstringsMatch,
- caseIgnoreIA5SubstringsIndexer,
- caseIgnoreIA5SubstringsFilter,
+ NULL,
+ NULL, caseIgnoreIA5SubstringsMatch,
+ caseIgnoreIA5SubstringsIndexer, caseIgnoreIA5SubstringsFilter,
NULL},
{"( 1.3.6.1.4.1.4203.1.2.1 NAME 'caseExactIA5SubstringsMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )",
SLAP_MR_SUBSTR, NULL,
- NULL, NULL,
- caseExactIA5SubstringsMatch,
- caseExactIA5SubstringsIndexer,
- caseExactIA5SubstringsFilter,
+ NULL,
+ NULL, caseExactIA5SubstringsMatch,
+ caseExactIA5SubstringsIndexer, caseExactIA5SubstringsFilter,
NULL},
#ifdef SLAPD_AUTHPASSWD
{"( 1.2.840.113556.1.4.803 NAME 'integerBitAndMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )",
SLAP_MR_EXT, NULL,
- NULL, NULL,
- integerBitAndMatch, NULL, NULL,
+ NULL,
+ NULL, integerBitAndMatch, NULL, NULL,
NULL},
{"( 1.2.840.113556.1.4.804 NAME 'integerBitOrMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )",
SLAP_MR_EXT, NULL,
- NULL, NULL,
- integerBitOrMatch, NULL, NULL,
+ NULL,
+ NULL, integerBitOrMatch, NULL, NULL,
NULL},
{NULL, SLAP_MR_NONE, NULL,