Aller au contenu principal

3.3. Définitions de syntaxe (A-J)

3.3.1. Description du type d'attribut

Une valeur de la syntaxe Attribute Type Description (Description du type d'attribut) est la définition d'un type d'attribut. Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par la règle <AttributeTypeDescription> dans la [RFC4512].

Par exemple, la définition suivante du type d'attribut createTimestamp de la [RFC4512] est également une valeur de la syntaxe Attribute Type Description. (Note : Des sauts de ligne ont été ajoutés pour la lisibilité ; ils ne font pas partie de la valeur lorsqu'elle est transférée dans le protocole.)

( 2.5.18.1 NAME 'createTimestamp'
EQUALITY generalizedTimeMatch
ORDERING generalizedTimeOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
SINGLE-VALUE NO-USER-MODIFICATION
USAGE directoryOperation )

La définition LDAP pour la syntaxe Attribute Type Description est :

( 1.3.6.1.4.1.1466.115.121.1.3 DESC 'Attribute Type Description' )

Cette syntaxe correspond au type ASN.1 AttributeTypeDescription de [X.501].

3.3.2. Chaîne de bits

Une valeur de la syntaxe Bit String (Chaîne de bits) est une séquence de chiffres binaires. Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par l'ABNF suivant :

BitString    = SQUOTE *binary-digit SQUOTE "B"
binary-digit = "0" / "1"

La règle <SQUOTE> est définie dans la [RFC4512].

Exemple : '0101111101'B

La définition LDAP pour la syntaxe Bit String est :

( 1.3.6.1.4.1.1466.115.121.1.6 DESC 'Bit String' )

Cette syntaxe correspond au type ASN.1 BIT STRING de l'[ASN.1].

3.3.3. Booléen

Une valeur de la syntaxe Boolean (Booléen) est l'une des valeurs booléennes, vrai ou faux. Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par l'ABNF suivant :

Boolean = "TRUE" / "FALSE"

La définition LDAP pour la syntaxe Boolean est :

( 1.3.6.1.4.1.1466.115.121.1.7 DESC 'Boolean' )

Cette syntaxe correspond au type ASN.1 BOOLEAN de l'[ASN.1].

3.3.4. Chaîne de pays

Une valeur de la syntaxe Country String (Chaîne de pays) est l'un des codes à deux caractères de l'ISO 3166 [ISO3166] pour représenter un pays. Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par l'ABNF suivant :

CountryString  = 2(PrintableCharacter)

La règle <PrintableCharacter> est définie à la section 3.2.

Exemples :

US
AU

La définition LDAP pour la syntaxe Country String est :

( 1.3.6.1.4.1.1466.115.121.1.11 DESC 'Country String' )

Cette syntaxe correspond au type ASN.1 suivant de [X.520] :

PrintableString (SIZE (2)) -- ISO 3166 codes only

3.3.5. Méthode de livraison

Une valeur de la syntaxe Delivery Method (Méthode de livraison) est une séquence d'éléments qui indiquent, par ordre de préférence, le(s) service(s) par lequel/lesquels une entité est disposée et/ou capable de recevoir des messages. Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par l'ABNF suivant :

DeliveryMethod = pdm *( WSP DOLLAR WSP pdm )

pdm = "any" / "mhs" / "physical" / "telex" / "teletex" /
"g3fax" / "g4fax" / "ia5" / "videotex" / "telephone"

Les règles <WSP> et <DOLLAR> sont définies dans la [RFC4512].

Exemple : telephone $ videotex

La définition LDAP pour la syntaxe Delivery Method est :

( 1.3.6.1.4.1.1466.115.121.1.14 DESC 'Delivery Method' )

Cette syntaxe correspond au type ASN.1 suivant de [X.520] :

SEQUENCE OF INTEGER {
any-delivery-method (0),
mhs-delivery (1),
physical-delivery (2),
telex-delivery (3),
teletex-delivery (4),
g3-facsimile-delivery (5),
g4-facsimile-delivery (6),
ia5-terminal-delivery (7),
videotex-delivery (8),
telephone-delivery (9) }

3.3.6. Chaîne d'annuaire

