Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
openldap
OpenLDAP
Commits
fc7e29e0
Commit
fc7e29e0
authored
Apr 16, 2003
by
Kurt Zeilenga
Browse files
Add associated matching rules
parent
1260da0c
Changes
2
Hide whitespace changes
Inline
Side-by-side
servers/slapd/mr.c
View file @
fc7e29e0
...
...
@@ -226,9 +226,6 @@ register_matching_rule(
if
(
def
->
mrd_associated
!=
NULL
)
{
amr
=
mr_find
(
def
->
mrd_associated
);
#if 0
/* ignore for now */
if
(
amr
==
NULL
)
{
#ifdef NEW_LOGGING
LDAP_LOG
(
OPERATION
,
ERR
,
...
...
@@ -243,7 +240,6 @@ register_matching_rule(
return
-
1
;
}
#endif
}
mr
=
ldap_str2matchingrule
(
def
->
mrd_desc
,
&
code
,
&
err
,
...
...
servers/slapd/schema_init.c
View file @
fc7e29e0
...
...
@@ -30,6 +30,9 @@
#define SLAP_NVALUES 1
#define MR_ASSOCIATED(mr,amr) (((mr) == (amr)) || \
((mr)->smr_associated == (amr)))
/* not yet implemented */
#define objectIdentifierNormalize NULL
#define integerOrderingMatch NULL
...
...
@@ -518,7 +521,6 @@ octetStringSubstringsFilter (
{
SubstringsAssertion
*
sa
;
char
pre
;
unsigned
casefold
;
ber_len_t
nkeys
=
0
;
size_t
slen
,
mlen
,
klen
;
BerVarray
keys
;
...
...
@@ -1003,7 +1005,7 @@ UTF8StringNormalize(
return
LDAP_SUCCESS
;
}
flags
=
(
mr
==
slap_schema
.
si_mr_caseExactMatch
)
flags
=
MR_ASSOCIATED
(
mr
,
slap_schema
.
si_mr_caseExactMatch
)
?
LDAP_UTF8_NOCASEFOLD
:
LDAP_UTF8_CASEFOLD
;
flags
|=
(
(
use
&
SLAP_MR_EQUALITY_APPROX
)
==
SLAP_MR_EQUALITY_APPROX
)
?
LDAP_UTF8_APPROX
:
0
;
...
...
@@ -1692,7 +1694,7 @@ IA5StringNormalize(
void
*
ctx
)
{
char
*
p
,
*
q
;
int
casefold
=
(
mr
!=
slap_schema
.
si_mr_caseExactIA5Match
);
int
casefold
=
MR_ASSOCIATED
(
mr
,
slap_schema
.
si_mr_caseExactIA5Match
);
assert
(
val
->
bv_len
);
...
...
@@ -2893,14 +2895,14 @@ static slap_mrule_defs_rec mrule_defs[] = {
SLAP_MR_EQUALITY
|
SLAP_MR_EXT
,
NULL
,
NULL
,
objectIdentifierNormalize
,
octetStringMatch
,
octetStringIndexer
,
octetStringFilter
,
NULL
},
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
,
dnNormalize
,
dnMatch
,
octetStringIndexer
,
octetStringFilter
,
NULL
},
NULL
},
{
"( 2.5.13.2 NAME 'caseIgnoreMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )"
,
...
...
@@ -2914,14 +2916,14 @@ static slap_mrule_defs_rec mrule_defs[] = {
SLAP_MR_ORDERING
,
directoryStringSyntaxes
,
NULL
,
UTF8StringNormalize
,
octetStringOrderingMatch
,
NULL
,
NULL
,
NULL
},
"caseIgnoreMatch"
},
{
"( 2.5.13.4 NAME 'caseIgnoreSubstringsMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )"
,
SLAP_MR_SUBSTR
,
NULL
,
NULL
,
UTF8StringNormalize
,
octetStringSubstringsMatch
,
octetStringSubstringsIndexer
,
octetStringSubstringsFilter
,
NULL
},
"caseIgnoreMatch"
},
{
"( 2.5.13.5 NAME 'caseExactMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )"
,
...
...
@@ -2935,87 +2937,88 @@ static slap_mrule_defs_rec mrule_defs[] = {
SLAP_MR_ORDERING
,
directoryStringSyntaxes
,
NULL
,
UTF8StringNormalize
,
octetStringOrderingMatch
,
NULL
,
NULL
,
NULL
},
"caseExactMatch"
},
{
"( 2.5.13.7 NAME 'caseExactSubstringsMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )"
,
SLAP_MR_SUBSTR
,
directoryStringSyntaxes
,
NULL
,
UTF8StringNormalize
,
octetStringSubstringsMatch
,
octetStringSubstringsIndexer
,
octetStringSubstringsFilter
,
NULL
},
"caseExactMatch"
},
{
"( 2.5.13.8 NAME 'numericStringMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.36 )"
,
SLAP_MR_EQUALITY
|
SLAP_MR_EXT
,
NULL
,
NULL
,
numericStringNormalize
,
octetStringSubstringsMatch
,
octetStringSubstringsIndexer
,
octetStringSubstringsFilter
,
NULL
},
NULL
},
{
"( 2.5.13.10 NAME 'numericStringSubstringsMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )"
,
SLAP_MR_SUBSTR
,
NULL
,
NULL
,
numericStringNormalize
,
octetStringSubstringsMatch
,
octetStringSubstringsIndexer
,
octetStringSubstringsFilter
,
NULL
},
"numericStringMatch"
},
{
"( 2.5.13.11 NAME 'caseIgnoreListMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )"
,
SLAP_MR_EQUALITY
|
SLAP_MR_EXT
,
NULL
,
NULL
,
NULL
,
NULL
,
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
,
NULL
,
NULL
,
NULL
,
NULL
},
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
"caseIgnoreListMatch"
},
{
"( 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
,
octetStringIndexer
,
octetStringFilter
,
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
,
integerNormalize
,
integerMatch
,
octetStringIndexer
,
octetStringFilter
,
NULL
},
NULL
},
{
"( 2.5.13.15 NAME 'integerOrderingMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )"
,
SLAP_MR_ORDERING
,
NULL
,
NULL
,
integerNormalize
,
integerOrderingMatch
,
NULL
,
NULL
,
NULL
},
"integerMatch"
},
{
"( 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
,
octetStringMatch
,
octetStringIndexer
,
octetStringFilter
,
NULL
},
NULL
},
{
"( 2.5.13.17 NAME 'octetStringMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )"
,
SLAP_MR_EQUALITY
|
SLAP_MR_EXT
,
NULL
,
NULL
,
NULL
,
octetStringMatch
,
octetStringIndexer
,
octetStringFilter
,
NULL
},
NULL
},
{
"( 2.5.13.18 NAME 'octetStringOrderingMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )"
,
SLAP_MR_ORDERING
,
NULL
,
NULL
,
NULL
,
octetStringOrderingMatch
,
NULL
,
NULL
,
NULL
},
"octetStringMatch"
},
{
"( 2.5.13.19 NAME 'octetStringSubstringsMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )"
,
SLAP_MR_SUBSTR
,
NULL
,
NULL
,
NULL
,
octetStringSubstringsMatch
,
octetStringSubstringsIndexer
,
octetStringSubstringsFilter
,
NULL
},
"octetStringMatch"
},
{
"( 2.5.13.20 NAME 'telephoneNumberMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.50 )"
,
...
...
@@ -3023,52 +3026,52 @@ static slap_mrule_defs_rec mrule_defs[] = {
NULL
,
telephoneNumberNormalize
,
octetStringMatch
,
octetStringIndexer
,
octetStringFilter
,
NULL
},
NULL
},
{
"( 2.5.13.21 NAME 'telephoneNumberSubstringsMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )"
,
SLAP_MR_SUBSTR
,
NULL
,
NULL
,
telephoneNumberNormalize
,
octetStringSubstringsMatch
,
octetStringSubstringsIndexer
,
octetStringSubstringsFilter
,
NULL
},
"telephoneNumberMatch"
},
{
"( 2.5.13.22 NAME 'presentationAddressMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.43 )"
,
SLAP_MR_EQUALITY
|
SLAP_MR_EXT
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
},
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
},
{
"( 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
,
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
,
NULL
,
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
,
octetStringMatch
,
NULL
,
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
,
generalizedTimeNormalize
,
octetStringOrderingMatch
,
NULL
,
NULL
,
NULL
},
"generalizedTimeMatch"
},
{
"( 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
,
NULL
},
NULL
},
{
"( 2.5.13.30 NAME 'objectIdentifierFirstComponentMatch' "
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )"
,
...
...
@@ -3076,7 +3079,7 @@ static slap_mrule_defs_rec mrule_defs[] = {
objectIdentifierFirstComponentMatchSyntaxes
,
NULL
,
objectIdentifierFirstComponentNormalize
,
octetStringMatch
,
octetStringIndexer
,
octetStringFilter
,
NULL
},
NULL
},
#ifndef SLAP_NVALUES
#ifdef HAVE_TLS
...
...
@@ -3085,7 +3088,7 @@ static slap_mrule_defs_rec mrule_defs[] = {
SLAP_MR_EQUALITY
|
SLAP_MR_EXT
,
certificateExactMatchSyntaxes
,
certificateExactConvert
,
NULL
,
certificateExactMatch
,
certificateExactIndexer
,
certificateExactFilter
,
NULL
},
NULL
},
#endif
#endif
...
...
@@ -3108,14 +3111,14 @@ static slap_mrule_defs_rec mrule_defs[] = {
SLAP_MR_SUBSTR
,
NULL
,
NULL
,
IA5StringNormalize
,
octetStringSubstringsMatch
,
octetStringSubstringsIndexer
,
octetStringSubstringsFilter
,
NULL
},
"caseIgnoreIA5Match"
},
{
"( 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
,
IA5StringNormalize
,
octetStringSubstringsMatch
,
octetStringSubstringsIndexer
,
octetStringSubstringsFilter
,
NULL
},
"caseExactIA5Match"
},
#ifdef SLAPD_AUTHPASSWD
/* needs updating */
...
...
@@ -3139,16 +3142,16 @@ static slap_mrule_defs_rec mrule_defs[] = {
{
"( 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
,
integerNormalize
,
integerBitAndMatch
,
NULL
,
NULL
,
NULL
},
"integerMatch"
},
{
"( 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
,
integerNormalize
,
integerBitOrMatch
,
NULL
,
NULL
,
NULL
},
"integerMatch"
},
{
NULL
,
SLAP_MR_NONE
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment