4.2. Definizioni delle regole di corrispondenza (A-G)
Le stringhe designate nei valori di asserzione e di attributo vengono preparate secondo gli Algoritmi di Preparazione delle Stringhe [RFC4518] per LDAP durante la valutazione delle seguenti regole di corrispondenza:
numericStringMatch,
numericStringSubstringsMatch,
caseExactMatch,
caseExactOrderingMatch,
caseExactSubstringsMatch,
caseExactIA5Match,
caseIgnoreIA5Match,
caseIgnoreIA5SubstringsMatch,
caseIgnoreListMatch,
caseIgnoreListSubstringsMatch,
caseIgnoreMatch,
caseIgnoreOrderingMatch,
caseIgnoreSubstringsMatch,
directoryStringFirstComponentMatch,
telephoneNumberMatch,
telephoneNumberSubstringsMatch and
wordMatch.
I passaggi Transcode, Normalize, Prohibit e Check bidi sono gli stessi per ciascuna delle regole di corrispondenza. Tuttavia, i passaggi Map e Insignificant Character Handling dipendono dalla regola specifica, come dettagliato nella descrizione di queste regole di corrispondenza nelle sezioni seguenti.
4.2.1. bitStringMatch
La regola bitStringMatch confronta un valore di asserzione della sintassi Bit String con un valore di attributo di una sintassi (ad esempio, la sintassi Bit String) il cui tipo ASN.1 corrispondente è BIT STRING.
Se il tipo ASN.1 corrispondente della sintassi dell'attributo non ha un elenco di bit con nome [ASN.1] (come nel caso della sintassi Bit String), allora la regola restituisce TRUE se e solo se il valore dell'attributo ha lo stesso numero di bit del valore dell'asserzione e i bit corrispondono bit per bit.
Se il tipo ASN.1 corrispondente ha un elenco di bit con nome, allora bitStringMatch opera come sopra, tranne per il fatto che i bit zero finali nei valori dell'attributo e dell'asserzione vengono trattati come assenti.
La definizione LDAP per la regola bitStringMatch è:
( 2.5.13.16 NAME 'bitStringMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.6 )
La regola bitStringMatch è una regola di corrispondenza di uguaglianza.
4.2.2. booleanMatch
La regola booleanMatch confronta un valore di asserzione della sintassi Boolean con un valore di attributo di una sintassi (ad esempio, la sintassi Boolean) il cui tipo ASN.1 corrispondente è BOOLEAN.
La regola restituisce TRUE se e solo se sia il valore dell'attributo che il valore dell'asserzione sono entrambi TRUE o entrambi FALSE.
La definizione LDAP per la regola booleanMatch è:
( 2.5.13.13 NAME 'booleanMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
La regola booleanMatch è una regola di corrispondenza di uguaglianza.
4.2.3. caseExactIA5Match
La regola caseExactIA5Match confronta un valore di asserzione della sintassi IA5 String con un valore di attributo di una sintassi (ad esempio, la sintassi IA5 String) il cui tipo ASN.1 corrispondente è IA5String.
La regola restituisce TRUE se e solo se la stringa di caratteri del valore dell'attributo preparata e la stringa di caratteri del valore dell'asserzione preparata hanno lo stesso numero di caratteri e i caratteri corrispondenti hanno lo stesso punto di codice.
Nel preparare il valore dell'attributo e il valore dell'asserzione per il confronto, i caratteri non vengono sottoposti a case folding nel passaggio di preparazione Map e nel passaggio Insignificant Character Handling viene applicato solo l'Insignificant Space Handling.
La definizione LDAP per la regola caseExactIA5Match è:
( 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 regola caseExactIA5Match è una regola di corrispondenza di uguaglianza.
4.2.4. caseExactMatch
La regola caseExactMatch confronta un valore di asserzione della sintassi Directory String con un valore di attributo di una sintassi (ad esempio, la sintassi Directory String, Printable String, Country String o Telephone Number) il cui tipo ASN.1 corrispondente è DirectoryString o uno dei tipi di stringa alternativi di DirectoryString, come PrintableString (altre alternative non corrispondono a nessuna sintassi definita in questo documento).
La regola restituisce TRUE se e solo se la stringa di caratteri del valore dell'attributo preparata e la stringa di caratteri del valore dell'asserzione preparata hanno lo stesso numero di caratteri e i caratteri corrispondenti hanno lo stesso punto di codice.
Nel preparare il valore dell'attributo e il valore dell'asserzione per il confronto, i caratteri non vengono sottoposti a case folding nel passaggio di preparazione Map e nel passaggio Insignificant Character Handling viene applicato solo l'Insignificant Space Handling.
La definizione LDAP per la regola caseExactMatch è:
( 2.5.13.5 NAME 'caseExactMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
La regola caseExactMatch è una regola di corrispondenza di uguaglianza.
4.2.5. caseExactOrderingMatch
La regola caseExactOrderingMatch confronta un valore di asserzione della sintassi Directory String con un valore di attributo di una sintassi (ad esempio, la sintassi Directory String, Printable String, Country String o Telephone Number) il cui tipo ASN.1 corrispondente è DirectoryString o uno dei suoi tipi di stringa alternativi.
La regola restituisce TRUE se e solo se, nell'ordine di collazione dei punti di codice, la stringa di caratteri del valore dell'attributo preparata appare prima della stringa di caratteri del valore dell'asserzione preparata; cioè, il valore dell'attributo è "minore del" valore dell'asserzione.
Nel preparare il valore dell'attributo e il valore dell'asserzione per il confronto, i caratteri non vengono sottoposti a case folding nel passaggio di preparazione Map e nel passaggio Insignificant Character Handling viene applicato solo l'Insignificant Space Handling.
La definizione LDAP per la regola caseExactOrderingMatch è:
( 2.5.13.6 NAME 'caseExactOrderingMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
La regola caseExactOrderingMatch è una regola di corrispondenza di ordinamento.
4.2.6. caseExactSubstringsMatch
La regola caseExactSubstringsMatch confronta un valore di asserzione della sintassi Substring Assertion con un valore di attributo di una sintassi (ad esempio, la sintassi Directory String, Printable String, Country String o Telephone Number) il cui tipo ASN.1 corrispondente è DirectoryString o uno dei suoi tipi di stringa alternativi.
La regola restituisce TRUE se e solo se (1) le sottostringhe preparate del valore dell'asserzione corrispondono a porzioni disgiunte della stringa di caratteri del valore dell'attributo preparata nell'ordine delle sottostringhe nel valore dell'asserzione, (2) una sottostringa <initial>, se presente, corrisponde all'inizio della stringa di caratteri del valore dell'attributo preparata, e (3) una sottostringa <final>, se presente, corrisponde alla fine della stringa di caratteri del valore dell'attributo preparata. Una sottostringa preparata corrisponde a una porzione della stringa di caratteri del valore dell'attributo preparata se i caratteri corrispondenti hanno lo stesso punto di codice.
Nel preparare le sottostringhe del valore dell'attributo e del valore dell'asserzione per il confronto, i caratteri non vengono sottoposti a case folding nel passaggio di preparazione Map e nel passaggio Insignificant Character Handling viene applicato solo l'Insignificant Space Handling.
La definizione LDAP per la regola caseExactSubstringsMatch è:
( 2.5.13.7 NAME 'caseExactSubstringsMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
La regola caseExactSubstringsMatch è una regola di corrispondenza di sottostringhe.
4.2.7. caseIgnoreIA5Match
La regola caseIgnoreIA5Match confronta un valore di asserzione della sintassi IA5 String con un valore di attributo di una sintassi (ad esempio, la sintassi IA5 String) il cui tipo ASN.1 corrispondente è IA5String.
La regola restituisce TRUE se e solo se la stringa di caratteri del valore dell'attributo preparata e la stringa di caratteri del valore dell'asserzione preparata hanno lo stesso numero di caratteri e i caratteri corrispondenti hanno lo stesso punto di codice.
Nel preparare il valore dell'attributo e il valore dell'asserzione per il confronto, i caratteri vengono sottoposti a case folding nel passaggio di preparazione Map e nel passaggio Insignificant Character Handling viene applicato solo l'Insignificant Space Handling.
La definizione LDAP per la regola caseIgnoreIA5Match è:
( 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 regola caseIgnoreIA5Match è una regola di corrispondenza di uguaglianza.
4.2.8. caseIgnoreIA5SubstringsMatch
La regola caseIgnoreIA5SubstringsMatch confronta un valore di asserzione della sintassi Substring Assertion con un valore di attributo di una sintassi (ad esempio, la sintassi IA5 String) il cui tipo ASN.1 corrispondente è IA5String.
La regola restituisce TRUE se e solo se (1) le sottostringhe preparate del valore dell'asserzione corrispondono a porzioni disgiunte della stringa di caratteri del valore dell'attributo preparata nell'ordine delle sottostringhe nel valore dell'asserzione, (2) una sottostringa <initial>, se presente, corrisponde all'inizio della stringa di caratteri del valore dell'attributo preparata, e (3) una sottostringa <final>, se presente, corrisponde alla fine della stringa di caratteri del valore dell'attributo preparata. Una sottostringa preparata corrisponde a una porzione della stringa di caratteri del valore dell'attributo preparata se i caratteri corrispondenti hanno lo stesso punto di codice.
Nel preparare le sottostringhe del valore dell'attributo e del valore dell'asserzione per il confronto, i caratteri vengono sottoposti a case folding nel passaggio di preparazione Map e nel passaggio Insignificant Character Handling viene applicato solo l'Insignificant Space 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 regola caseIgnoreIA5SubstringsMatch è una regola di corrispondenza di sottostringhe.
4.2.9. caseIgnoreListMatch
La regola caseIgnoreListMatch confronta un valore di asserzione che è una sequenza di stringhe con un valore di attributo di una sintassi (ad esempio, la sintassi Postal Address) il cui tipo ASN.1 corrispondente è una SEQUENCE OF del tipo ASN.1 DirectoryString.
La regola restituisce TRUE se e solo se il valore dell'attributo e il valore dell'asserzione hanno lo stesso numero di stringhe e le stringhe corrispondenti (per posizione) corrispondono secondo la regola di corrispondenza caseIgnoreMatch.
In [X.520], la sintassi dell'asserzione per questa regola di corrispondenza è definita come:
SEQUENCE OF DirectoryString {ub-match}
Cioè, è diversa dal tipo corrispondente per la sintassi Postal Address. La scelta della sintassi Postal Address per la sintassi dell'asserzione di caseIgnoreListMatch in LDAP non deve essere considerata come una limitazione dell'applicazione della regola di corrispondenza ai soli attributi aventi la sintassi Postal Address.
La definizione LDAP per la regola caseIgnoreListMatch è:
( 2.5.13.11 NAME 'caseIgnoreListMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
La regola caseIgnoreListMatch è una regola di corrispondenza di uguaglianza.
4.2.10. caseIgnoreListSubstringsMatch
La regola caseIgnoreListSubstringsMatch confronta un valore di asserzione della sintassi Substring Assertion con un valore di attributo di una sintassi (ad esempio, la sintassi Postal Address) il cui tipo ASN.1 corrispondente è una SEQUENCE OF del tipo ASN.1 DirectoryString.
La regola restituisce TRUE se e solo se il valore dell'asserzione corrisponde, secondo la regola caseIgnoreSubstringsMatch, alla stringa formata concatenando le stringhe del valore dell'attributo, tranne che nessuna delle sottostringhe <initial>, <any> o <final> del valore dell'asserzione è considerata corrispondente a una sottostringa della stringa concatenata che si estende su più di una delle stringhe originali del valore dell'attributo.
Si noti che, in termini di codifica specifica LDAP della sintassi Postal Address, la stringa concatenata omette il separatore di riga <DOLLAR> e l'escape dei caratteri "" e "$".
La definizione LDAP per la regola caseIgnoreListSubstringsMatch è:
( 2.5.13.12 NAME 'caseIgnoreListSubstringsMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
La regola caseIgnoreListSubstringsMatch è una regola di corrispondenza di sottostringhe.
4.2.11. caseIgnoreMatch
La regola caseIgnoreMatch confronta un valore di asserzione della sintassi Directory String con un valore di attributo di una sintassi (ad esempio, la sintassi Directory String, Printable String, Country String o Telephone Number) il cui tipo ASN.1 corrispondente è DirectoryString o uno dei suoi tipi di stringa alternativi.
La regola restituisce TRUE se e solo se la stringa di caratteri del valore dell'attributo preparata e la stringa di caratteri del valore dell'asserzione preparata hanno lo stesso numero di caratteri e i caratteri corrispondenti hanno lo stesso punto di codice.
Nel preparare il valore dell'attributo e il valore dell'asserzione per il confronto, i caratteri vengono sottoposti a case folding nel passaggio di preparazione Map e nel passaggio Insignificant Character Handling viene applicato solo l'Insignificant Space Handling.
La definizione LDAP per la regola caseIgnoreMatch è:
( 2.5.13.2 NAME 'caseIgnoreMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
La regola caseIgnoreMatch è una regola di corrispondenza di uguaglianza.
4.2.12. caseIgnoreOrderingMatch
La regola caseIgnoreOrderingMatch confronta un valore di asserzione della sintassi Directory String con un valore di attributo di una sintassi (ad esempio, la sintassi Directory String, Printable String, Country String o Telephone Number) il cui tipo ASN.1 corrispondente è DirectoryString o uno dei suoi tipi di stringa alternativi.
La regola restituisce TRUE se e solo se, nell'ordine di collazione dei punti di codice, la stringa di caratteri del valore dell'attributo preparata appare prima della stringa di caratteri del valore dell'asserzione preparata; cioè, il valore dell'attributo è "minore del" valore dell'asserzione.
Nel preparare il valore dell'attributo e il valore dell'asserzione per il confronto, i caratteri vengono sottoposti a case folding nel passaggio di preparazione Map e nel passaggio Insignificant Character Handling viene applicato solo l'Insignificant Space Handling.
La definizione LDAP per la regola caseIgnoreOrderingMatch è:
( 2.5.13.3 NAME 'caseIgnoreOrderingMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
La regola caseIgnoreOrderingMatch è una regola di corrispondenza di ordinamento.
4.2.13. caseIgnoreSubstringsMatch
La regola caseIgnoreSubstringsMatch confronta un valore di asserzione della sintassi Substring Assertion con un valore di attributo di una sintassi (ad esempio, la sintassi Directory String, Printable String, Country String o Telephone Number) il cui tipo ASN.1 corrispondente è DirectoryString o uno dei suoi tipi di stringa alternativi.
La regola restituisce TRUE se e solo se (1) le sottostringhe preparate del valore dell'asserzione corrispondono a porzioni disgiunte della stringa di caratteri del valore dell'attributo preparata nell'ordine delle sottostringhe nel valore dell'asserzione, (2) una sottostringa <initial>, se presente, corrisponde all'inizio della stringa di caratteri del valore dell'attributo preparata, e (3) una sottostringa <final>, se presente, corrisponde alla fine della stringa di caratteri del valore dell'attributo preparata. Una sottostringa preparata corrisponde a una porzione della stringa di caratteri del valore dell'attributo preparata se i caratteri corrispondenti hanno lo stesso punto di codice.
Nel preparare le sottostringhe del valore dell'attributo e del valore dell'asserzione per il confronto, i caratteri vengono sottoposti a case folding nel passaggio di preparazione Map e nel passaggio Insignificant Character Handling viene applicato solo l'Insignificant Space Handling.
La definizione LDAP per la regola caseIgnoreSubstringsMatch è:
( 2.5.13.4 NAME 'caseIgnoreSubstringsMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
La regola caseIgnoreSubstringsMatch è una regola di corrispondenza di sottostringhe.
4.2.14. directoryStringFirstComponentMatch
La regola directoryStringFirstComponentMatch confronta un valore di asserzione della sintassi Directory String con un valore di attributo di una sintassi il cui tipo ASN.1 corrispondente è una SEQUENCE con un primo componente obbligatorio di tipo ASN.1 DirectoryString.
Si noti che la sintassi dell'asserzione di questa regola di corrispondenza differisce dalla sintassi dell'attributo degli attributi per i quali questa è la regola di corrispondenza di uguaglianza.
La regola restituisce TRUE se e solo se il valore dell'asserzione corrisponde al primo componente del valore dell'attributo utilizzando le regole di caseIgnoreMatch.
La definizione LDAP per la regola di corrispondenza directoryStringFirstComponentMatch è:
( 2.5.13.31 NAME 'directoryStringFirstComponentMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
La regola directoryStringFirstComponentMatch è una regola di corrispondenza di uguaglianza. Quando si utilizza directoryStringFirstComponentMatch per confrontare due valori di attributo (di una sintassi applicabile), un valore di asserzione deve essere prima derivato da uno dei valori dell'attributo. Un valore di asserzione può essere derivato da un valore dell'attributo prendendo il primo componente di tale valore dell'attributo.
4.2.15. distinguishedNameMatch
La regola distinguishedNameMatch confronta un valore di asserzione della sintassi DN con un valore di attributo di una sintassi (ad esempio, la sintassi DN) il cui tipo ASN.1 corrispondente è DistinguishedName.
La regola restituisce TRUE se e solo se il valore dell'attributo e il valore dell'asserzione hanno lo stesso numero di nomi distinti relativi e i nomi distinti relativi corrispondenti (per posizione) sono gli stessi. Un nome distinto relativo (RDN) del valore dell'asserzione è lo stesso di un RDN del valore dell'attributo se e solo se hanno lo stesso numero di asserzioni di valore di attributo e ogni asserzione di valore di attributo (AVA) del primo RDN è la stessa dell'AVA del secondo RDN avente lo stesso tipo di attributo. L'ordine delle AVA non è significativo. Si noti anche che un particolare tipo di attributo può apparire al massimo in una AVA in un RDN. Due AVA con lo stesso tipo di attributo sono le stesse se i loro valori sono uguali secondo la regola di corrispondenza di uguaglianza del tipo di attributo. Se uno o più dei confronti AVA restituiscono Undefined e i restanti confronti AVA restituiscono TRUE, allora la regola distinguishedNameMatch restituisce Undefined.
La definizione LDAP per la regola distinguishedNameMatch è:
( 2.5.13.1 NAME 'distinguishedNameMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
La regola distinguishedNameMatch è una regola di corrispondenza di uguaglianza.
4.2.16. generalizedTimeMatch
La regola generalizedTimeMatch confronta un valore di asserzione della sintassi Generalized Time con un valore di attributo di una sintassi (ad esempio, la sintassi Generalized Time) il cui tipo ASN.1 corrispondente è GeneralizedTime.
La regola restituisce TRUE se e solo se il valore dell'attributo rappresenta lo stesso tempo universale coordinato del valore dell'asserzione. Se viene specificato un orario con minuti o secondi mancanti, allora il numero di minuti o secondi (rispettivamente) viene assunto essere zero.
La definizione LDAP per la regola generalizedTimeMatch è:
( 2.5.13.27 NAME 'generalizedTimeMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 )
La regola generalizedTimeMatch è una regola di corrispondenza di uguaglianza.