4.2. Définitions des règles de correspondance (A-G)
Les chaînes de caractères désignées dans les valeurs d'assertion et d'attribut sont préparées selon les algorithmes de préparation de chaînes [RFC4518] pour LDAP lors de l'évaluation des règles de correspondance suivantes :
numericStringMatch,
numericStringSubstringsMatch,
caseExactMatch,
caseExactOrderingMatch,
caseExactSubstringsMatch,
caseExactIA5Match,
caseIgnoreIA5Match,
caseIgnoreIA5SubstringsMatch,
caseIgnoreListMatch,
caseIgnoreListSubstringsMatch,
caseIgnoreMatch,
caseIgnoreOrderingMatch,
caseIgnoreSubstringsMatch,
directoryStringFirstComponentMatch,
telephoneNumberMatch,
telephoneNumberSubstringsMatch and
wordMatch.
Les étapes Transcode, Normalize, Prohibit et Check bidi sont les mêmes pour chacune des règles de correspondance. Cependant, les étapes Map et Insignificant Character Handling dépendent de la règle spécifique, comme détaillé dans la description de ces règles de correspondance dans les sections qui suivent.
4.2.1. bitStringMatch
La règle bitStringMatch compare une valeur d'assertion de la syntaxe Bit String à une valeur d'attribut d'une syntaxe (par exemple, la syntaxe Bit String) dont le type ASN.1 correspondant est BIT STRING.
Si le type ASN.1 correspondant de la syntaxe d'attribut n'a pas de liste de bits nommée [ASN.1] (ce qui est le cas pour la syntaxe Bit String), alors la règle est évaluée à VRAI si et seulement si la valeur d'attribut a le même nombre de bits que la valeur d'assertion et que les bits correspondent bit à bit.
Si le type ASN.1 correspondant a une liste de bits nommée, alors bitStringMatch fonctionne comme ci-dessus, sauf que les bits zéro de fin dans les valeurs d'attribut et d'assertion sont traités comme absents.
La définition LDAP pour la règle bitStringMatch est :
( 2.5.13.16 NAME 'bitStringMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.6 )
La règle bitStringMatch est une règle de correspondance d'égalité.
4.2.2. booleanMatch
La règle booleanMatch compare une valeur d'assertion de la syntaxe Boolean à une valeur d'attribut d'une syntaxe (par exemple, la syntaxe Boolean) dont le type ASN.1 correspondant est BOOLEAN.
La règle est évaluée à VRAI si et seulement si la valeur d'attribut et la valeur d'assertion sont toutes deux VRAI ou toutes deux FAUX.
La définition LDAP pour la règle booleanMatch est :
( 2.5.13.13 NAME 'booleanMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
La règle booleanMatch est une règle de correspondance d'égalité.
4.2.3. caseExactIA5Match
La règle caseExactIA5Match compare une valeur d'assertion de la syntaxe IA5 String à une valeur d'attribut d'une syntaxe (par exemple, la syntaxe IA5 String) dont le type ASN.1 correspondant est IA5String.
La règle est évaluée à VRAI si et seulement si la chaîne de caractères de valeur d'attribut préparée et la chaîne de caractères de valeur d'assertion préparée ont le même nombre de caractères et si les caractères correspondants ont le même point de code.
Lors de la préparation de la valeur d'attribut et de la valeur d'assertion pour la comparaison, les caractères ne sont pas pliés à la casse (case folded) dans l'étape de préparation Map, et seule la gestion des espaces insignifiants (Insignificant Space Handling) est appliquée dans l'étape Insignificant Character Handling.
La définition LDAP pour la règle caseExactIA5Match est :
( 1.3.6.1.4.1.1466.109.114.1 NAME 'caseExactIA5Match'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
La règle caseExactIA5Match est une règle de correspondance d'égalité.
4.2.4. caseExactMatch
La règle caseExactMatch compare une valeur d'assertion de la syntaxe Directory String à une valeur d'attribut d'une syntaxe (par exemple, la syntaxe Directory String, Printable String, Country String ou Telephone Number) dont le type ASN.1 correspondant est DirectoryString ou l'un des types de chaînes alternatifs de DirectoryString, tel que PrintableString (les autres alternatives ne correspondent à aucune syntaxe définie dans ce document).
La règle est évaluée à VRAI si et seulement si la chaîne de caractères de valeur d'attribut préparée et la chaîne de caractères de valeur d'assertion préparée ont le même nombre de caractères et si les caractères correspondants ont le même point de code.
Lors de la préparation de la valeur d'attribut et de la valeur d'assertion pour la comparaison, les caractères ne sont pas pliés à la casse (case folded) dans l'étape de préparation Map, et seule la gestion des espaces insignifiants est appliquée dans l'étape Insignificant Character Handling.
La définition LDAP pour la règle caseExactMatch est :
( 2.5.13.5 NAME 'caseExactMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
La règle caseExactMatch est une règle de correspondance d'égalité.
4.2.5. caseExactOrderingMatch
La règle caseExactOrderingMatch compare une valeur d'assertion de la syntaxe Directory String à une valeur d'attribut d'une syntaxe (par exemple, la syntaxe Directory String, Printable String, Country String ou Telephone Number) dont le type ASN.1 correspondant est DirectoryString ou l'un de ses types de chaînes alternatifs.
La règle est évaluée à VRAI si et seulement si, dans l'ordre de collation des points de code, la chaîne de caractères de valeur d'attribut préparée apparaît plus tôt que la chaîne de caractères de valeur d'assertion préparée ; c'est-à-dire que la valeur d'attribut est "inférieure à" la valeur d'assertion.
Lors de la préparation de la valeur d'attribut et de la valeur d'assertion pour la comparaison, les caractères ne sont pas pliés à la casse (case folded) dans l'étape de préparation Map, et seule la gestion des espaces insignifiants est appliquée dans l'étape Insignificant Character Handling.
La définition LDAP pour la règle caseExactOrderingMatch est :
( 2.5.13.6 NAME 'caseExactOrderingMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
La règle caseExactOrderingMatch est une règle de correspondance d'ordre.
4.2.6. caseExactSubstringsMatch
La règle caseExactSubstringsMatch compare une valeur d'assertion de la syntaxe Substring Assertion à une valeur d'attribut d'une syntaxe (par exemple, la syntaxe Directory String, Printable String, Country String ou Telephone Number) dont le type ASN.1 correspondant est DirectoryString ou l'un de ses types de chaînes alternatifs.
La règle est évaluée à VRAI si et seulement si (1) les sous-chaînes préparées de la valeur d'assertion correspondent à des parties disjointes de la chaîne de caractères de valeur d'attribut préparée dans l'ordre des sous-chaînes dans la valeur d'assertion, (2) une sous-chaîne <initial>, si présente, correspond au début de la chaîne de caractères de valeur d'attribut préparée, et (3) une sous-chaîne <final>, si présente, correspond à la fin de la chaîne de caractères de valeur d'attribut préparée. Une sous-chaîne préparée correspond à une partie de la chaîne de caractères de valeur d'attribut préparée si les caractères correspondants ont le même point de code.
Lors de la préparation des sous-chaînes de valeur d'attribut et de valeur d'assertion pour la comparaison, les caractères ne sont pas pliés à la casse (case folded) dans l'étape de préparation Map, et seule la gestion des espaces insignifiants est appliquée dans l'étape Insignificant Character Handling.
La définition LDAP pour la règle caseExactSubstringsMatch est :
( 2.5.13.7 NAME 'caseExactSubstringsMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
La règle caseExactSubstringsMatch est une règle de correspondance de sous-chaînes.
4.2.7. caseIgnoreIA5Match
La règle caseIgnoreIA5Match compare une valeur d'assertion de la syntaxe IA5 String à une valeur d'attribut d'une syntaxe (par exemple, la syntaxe IA5 String) dont le type ASN.1 correspondant est IA5String.
La règle est évaluée à VRAI si et seulement si la chaîne de caractères de valeur d'attribut préparée et la chaîne de caractères de valeur d'assertion préparée ont le même nombre de caractères et si les caractères correspondants ont le même point de code.
Lors de la préparation de la valeur d'attribut et de la valeur d'assertion pour la comparaison, les caractères sont pliés à la casse (case folded) dans l'étape de préparation Map, et seule la gestion des espaces insignifiants est appliquée dans l'étape Insignificant Character Handling.
La définition LDAP pour la règle caseIgnoreIA5Match est :
( 1.3.6.1.4.1.1466.109.114.2 NAME 'caseIgnoreIA5Match'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
La règle caseIgnoreIA5Match est une règle de correspondance d'égalité.
4.2.8. caseIgnoreIA5SubstringsMatch
La règle caseIgnoreIA5SubstringsMatch compare une valeur d'assertion de la syntaxe Substring Assertion à une valeur d'attribut d'une syntaxe (par exemple, la syntaxe IA5 String) dont le type ASN.1 correspondant est IA5String.
La règle est évaluée à VRAI si et seulement si (1) les sous-chaînes préparées de la valeur d'assertion correspondent à des parties disjointes de la chaîne de caractères de valeur d'attribut préparée dans l'ordre des sous-chaînes dans la valeur d'assertion, (2) une sous-chaîne <initial>, si présente, correspond au début de la chaîne de caractères de valeur d'attribut préparée, et (3) une sous-chaîne <final>, si présente, correspond à la fin de la chaîne de caractères de valeur d'attribut préparée. Une sous-chaîne préparée correspond à une partie de la chaîne de caractères de valeur d'attribut préparée si les caractères correspondants ont le même point de code.
Lors de la préparation des sous-chaînes de valeur d'attribut et de valeur d'assertion pour la comparaison, les caractères sont pliés à la casse (case folded) dans l'étape de préparation Map, et seule la gestion des espaces insignifiants est appliquée dans l'étape Insignificant Character Handling.
( 1.3.6.1.4.1.1466.109.114.3 NAME 'caseIgnoreIA5SubstringsMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
La règle caseIgnoreIA5SubstringsMatch est une règle de correspondance de sous-chaînes.
4.2.9. caseIgnoreListMatch
La règle caseIgnoreListMatch compare une valeur d'assertion qui est une séquence de chaînes à une valeur d'attribut d'une syntaxe (par exemple, la syntaxe Postal Address) dont le type ASN.1 correspondant est une SEQUENCE OF du type ASN.1 DirectoryString.
La règle est évaluée à VRAI si et seulement si la valeur d'attribut et la valeur d'assertion ont le même nombre de chaînes et si les chaînes correspondantes (par position) correspondent selon la règle de correspondance caseIgnoreMatch.
Dans [X.520], la syntaxe d'assertion pour cette règle de correspondance est définie comme étant :
SEQUENCE OF DirectoryString {ub-match}
C'est-à-dire qu'elle est différente du type correspondant pour la syntaxe Postal Address. Le choix de la syntaxe Postal Address pour la syntaxe d'assertion de caseIgnoreListMatch dans LDAP ne doit pas être considéré comme limitant l'application de la règle de correspondance aux seuls attributs ayant la syntaxe Postal Address.
La définition LDAP pour la règle caseIgnoreListMatch est :
( 2.5.13.11 NAME 'caseIgnoreListMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
La règle caseIgnoreListMatch est une règle de correspondance d'égalité.
4.2.10. caseIgnoreListSubstringsMatch
La règle caseIgnoreListSubstringsMatch compare une valeur d'assertion de la syntaxe Substring Assertion à une valeur d'attribut d'une syntaxe (par exemple, la syntaxe Postal Address) dont le type ASN.1 correspondant est une SEQUENCE OF du type ASN.1 DirectoryString.
La règle est évaluée à VRAI si et seulement si la valeur d'assertion correspond, selon la règle caseIgnoreSubstringsMatch, à la chaîne de caractères formée par la concaténation des chaînes de la valeur d'attribut, sauf qu'aucune des sous-chaînes <initial>, <any> ou <final> de la valeur d'assertion n'est considérée comme correspondant à une sous-chaîne de la chaîne concaténée qui s'étend sur plus d'une des chaînes originales de la valeur d'attribut.
Notez que, en termes de codage spécifique à LDAP de la syntaxe Postal Address, la chaîne concaténée omet le séparateur de ligne <DOLLAR> et l'échappement des caractères "" et "$".
La définition LDAP pour la règle caseIgnoreListSubstringsMatch est :
( 2.5.13.12 NAME 'caseIgnoreListSubstringsMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
La règle caseIgnoreListSubstringsMatch est une règle de correspondance de sous-chaînes.
4.2.11. caseIgnoreMatch
La règle caseIgnoreMatch compare une valeur d'assertion de la syntaxe Directory String à une valeur d'attribut d'une syntaxe (par exemple, la syntaxe Directory String, Printable String, Country String ou Telephone Number) dont le type ASN.1 correspondant est DirectoryString ou l'un de ses types de chaînes alternatifs.
La règle est évaluée à VRAI si et seulement si la chaîne de caractères de valeur d'attribut préparée et la chaîne de caractères de valeur d'assertion préparée ont le même nombre de caractères et si les caractères correspondants ont le même point de code.
Lors de la préparation de la valeur d'attribut et de la valeur d'assertion pour la comparaison, les caractères sont pliés à la casse (case folded) dans l'étape de préparation Map, et seule la gestion des espaces insignifiants est appliquée dans l'étape Insignificant Character Handling.
La définition LDAP pour la règle caseIgnoreMatch est :
( 2.5.13.2 NAME 'caseIgnoreMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
La règle caseIgnoreMatch est une règle de correspondance d'égalité.
4.2.12. caseIgnoreOrderingMatch
La règle caseIgnoreOrderingMatch compare une valeur d'assertion de la syntaxe Directory String à une valeur d'attribut d'une syntaxe (par exemple, la syntaxe Directory String, Printable String, Country String ou Telephone Number) dont le type ASN.1 correspondant est DirectoryString ou l'un de ses types de chaînes alternatifs.
La règle est évaluée à VRAI si et seulement si, dans l'ordre de collation des points de code, la chaîne de caractères de valeur d'attribut préparée apparaît plus tôt que la chaîne de caractères de valeur d'assertion préparée ; c'est-à-dire que la valeur d'attribut est "inférieure à" la valeur d'assertion.
Lors de la préparation de la valeur d'attribut et de la valeur d'assertion pour la comparaison, les caractères sont pliés à la casse (case folded) dans l'étape de préparation Map, et seule la gestion des espaces insignifiants est appliquée dans l'étape Insignificant Character Handling.
La définition LDAP pour la règle caseIgnoreOrderingMatch est :
( 2.5.13.3 NAME 'caseIgnoreOrderingMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
La règle caseIgnoreOrderingMatch est une règle de correspondance d'ordre.
4.2.13. caseIgnoreSubstringsMatch
La règle caseIgnoreSubstringsMatch compare une valeur d'assertion de la syntaxe Substring Assertion à une valeur d'attribut d'une syntaxe (par exemple, la syntaxe Directory String, Printable String, Country String ou Telephone Number) dont le type ASN.1 correspondant est DirectoryString ou l'un de ses types de chaînes alternatifs.
La règle est évaluée à VRAI si et seulement si (1) les sous-chaînes préparées de la valeur d'assertion correspondent à des parties disjointes de la chaîne de caractères de valeur d'attribut préparée dans l'ordre des sous-chaînes dans la valeur d'assertion, (2) une sous-chaîne <initial>, si présente, correspond au début de la chaîne de caractères de valeur d'attribut préparée, et (3) une sous-chaîne <final>, si présente, correspond à la fin de la chaîne de caractères de valeur d'attribut préparée. Une sous-chaîne préparée correspond à une partie de la chaîne de caractères de valeur d'attribut préparée si les caractères correspondants ont le même point de code.
Lors de la préparation des sous-chaînes de valeur d'attribut et de valeur d'assertion pour la comparaison, les caractères sont pliés à la casse (case folded) dans l'étape de préparation Map, et seule la gestion des espaces insignifiants est appliquée dans l'étape Insignificant Character Handling.
La définition LDAP pour la règle caseIgnoreSubstringsMatch est :
( 2.5.13.4 NAME 'caseIgnoreSubstringsMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
La règle caseIgnoreSubstringsMatch est une règle de correspondance de sous-chaînes.
4.2.14. directoryStringFirstComponentMatch
La règle directoryStringFirstComponentMatch compare une valeur d'assertion de la syntaxe Directory String à une valeur d'attribut d'une syntaxe dont le type ASN.1 correspondant est une SEQUENCE avec un premier composant obligatoire de type ASN.1 DirectoryString.
Notez que la syntaxe d'assertion de cette règle de correspondance diffère de la syntaxe d'attribut des attributs pour lesquels il s'agit de la règle de correspondance d'égalité.
La règle est évaluée à VRAI si et seulement si la valeur d'assertion correspond au premier composant de la valeur d'attribut en utilisant les règles de caseIgnoreMatch.
La définition LDAP pour la règle de correspondance directoryStringFirstComponentMatch est :
( 2.5.13.31 NAME 'directoryStringFirstComponentMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
La règle directoryStringFirstComponentMatch est une règle de correspondance d'égalité. Lors de l'utilisation de directoryStringFirstComponentMatch pour comparer deux valeurs d'attribut (d'une syntaxe applicable), une valeur d'assertion doit d'abord être dérivée de l'une des valeurs d'attribut. Une valeur d'assertion peut être dérivée d'une valeur d'attribut en prenant le premier composant de cette valeur d'attribut.
4.2.15. distinguishedNameMatch
La règle distinguishedNameMatch compare une valeur d'assertion de la syntaxe DN à une valeur d'attribut d'une syntaxe (par exemple, la syntaxe DN) dont le type ASN.1 correspondant est DistinguishedName.
La règle est évaluée à VRAI si et seulement si la valeur d'attribut et la valeur d'assertion ont le même nombre de noms distinctifs relatifs (RDN) et si les noms distinctifs relatifs correspondants (par position) sont les mêmes. Un nom distinctif relatif (RDN) de la valeur d'assertion est le même qu'un RDN de la valeur d'attribut si et seulement s'ils ont le même nombre d'assertions de valeur d'attribut et si chaque assertion de valeur d'attribut (AVA) du premier RDN est la même que l'AVA du deuxième RDN ayant le même type d'attribut. L'ordre des AVA n'est pas significatif. Notez également qu'un type d'attribut particulier ne peut apparaître que dans une seule AVA au plus dans un RDN. Deux AVA ayant le même type d'attribut sont les mêmes si leurs valeurs sont égales selon la règle de correspondance d'égalité du type d'attribut. Si une ou plusieurs des comparaisons AVA sont évaluées à Indéfini et que les comparaisons AVA restantes renvoient VRAI, alors la règle distinguishedNameMatch est évaluée à Indéfini.
La définition LDAP pour la règle distinguishedNameMatch est :
( 2.5.13.1 NAME 'distinguishedNameMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
La règle distinguishedNameMatch est une règle de correspondance d'égalité.
4.2.16. generalizedTimeMatch
La règle generalizedTimeMatch compare une valeur d'assertion de la syntaxe Generalized Time à une valeur d'attribut d'une syntaxe (par exemple, la syntaxe Generalized Time) dont le type ASN.1 correspondant est GeneralizedTime.
La règle est évaluée à VRAI si et seulement si la valeur d'attribut représente le même temps universel coordonné que la valeur d'assertion. Si une heure est spécifiée avec les minutes ou les secondes absentes, alors le nombre de minutes ou de secondes (respectivement) est supposé être zéro.
La définition LDAP pour la règle generalizedTimeMatch est :
( 2.5.13.27 NAME 'generalizedTimeMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 )
La règle generalizedTimeMatch est une règle de correspondance d'égalité.