3.3. Définitions de syntaxe (L-U)
3.3.18. Description de la syntaxe LDAP
Une valeur de la syntaxe LDAP Syntax Description (Description de la syntaxe LDAP) est la description d'une syntaxe LDAP. Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par la règle <SyntaxDescription> dans la [RFC4512].
La définition LDAP pour la syntaxe LDAP Syntax Description est :
( 1.3.6.1.4.1.1466.115.121.1.54 DESC 'LDAP Syntax Description' )
La définition LDAP pour la syntaxe LDAP Syntax Description ci-dessus est elle-même une valeur légale de la syntaxe LDAP Syntax Description.
Le type ASN.1 correspondant à la syntaxe LDAP Syntax Description est défini comme suit, en supposant EXPLICIT TAGS :
LDAPSyntaxDescription ::= SEQUENCE {
identifier OBJECT IDENTIFIER,
description DirectoryString { ub-schema } OPTIONAL }
Le type ASN.1 paramétré DirectoryString est défini dans [X.520].
La valeur de ub-schema (un entier) est spécifique à l'implémentation. Une définition non normative apparaît dans [X.520].
3.3.19. Description de la règle de correspondance
Une valeur de la syntaxe Matching Rule Description (Description de la règle de correspondance) est la définition d'une règle de correspondance. Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par la règle <MatchingRuleDescription> dans la [RFC4512].
Exemple :
( 2.5.13.2 NAME 'caseIgnoreMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
Note : Des sauts de ligne ont été ajoutés pour la lisibilité ; ils ne font pas partie de la syntaxe.
La définition LDAP pour la syntaxe Matching Rule Description est :
( 1.3.6.1.4.1.1466.115.121.1.30 DESC 'Matching Rule Description' )
Cette syntaxe correspond au type ASN.1 MatchingRuleDescription de [X.501].
3.3.20. Description de l'utilisation de la règle de correspondance
Une valeur de la syntaxe Matching Rule Use Description (Description de l'utilisation de la règle de correspondance) indique les types d'attributs auxquels une règle de correspondance peut être appliquée dans un filtre de recherche extensibleMatch [RFC4511]. Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par la règle <MatchingRuleUseDescription> dans la [RFC4512].
Exemple :
( 2.5.13.16 APPLIES ( givenName $ surname ) )
La définition LDAP pour la syntaxe Matching Rule Use Description est :
( 1.3.6.1.4.1.1466.115.121.1.31
DESC 'Matching Rule Use Description' )
Cette syntaxe correspond au type ASN.1 MatchingRuleUseDescription de [X.501].
3.3.21. Nom et UID facultatif
Une valeur de la syntaxe Name and Optional UID (Nom et UID facultatif) est le nom distinctif [RFC4512] d'une entité, accompagné éventuellement d'un identifiant unique utilisé pour différencier cette entité des autres entités qui ont le même nom distinctif.
Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par l'ABNF suivant :
NameAndOptionalUID = distinguishedName [ SHARP BitString ]
La règle <BitString> est définie à la section 3.3.2. La règle <distinguishedName> est définie dans la [RFC4514]. La règle <SHARP> est définie dans la [RFC4512].
Notez que bien que le caractère '#' puisse apparaître dans la représentation sous forme de chaîne d'un nom distinctif, aucun échappement supplémentaire de ce caractère n'est effectué lorsque le <distinguishedName> est codé en <NameAndOptionalUID>.
Exemple :
1.3.6.1.4.1.1466.0=#04024869,O=Test,C=GB#'0101'B
La définition LDAP pour la syntaxe Name and Optional UID est :
( 1.3.6.1.4.1.1466.115.121.1.34 DESC 'Name And Optional UID' )
Cette syntaxe correspond au type ASN.1 NameAndOptionalUID de [X.520].
3.3.22. Description de la forme de nom
Une valeur de la syntaxe Name Form Description (Description de la forme de nom) est la définition d'une forme de nom, qui prescrit comment une entrée doit être nommée. Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par la règle <NameFormDescription> dans la [RFC4512].
Exemple :
( 2.5.15.3 NAME 'orgNameForm' OC organization MUST o )
La définition LDAP pour la syntaxe Name Form Description est :
( 1.3.6.1.4.1.1466.115.121.1.35 DESC 'Name Form Description' )
Cette syntaxe correspond au type ASN.1 NameFormDescription de [X.501].
3.3.23. Chaîne numérique
Une valeur de la syntaxe Numeric String (Chaîne numérique) est une séquence d'un ou plusieurs chiffres et espaces. Le codage spécifique à LDAP d'une valeur de cette syntaxe est la chaîne de caractères non convertie, qui est conforme à l'ABNF suivant :
NumericString = 1*(DIGIT / SPACE)
Les règles <DIGIT> et <SPACE> sont définies dans la [RFC4512].
Exemple :
15 079 672 281
La définition LDAP pour la syntaxe Numeric String est :
( 1.3.6.1.4.1.1466.115.121.1.36 DESC 'Numeric String' )
Cette syntaxe correspond au type ASN.1 NumericString de l'[ASN.1].
3.3.24. Description de la classe d'objet
Une valeur de la syntaxe Object Class Description (Description de la classe d'objet) est la définition d'une classe d'objet. Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par la règle <ObjectClassDescription> dans la [RFC4512].
Exemple :
( 2.5.6.2 NAME 'country' SUP top STRUCTURAL MUST c
MAY ( searchGuide $ description ) )
Note : Des sauts de ligne ont été ajoutés pour la lisibilité ; ils ne font pas partie de la syntaxe.
La définition LDAP pour la syntaxe Object Class Description est :
( 1.3.6.1.4.1.1466.115.121.1.37 DESC 'Object Class Description' )
Cette syntaxe correspond au type ASN.1 ObjectClassDescription de [X.501].
3.3.25. Chaîne d'octets
Une valeur de la syntaxe Octet String (Chaîne d'octets) est une séquence de zéro, un ou plusieurs octets arbitraires. Le codage spécifique à LDAP d'une valeur de cette syntaxe est la séquence d'octets non convertis, qui est conforme à l'ABNF suivant :
OctetString = *OCTET
La règle <OCTET> est définie dans la [RFC4512]. Les valeurs de cette syntaxe ne sont généralement pas lisibles par l'homme.
La définition LDAP pour la syntaxe Octet String est :
( 1.3.6.1.4.1.1466.115.121.1.40 DESC 'Octet String' )
Cette syntaxe correspond au type ASN.1 OCTET STRING de l'[ASN.1].
3.3.26. OID
Une valeur de la syntaxe OID est un identifiant d'objet : une séquence de deux entiers non négatifs ou plus qui identifie de manière unique un objet ou un élément de spécification particulier. De nombreux identifiants d'objet utilisés dans LDAP ont également des noms enregistrés auprès de l'IANA [RFC4520].
Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par la règle <oid> dans la [RFC4512].
Exemple :
1.2.3.4
cn
La définition LDAP pour la syntaxe OID est :
( 1.3.6.1.4.1.1466.115.121.1.38 DESC 'OID' )
Cette syntaxe correspond au type ASN.1 OBJECT IDENTIFIER de l'[ASN.1].
3.3.27. Autre boîte aux lettres
Une valeur de la syntaxe Other Mailbox (Autre boîte aux lettres) identifie une boîte aux lettres électronique dans un système de messagerie nommé particulier. Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par l'ABNF suivant :
OtherMailbox = mailbox-type DOLLAR mailbox
mailbox-type = PrintableString
mailbox = IA5String
La règle <mailbox-type> représente le type de système de messagerie dans lequel réside la boîte aux lettres (par exemple "MCIMail"), et <mailbox> est la boîte aux lettres réelle dans le système de messagerie décrit par <mailbox-type>. Les règles <PrintableString> et <IA5String> sont définies à la section 3.2. La règle <DOLLAR> est définie dans la [RFC4512].
La définition LDAP pour la syntaxe Other Mailbox est :
( 1.3.6.1.4.1.1466.115.121.1.39 DESC 'Other Mailbox' )
Le type ASN.1 correspondant à la syntaxe Other Mailbox est défini comme suit, en supposant EXPLICIT TAGS :
OtherMailbox ::= SEQUENCE {
mailboxType PrintableString,
mailbox IA5String
}
3.3.28. Adresse postale
Une valeur de la syntaxe Postal Address (Adresse postale) est une séquence d'une ou plusieurs chaînes de caractères UCS arbitraires, qui forment une adresse dans un système postal physique.
Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par l'ABNF suivant :
PostalAddress = line *( DOLLAR line )
line = 1*line-char
line-char = %x00-23
/ (%x5C "24") ; échappe "$"
/ %x25-5B
/ (%x5C "5C") ; échappe "\"
/ %x5D-7F
/ UTFMB
Chaque chaîne (c'est-à-dire <line>) d'une valeur Postal Address est codée comme une chaîne UTF-8 [RFC3629], sauf que les caractères "" et "$", s'ils apparaissent dans la chaîne, sont échappés par un caractère "" suivi du code hexadécimal à deux chiffres du caractère. Les règles <DOLLAR> et <UTFMB> sont définies dans la [RFC4512].
De nombreux serveurs limitent les adresses postales à six lignes d'au plus trente caractères.
Exemple :
1234 Main St.$Anytown, CA 12345$USA
\241,000,000 Sweepstakes$PO Box 1000000$Anytown, CA 12345$USA
La définition LDAP pour la syntaxe Postal Address est :
( 1.3.6.1.4.1.1466.115.121.1.41 DESC 'Postal Address' )
Cette syntaxe correspond au type ASN.1 PostalAddress de [X.520] ; c'est-à-dire
PostalAddress ::= SEQUENCE SIZE(1..ub-postal-line) OF
DirectoryString { ub-postal-string }
Les valeurs de ub-postal-line et ub-postal-string (tous deux des entiers) sont spécifiques à l'implémentation. Des définitions non normatives apparaissent dans [X.520].
3.3.29. Chaîne imprimable
Une valeur de la syntaxe Printable String (Chaîne imprimable) est une chaîne d'un ou plusieurs alphabets latins, chiffres et caractères de ponctuation sélectionnés, tel que spécifié par la règle <PrintableCharacter> de la section 3.2.
Le codage spécifique à LDAP d'une valeur de cette syntaxe est la chaîne de caractères non convertie, qui est conforme à la règle <PrintableString> de la section 3.2.
Exemple :
This is a PrintableString.
La définition LDAP pour la syntaxe Printable String est :
( 1.3.6.1.4.1.1466.115.121.1.44 DESC 'Printable String' )
Cette syntaxe correspond au type ASN.1 PrintableString de l'[ASN.1].
3.3.30. Assertion de sous-chaîne
Une valeur de la syntaxe Substring Assertion (Assertion de sous-chaîne) est une séquence de zéro, une ou plusieurs sous-chaînes de caractères utilisées comme argument pour la correspondance extensible de sous-chaîne sur les valeurs d'attribut de chaîne ; c'est-à-dire comme matchValue d'une MatchingRuleAssertion [RFC4511]. Chaque sous-chaîne est une chaîne d'un ou plusieurs caractères arbitraires du jeu universel de caractères (UCS) [UCS]. Les sous-chaînes de longueur nulle ne sont pas autorisées.
Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par l'ABNF suivant :
SubstringAssertion = [ initial ] any [ final ]
initial = substring
any = ASTERISK *(substring ASTERISK)
final = substring
ASTERISK = %x2A ; astérisque ("*")
substring = 1*substring-character
substring-character = %x00-29
/ (%x5C "2A") ; échappe "*"
/ %x2B-5B
/ (%x5C "5C") ; échappe "\"
/ %x5D-7F
/ UTFMB
Chaque <substring> d'une valeur Substring Assertion est codée comme une chaîne UTF-8 [RFC3629], sauf que les caractères "" et "*", s'ils apparaissent dans une sous-chaîne, sont échappés par un caractère "" suivi du code hexadécimal à deux chiffres du caractère.
La syntaxe Substring Assertion est utilisée uniquement comme la syntaxe d'une valeur d'assertion dans une correspondance extensible. Elle n'est pas utilisée comme syntaxe d'attribut ou dans un SubstringFilter [RFC4511].
La définition LDAP pour la syntaxe Substring Assertion est :
( 1.3.6.1.4.1.1466.115.121.1.58 DESC 'Substring Assertion' )
Cette syntaxe correspond au type ASN.1 SubstringAssertion de [X.520].
3.3.31. Numéro de téléphone
Une valeur de la syntaxe Telephone Number (Numéro de téléphone) est une chaîne de caractères imprimables conforme au format internationalement convenu pour représenter les numéros de téléphone internationaux [E.123].
Le codage spécifique à LDAP d'une valeur de cette syntaxe est la chaîne de caractères non convertie, qui est conforme à la règle <PrintableString> de la section 3.2.
Exemple :
+1 512 315 0280
+1-512-315-0280
+61 3 9896 7830
La définition LDAP pour la syntaxe Telephone Number est :
( 1.3.6.1.4.1.1466.115.121.1.50 DESC 'Telephone Number' )
La syntaxe Telephone Number correspond au type ASN.1 suivant de [X.520] :
PrintableString (SIZE(1..ub-telephone-number))
La valeur de ub-telephone-number (un entier) est spécifique à l'implémentation. Une définition non normative apparaît dans [X.520].
3.3.32. Identifiant de terminal Teletex
Une valeur de cette syntaxe spécifie l'identifiant, et éventuellement les paramètres, d'un terminal Teletex.
Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par l'ABNF suivant :
teletex-id = ttx-term *(DOLLAR ttx-param)
ttx-term = PrintableString ; identifiant de terminal
ttx-param = ttx-key COLON ttx-value ; paramètre
ttx-key = "graphic" / "control" / "misc" / "page" / "private"
ttx-value = *ttx-value-octet
ttx-value-octet = %x00-23
/ (%x5C "24") ; échappe "$"
/ %x25-5B
/ (%x5C "5C") ; échappe "\"
/ %x5D-FF
Les règles <PrintableString> et <COLON> sont définies à la section 3.2. La règle <DOLLAR> est définie dans la [RFC4512].
La définition LDAP pour la syntaxe Teletex Terminal Identifier est :
( 1.3.6.1.4.1.1466.115.121.1.51
DESC 'Teletex Terminal Identifier' )
Cette syntaxe correspond au type ASN.1 TeletexTerminalIdentifier de [X.520].
3.3.33. Numéro de télex
Une valeur de la syntaxe Telex Number (Numéro de télex) spécifie le numéro de télex, le code pays et le code de réponse d'un terminal de télex.
Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par l'ABNF suivant :
telex-number = actual-number DOLLAR country-code
DOLLAR answerback
actual-number = PrintableString
country-code = PrintableString
answerback = PrintableString
La règle <PrintableString> est définie à la section 3.2. La règle <DOLLAR> est définie dans la [RFC4512].
La définition LDAP pour la syntaxe Telex Number est :
( 1.3.6.1.4.1.1466.115.121.1.52 DESC 'Telex Number' )
Cette syntaxe correspond au type ASN.1 TelexNumber de [X.520].
3.3.34. Heure UTC
Une valeur de la syntaxe UTC Time (Heure UTC) est une chaîne de caractères représentant une date et une heure avec une précision d'une minute ou d'une seconde. L'année est donnée sur deux chiffres. Le codage spécifique à LDAP d'une valeur de cette syntaxe suit le format défini dans l'[ASN.1] pour le type UTCTime, et est décrit par l'ABNF suivant :
UTCTime = year month day hour minute [ second ]
[ u-time-zone ]
u-time-zone = %x5A ; "Z"
/ u-differential
u-differential = ( MINUS / PLUS ) hour minute
Les règles <year>, <month>, <day>, <hour>, <minute>, <second>, et <MINUS> sont définies à la section 3.3.13. La règle <PLUS> est définie dans la [RFC4512].
L'ABNF ci-dessus autorise des chaînes de caractères qui ne représentent pas des dates valides (dans le calendrier grégorien) et/ou des heures valides. De telles chaînes de caractères DEVRAIENT être considérées comme invalides pour cette syntaxe.
Si la forme "Z" de <u-time-zone> est utilisée, alors la valeur de temps représente le temps universel coordonné ; sinon, la valeur représente l'heure locale. Dans ce dernier cas, si <u-differential> est fourni, alors le temps universel coordonné peut être calculé en soustrayant le différentiel de l'heure locale. <u-time-zone> DEVRAIT être présent dans les valeurs de temps, et la forme "Z" de <u-time-zone> DEVRAIT être utilisée de préférence à <u-differential>.
La définition LDAP pour la syntaxe UTC Time est :
( 1.3.6.1.4.1.1466.115.121.1.53 DESC 'UTC Time' )
Note : Cette syntaxe est obsolète au profit de la syntaxe Generalized Time.
La syntaxe UTC Time correspond au type ASN.1 UTCTime de l'[ASN.1].