/* recycled matching routines */
#define bitStringMatch octetStringMatch
#define numericStringMatch caseIgnoreIA5Match
-#define objectIdentifierMatch caseIgnoreIA5Match
+#define objectIdentifierMatch octetStringMatch
#define telephoneNumberMatch caseIgnoreIA5Match
#define telephoneNumberSubstringsMatch caseIgnoreIA5SubstringsMatch
#define generalizedTimeMatch caseIgnoreIA5Match
}
/* Index generation function */
-static int octetStringIndexer(
+int octetStringIndexer(
slap_mask_t use,
slap_mask_t flags,
Syntax *syntax,
}
keys[i].bv_val = NULL;
+ keys[i].bv_len = 0;
*keysp = keys;
}
/* Index generation function */
-static int octetStringFilter(
+int octetStringFilter(
slap_mask_t use,
slap_mask_t flags,
Syntax *syntax,
MatchingRule *mr,
struct berval *prefix,
- void * assertValue,
+ void * assertedValue,
BerVarray *keysp )
{
size_t slen, mlen;
BerVarray keys;
HASH_CONTEXT HASHcontext;
unsigned char HASHdigest[HASH_BYTES];
- struct berval *value = (struct berval *) assertValue;
+ struct berval *value = (struct berval *) assertedValue;
struct berval digest;
digest.bv_val = HASHdigest;
digest.bv_len = sizeof(HASHdigest);
ber_dupbv( keys, &digest );
keys[1].bv_val = NULL;
+ keys[1].bv_len = 0;
*keysp = keys;
Syntax *syntax,
MatchingRule *mr,
struct berval *prefix,
- void * assertValue,
+ void * assertedValue,
BerVarray *keysp )
{
char *c;
BerVarray keys;
/* Yes, this is necessary */
- val = UTF8bvnormalize( ((struct berval *)assertValue),
+ val = UTF8bvnormalize( ((struct berval *)assertedValue),
NULL, LDAP_UTF8_APPROX );
if( val == NULL || val->bv_val == NULL ) {
keys = (struct berval *)ch_malloc( sizeof(struct berval) );
Syntax *syntax,
MatchingRule *mr,
struct berval *prefix,
- void * assertValue,
+ void * assertedValue,
BerVarray *keysp )
{
BerVarray keys;
keys = (struct berval *)ch_malloc( sizeof( struct berval * ) * 2 );
/* Yes, this is necessary */
- s = UTF8normalize( ((struct berval *)assertValue),
+ s = UTF8normalize( ((struct berval *)assertedValue),
UTF8_NOCASEFOLD );
if( s == NULL ) {
keys[0] = NULL;
Syntax *syntax,
MatchingRule *mr,
struct berval *prefix,
- void * assertValue,
+ void * assertedValue,
BerVarray *keysp )
{
unsigned casefold;
casefold = ( mr != caseExactMatchingRule )
? LDAP_UTF8_CASEFOLD : LDAP_UTF8_NOCASEFOLD;
- UTF8bvnormalize( (struct berval *) assertValue, &value, casefold );
+ UTF8bvnormalize( (struct berval *) assertedValue, &value, casefold );
/* This usually happens if filter contains bad UTF8 */
if( value.bv_val == NULL ) {
keys = ch_malloc( sizeof( struct berval ) );
Syntax *syntax,
MatchingRule *mr,
struct berval *prefix,
- void * assertValue,
+ void * assertedValue,
BerVarray *keysp )
{
SubstringsAssertion *sa;
casefold = ( mr != caseExactSubstringsMatchingRule )
? LDAP_UTF8_CASEFOLD : LDAP_UTF8_NOCASEFOLD;
- sa = UTF8SubstringsassertionNormalize( assertValue, casefold );
+ sa = UTF8SubstringsassertionNormalize( assertedValue, casefold );
if( sa == NULL ) {
*keysp = NULL;
return LDAP_SUCCESS;
Syntax *syntax,
MatchingRule *mr,
struct berval *prefix,
- void * assertValue,
+ void * assertedValue,
BerVarray *keysp )
{
size_t slen, mlen;
slen = syntax->ssyn_oidlen;
mlen = mr->smr_oidlen;
- integerNormalize( syntax, assertValue, &norm );
+ integerNormalize( syntax, assertedValue, &norm );
keys = ch_malloc( sizeof( struct berval ) * 2 );
Syntax *syntax,
MatchingRule *mr,
struct berval *prefix,
- void * assertValue,
+ void * assertedValue,
BerVarray *keysp )
{
size_t slen, mlen;
slen = syntax->ssyn_oidlen;
mlen = mr->smr_oidlen;
- value = (struct berval *) assertValue;
+ value = (struct berval *) assertedValue;
keys = ch_malloc( sizeof( struct berval ) * 2 );
Syntax *syntax,
MatchingRule *mr,
struct berval *prefix,
- void * assertValue,
+ void * assertedValue,
BerVarray *keysp )
{
- SubstringsAssertion *sa = assertValue;
+ SubstringsAssertion *sa = assertedValue;
char pre;
ber_len_t nkeys = 0;
size_t slen, mlen, klen;
Syntax *syntax,
MatchingRule *mr,
struct berval *prefix,
- void * assertValue,
+ void * assertedValue,
BerVarray *keysp )
{
size_t slen, mlen;
slen = syntax->ssyn_oidlen;
mlen = mr->smr_oidlen;
- ber_dupbv( &value, (struct berval *) assertValue );
+ ber_dupbv( &value, (struct berval *) assertedValue );
ldap_pvt_str2lower( value.bv_val );
keys = ch_malloc( sizeof( struct berval ) * 2 );
Syntax *syntax,
MatchingRule *mr,
struct berval *prefix,
- void * assertValue,
+ void * assertedValue,
BerVarray *keysp )
{
- SubstringsAssertion *sa = assertValue;
+ SubstringsAssertion *sa = assertedValue;
char pre;
ber_len_t nkeys = 0;
size_t slen, mlen, klen;
Syntax *syntax,
MatchingRule *mr,
struct berval *prefix,
- void * assertValue,
+ void * assertedValue,
BerVarray *keysp )
{
BerVarray keys;
struct berval asserted_serial;
- serial_and_issuer_parse(assertValue,
+ serial_and_issuer_parse(assertedValue,
&asserted_serial,
NULL);
return LDAP_SUCCESS;
}
-static struct syntax_defs_rec {
- char *sd_desc;
#define X_BINARY "X-BINARY-TRANSFER-REQUIRED 'TRUE' "
#define X_NOT_H_R "X-NOT-HUMAN-READABLE 'TRUE' "
- int sd_flags;
- slap_syntax_validate_func *sd_validate;
- slap_syntax_transform_func *sd_normalize;
- slap_syntax_transform_func *sd_pretty;
-#ifdef SLAPD_BINARY_CONVERSION
- slap_syntax_transform_func *sd_ber2str;
- slap_syntax_transform_func *sd_str2ber;
-#endif
-} syntax_defs[] = {
+
+static slap_syntax_defs_rec syntax_defs[] = {
{"( 1.3.6.1.4.1.1466.115.121.1.1 DESC 'ACI Item' "
X_BINARY X_NOT_H_R ")",
SLAP_SYNTAX_BINARY|SLAP_SYNTAX_BER, NULL, NULL, NULL},
* 2.5.13.43 readerAndKeyIDMatch
* 2.5.13.44 attributeIntegrityMatch
*/
-static struct mrule_defs_rec {
- char * mrd_desc;
- slap_mask_t mrd_usage;
- slap_mr_convert_func * mrd_convert;
- slap_mr_normalize_func * mrd_normalize;
- slap_mr_match_func * mrd_match;
- slap_mr_indexer_func * mrd_indexer;
- slap_mr_filter_func * mrd_filter;
-
- char * mrd_associated;
-} mrule_defs[] = {
+static slap_mrule_defs_rec mrule_defs[] = {
/*
* EQUALITY matching rules must be listed after associated APPROX
* matching rules. So, we list all APPROX matching rules first.
{"( 2.5.13.4 NAME 'caseIgnoreSubstringsMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )",
- SLAP_MR_SUBSTR | SLAP_MR_EXT,
+ SLAP_MR_SUBSTR,
NULL, NULL,
caseExactIgnoreSubstringsMatch,
caseExactIgnoreSubstringsIndexer,
{"( 2.5.13.7 NAME 'caseExactSubstringsMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )",
- SLAP_MR_SUBSTR | SLAP_MR_EXT,
+ SLAP_MR_SUBSTR,
NULL, NULL,
caseExactIgnoreSubstringsMatch,
caseExactIgnoreSubstringsIndexer,
{"( 2.5.13.10 NAME 'numericStringSubstringsMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )",
- SLAP_MR_SUBSTR | SLAP_MR_EXT,
+ SLAP_MR_SUBSTR,
NULL, NULL,
caseIgnoreIA5SubstringsMatch,
caseIgnoreIA5SubstringsIndexer,
{"( 2.5.13.12 NAME 'caseIgnoreListSubstringsMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )",
- SLAP_MR_SUBSTR | SLAP_MR_EXT,
+ SLAP_MR_SUBSTR,
NULL, NULL,
caseIgnoreListSubstringsMatch, NULL, NULL,
NULL},
{"( 2.5.13.21 NAME 'telephoneNumberSubstringsMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )",
- SLAP_MR_SUBSTR | SLAP_MR_EXT,
+ SLAP_MR_SUBSTR,
NULL, NULL,
telephoneNumberSubstringsMatch,
telephoneNumberSubstringsIndexer,
assert( schema_init_done == 0 );
for ( i=0; syntax_defs[i].sd_desc != NULL; i++ ) {
- res = register_syntax( syntax_defs[i].sd_desc,
- syntax_defs[i].sd_flags,
- syntax_defs[i].sd_validate,
- syntax_defs[i].sd_normalize,
- syntax_defs[i].sd_pretty
-#ifdef SLAPD_BINARY_CONVERSION
- ,
- syntax_defs[i].sd_ber2str,
- syntax_defs[i].sd_str2ber
-#endif
- );
+ res = register_syntax( &syntax_defs[i] );
if ( res ) {
fprintf( stderr, "slap_schema_init: Error registering syntax %s\n",
continue;
}
- res = register_matching_rule(
- mrule_defs[i].mrd_desc,
- mrule_defs[i].mrd_usage,
- mrule_defs[i].mrd_convert,
- mrule_defs[i].mrd_normalize,
- mrule_defs[i].mrd_match,
- mrule_defs[i].mrd_indexer,
- mrule_defs[i].mrd_filter,
- mrule_defs[i].mrd_associated );
+ res = register_matching_rule( &mrule_defs[i] );
if ( res ) {
fprintf( stderr,