Une valeur de la syntaxe Directory String (Chaîne d'annuaire) est une chaîne d'un ou plusieurs caractères arbitraires du jeu universel de caractères (UCS) [UCS]. Une chaîne de caractères de longueur nulle n'est pas autorisée. Le codage spécifique à LDAP d'une valeur de cette syntaxe est le codage UTF-8 [RFC3629] de la chaîne de caractères. De tels codages sont conformes à l'ABNF suivant :

DirectoryString = 1*UTF8

La règle <UTF8> est définie dans la [RFC4512].

Exemple : This is a value of Directory String containing #!%#@.

Les serveurs et les clients DOIVENT être préparés à recevoir des points de code UCS arbitraires, y compris des points de code en dehors de la plage ASCII imprimable et des points de code non attribués actuellement à un caractère.

Les définitions de type d'attribut utilisant la syntaxe Directory String ne devraient pas restreindre le format des valeurs Directory String, par exemple, en exigeant que la chaîne de caractères soit conforme à des modèles spécifiques décrits par ABNF. Une nouvelle syntaxe devrait être définie dans de tels cas.

La définition LDAP pour la syntaxe Directory String est :

( 1.3.6.1.4.1.1466.115.121.1.15 DESC 'Directory String' )

Cette syntaxe correspond au type ASN.1 paramétré DirectoryString de [X.520].

Le type ASN.1 DirectoryString permet un choix entre les types ASN.1 TeletexString, PrintableString ou UniversalString de l'[ASN.1]. Cependant, notez que l'alternative choisie n'est pas indiquée dans le codage spécifique à LDAP d'une valeur de chaîne d'annuaire.

Les implémentations qui convertissent les valeurs Directory String du codage spécifique à LDAP au codage BER utilisé par X.500 doivent choisir une alternative qui permet les caractères particuliers dans la chaîne et doivent convertir les caractères du codage UTF-8 dans le codage de caractères de l'alternative choisie. Lors de la conversion des valeurs Directory String du codage BER au codage spécifique à LDAP, les caractères doivent être convertis du codage de caractères de l'alternative choisie en codage UTF-8. Ces conversions DEVRAIENT être effectuées de manière cohérente avec l'étape de transcodage (Transcode) des algorithmes de préparation de chaînes [RFC4518] pour LDAP.

3.3.7. Description de la règle de contenu DIT

Une valeur de la syntaxe DIT Content Rule Description (Description de la règle de contenu DIT) est la définition d'une règle de contenu DIT (Directory Information Tree). Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par la règle <DITContentRuleDescription> dans la [RFC4512].

Exemple :

( 2.5.6.4 DESC 'content rule for organization'
NOT ( x121Address $ telexNumber ) )

Note : Un saut de ligne a été ajouté pour la lisibilité ; il ne fait pas partie de la valeur.

La définition LDAP pour la syntaxe DIT Content Rule Description est :

( 1.3.6.1.4.1.1466.115.121.1.16
DESC 'DIT Content Rule Description' )

Cette syntaxe correspond au type ASN.1 DITContentRuleDescription de [X.501].

3.3.8. Description de la règle de structure DIT

Une valeur de la syntaxe DIT Structure Rule Description (Description de la règle de structure DIT) est la définition d'une règle de structure DIT. Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par la règle <DITStructureRuleDescription> dans la [RFC4512].

Exemple : ( 2 DESC 'organization structure rule' FORM 2.5.15.3 )

La définition LDAP pour la syntaxe DIT Structure Rule Description est :

( 1.3.6.1.4.1.1466.115.121.1.17
DESC 'DIT Structure Rule Description' )

Cette syntaxe correspond au type ASN.1 DITStructureRuleDescription de [X.501].

3.3.9. DN

Une valeur de la syntaxe DN est le nom distinctif (DN) (prétendu) d'une entrée [RFC4512]. Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par la règle <distinguishedName> de la représentation sous forme de chaîne des noms distinctifs [RFC4514].

Exemples (de la [RFC4514]) :

UID=jsmith,DC=example,DC=net
OU=Sales+CN=J. Smith,DC=example,DC=net
CN=John Smith\, III,DC=example,DC=net
CN=Before\0dAfter,DC=example,DC=net
1.3.6.1.4.1.1466.0=#04024869,DC=example,DC=com
CN=Lu\C4\8Di\C4\87

La définition LDAP pour la syntaxe DN est :

( 1.3.6.1.4.1.1466.115.121.1.12 DESC 'DN' )

La syntaxe DN correspond au type ASN.1 DistinguishedName de [X.501]. Notez qu'un nom distinctif codé en BER (tel qu'utilisé par X.500) recodé dans le codage spécifique à LDAP n'est pas nécessairement réversible vers le codage BER d'origine car le type de chaîne choisi dans les composants DirectoryString du nom distinctif n'est pas indiqué dans le codage spécifique à LDAP du nom distinctif (voir la section 3.3.6).

3.3.10. Guide amélioré

Une valeur de la syntaxe Enhanced Guide (Guide amélioré) suggère des critères, qui consistent en des combinaisons de types d'attributs et d'opérateurs de filtrage, à utiliser dans la construction de filtres pour rechercher des entrées de classes d'objets particulières. La syntaxe Enhanced Guide améliore la syntaxe Guide en permettant de spécifier la profondeur de recherche recommandée.

Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par l'ABNF suivant :

EnhancedGuide = object-class SHARP WSP criteria WSP
SHARP WSP subset
object-class = WSP oid WSP
subset = "baseobject" / "oneLevel" / "wholeSubtree"

criteria = and-term *( BAR and-term )
and-term = term *( AMPERSAND term )
term = EXCLAIM term /
attributetype DOLLAR match-type /
LPAREN criteria RPAREN /
true /
false
match-type = "EQ" / "SUBSTR" / "GE" / "LE" / "APPROX"
true = "?true"
false = "?false"
BAR = %x7C ; barre verticale ("|")
AMPERSAND = %x26 ; esperluette ("&")
EXCLAIM = %x21 ; point d'exclamation ("!")

Les règles <SHARP>, <WSP>, <oid>, <LPAREN>, <RPAREN>, <attributetype>, et <DOLLAR> sont définies dans la [RFC4512].

La définition LDAP pour la syntaxe Enhanced Guide est :

( 1.3.6.1.4.1.1466.115.121.1.21 DESC 'Enhanced Guide' )

Exemple : person#(sn$EQ)#oneLevel

La syntaxe Enhanced Guide correspond au type ASN.1 EnhancedGuide de [X.520]. Le type EnhancedGuide fait référence au type ASN.1 Criteria, également de [X.520]. La règle <true>, ci-dessus, représente une expression "et" vide dans une valeur du type Criteria. La règle <false>, ci-dessus, représente une expression "ou" vide dans une valeur du type Criteria.

3.3.11. Numéro de téléphone par télécopie

Une valeur de la syntaxe Facsimile Telephone Number (Numéro de téléphone par télécopie) est un numéro d'abonné d'un appareil de télécopie sur le réseau téléphonique public commuté. Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par l'ABNF suivant :

fax-number       = telephone-number *( DOLLAR fax-parameter )
telephone-number = PrintableString
fax-parameter = "twoDimensional" /
"fineResolution" /
"unlimitedLength" /
"b4Length" /
"a3Width" /
"b4Width" /
"uncompressed"

Le <telephone-number> 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]. 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 Facsimile Telephone Number est :

( 1.3.6.1.4.1.1466.115.121.1.22 DESC 'Facsimile Telephone Number')

La syntaxe Facsimile Telephone Number correspond au type ASN.1 FacsimileTelephoneNumber de [X.520].

3.3.12. Fax

Une valeur de la syntaxe Fax est une image produite à l'aide du processus de télécopie du groupe 3 [FAX] pour dupliquer un objet, tel qu'un mémo. Le codage spécifique à LDAP d'une valeur de cette syntaxe est la chaîne d'octets pour une image de fax du groupe 3 telle que définie dans [FAX].

La définition LDAP pour la syntaxe Fax est :

( 1.3.6.1.4.1.1466.115.121.1.23 DESC 'Fax' )

Le type ASN.1 correspondant à la syntaxe Fax est défini comme suit, en supposant EXPLICIT TAGS :

Fax ::= CHOICE {
g3-facsimile [3] G3FacsimileBodyPart
}

Le type ASN.1 G3FacsimileBodyPart est défini dans [X.420].

3.3.13. Temps généralisé

Une valeur de la syntaxe Generalized Time (Temps généralisé) est une chaîne de caractères représentant une date et une heure. Le codage spécifique à LDAP d'une valeur de cette syntaxe est une restriction du format défini dans l'[ISO8601], et est décrit par l'ABNF suivant :

GeneralizedTime = century year month day hour
[ minute [ second / leap-second ] ]
[ fraction ]
g-time-zone

century = 2(%x30-39) ; "00" à "99"
year = 2(%x30-39) ; "00" à "99"
month = ( %x30 %x31-39 ) ; "01" (Janvier) à "09"
/ ( %x31 %x30-32 ) ; "10" à "12"
day = ( %x30 %x31-39 ) ; "01" à "09"
/ ( %x31-32 %x30-39 ) ; "10" à "29"
/ ( %x33 %x30-31 ) ; "30" à "31"
hour = ( %x30-31 %x30-39 ) / ( %x32 %x30-33 ) ; "00" à "23"
minute = %x30-35 %x30-39 ; "00" à "59"

second = ( %x30-35 %x30-39 ) ; "00" à "59"
leap-second = ( %x36 %x30 ) ; "60"

fraction = ( DOT / COMMA ) 1*(%x30-39)
g-time-zone = %x5A ; "Z"
/ g-differential
g-differential = ( MINUS / PLUS ) hour [ minute ]
MINUS = %x2D ; signe moins ("-")

Les règles <DOT>, <COMMA>, et <PLUS> sont définies 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 (par exemple, le 31 février 1994). De telles chaînes de caractères DEVRAIENT être considérées comme invalides pour cette syntaxe.

La valeur de temps représente le temps universel coordonné (équivalent à l'heure moyenne de Greenwich) si la forme "Z" de <g-time-zone> est utilisée ; sinon, la valeur représente une heure locale dans le fuseau horaire indiqué par <g-differential>. Dans ce dernier cas, le temps universel coordonné peut être calculé en soustrayant le différentiel de l'heure locale. La forme "Z" de <g-time-zone> DEVRAIT être utilisée de préférence à <g-differential>.

Si <minute> est omis, alors <fraction> représente une fraction d'heure ; sinon, si <second> et <leap-second> sont omis, alors <fraction> représente une fraction de minute ; sinon, <fraction> représente une fraction de seconde.

Exemples :

199412161032Z
199412160532-0500

Les deux exemples de valeurs représentent le même temps universel coordonné : 10h32, le 16 décembre 1994.

La définition LDAP pour la syntaxe Generalized Time est :

( 1.3.6.1.4.1.1466.115.121.1.24 DESC 'Generalized Time' )

Cette syntaxe correspond au type ASN.1 GeneralizedTime de l'[ASN.1], avec la contrainte que l'heure locale sans différentiel NE DOIT PAS être utilisée.

3.3.14. Guide

Une valeur de la syntaxe Guide suggère des critères, qui consistent en des combinaisons de types d'attributs et d'opérateurs de filtrage, à utiliser dans la construction de filtres pour rechercher des entrées de classes d'objets particulières. La syntaxe Guide est obsolète et ne devrait pas être utilisée pour définir de nouveaux types d'attributs.

Le codage spécifique à LDAP d'une valeur de cette syntaxe est défini par l'ABNF suivant :

Guide = [ object-class SHARP ] criteria

Les règles <object-class> et <criteria> sont définies à la section 3.3.10. La règle <SHARP> est définie dans la [RFC4512].

La définition LDAP pour la syntaxe Guide est :

( 1.3.6.1.4.1.1466.115.121.1.25 DESC 'Guide' )

La syntaxe Guide correspond au type ASN.1 Guide de [X.520].

3.3.15. Chaîne IA5

Une valeur de la syntaxe IA5 String (Chaîne IA5) est une chaîne de zéro, un ou plusieurs caractères de l'alphabet international 5 (IA5) [T.50], la version internationale du jeu de caractères ASCII. 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 <IA5String> de la section 3.2.

La définition LDAP pour la syntaxe IA5 String est :

( 1.3.6.1.4.1.1466.115.121.1.26 DESC 'IA5 String' )

Cette syntaxe correspond au type ASN.1 IA5String de l'[ASN.1].

3.3.16. Entier

Une valeur de la syntaxe Integer (Entier) est un nombre entier de grandeur illimitée. Le codage spécifique à LDAP d'une valeur de cette syntaxe est la représentation sous forme de chaîne de caractères décimaux, éventuellement signés, du nombre (par exemple, le nombre 1321 est représenté par la chaîne de caractères "1321"). Le codage est défini par l'ABNF suivant :

Integer = ( HYPHEN LDIGIT *DIGIT ) / number

Les règles <HYPHEN>, <LDIGIT>, <DIGIT>, et <number> sont définies dans la [RFC4512].

La définition LDAP pour la syntaxe Integer est :

( 1.3.6.1.4.1.1466.115.121.1.27 DESC 'INTEGER' )

Cette syntaxe correspond au type ASN.1 INTEGER de l'[ASN.1].

3.3.17. JPEG

Une valeur de la syntaxe JPEG est une image au format JPEG File Interchange Format (JFIF), tel que décrit dans [JPEG]. Le codage spécifique à LDAP d'une valeur de cette syntaxe est la séquence d'octets du codage JFIF de l'image.

La définition LDAP pour la syntaxe JPEG est :

( 1.3.6.1.4.1.1466.115.121.1.28 DESC 'JPEG' )

La syntaxe JPEG correspond au type ASN.1 suivant :

JPEG ::= OCTET STRING (CONSTRAINED BY
{ -- contents octets are an image in the --
-- JPEG File Interchange Format -- })