Passa al contenuto principale

3.3. Definizioni di sintassi (L-U)

3.3.18. Descrizione della sintassi LDAP

Un valore della sintassi LDAP Syntax Description (Descrizione della sintassi LDAP) è la descrizione di una sintassi LDAP. La codifica specifica LDAP di un valore di questa sintassi è definita dalla regola <SyntaxDescription> in [RFC4512].

La definizione LDAP per la sintassi LDAP Syntax Description è:

( 1.3.6.1.4.1.1466.115.121.1.54 DESC 'LDAP Syntax Description' )

La definizione LDAP per la sintassi LDAP Syntax Description sopra riportata è essa stessa un valore legale della sintassi LDAP Syntax Description.

Il tipo ASN.1 corrispondente alla sintassi LDAP Syntax Description è definito come segue, assumendo EXPLICIT TAGS:

LDAPSyntaxDescription ::= SEQUENCE {
identifier OBJECT IDENTIFIER,
description DirectoryString { ub-schema } OPTIONAL }

Il tipo ASN.1 parametrizzato DirectoryString è definito in [X.520].

Il valore di ub-schema (un intero) è specifico dell'implementazione. Una definizione non normativa appare in [X.520].

3.3.19. Descrizione della regola di corrispondenza

Un valore della sintassi Matching Rule Description (Descrizione della regola di corrispondenza) è la definizione di una regola di corrispondenza. La codifica specifica LDAP di un valore di questa sintassi è definita dalla regola <MatchingRuleDescription> in [RFC4512].

Esempio:

( 2.5.13.2 NAME 'caseIgnoreMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )

Nota: sono state aggiunte interruzioni di riga per leggibilità; non fanno parte della sintassi.

La definizione LDAP per la sintassi Matching Rule Description è:

( 1.3.6.1.4.1.1466.115.121.1.30 DESC 'Matching Rule Description' )

Questa sintassi corrisponde al tipo ASN.1 MatchingRuleDescription da [X.501].

3.3.20. Descrizione dell'uso della regola di corrispondenza

Un valore della sintassi Matching Rule Use Description (Descrizione dell'uso della regola di corrispondenza) indica i tipi di attributo a cui una regola di corrispondenza può essere applicata in un filtro di ricerca extensibleMatch [RFC4511]. La codifica specifica LDAP di un valore di questa sintassi è definita dalla regola <MatchingRuleUseDescription> in [RFC4512].

Esempio: ( 2.5.13.16 APPLIES ( givenName $ surname ) )

La definizione LDAP per la sintassi Matching Rule Use Description è:

( 1.3.6.1.4.1.1466.115.121.1.31
DESC 'Matching Rule Use Description' )

Questa sintassi corrisponde al tipo ASN.1 MatchingRuleUseDescription da [X.501].

3.3.21. Nome e UID opzionale

Un valore della sintassi Name and Optional UID (Nome e UID opzionale) è il nome distinto [RFC4512] di un'entità, opzionalmente accompagnato da un identificatore univoco utilizzato per differenziare tale entità da altre entità che hanno lo stesso nome distinto.

La codifica specifica LDAP di un valore di questa sintassi è definita dalla seguente ABNF:

NameAndOptionalUID = distinguishedName [ SHARP BitString ]

La regola <BitString> è definita nella Sezione 3.3.2. La regola <distinguishedName> è definita in [RFC4514]. La regola <SHARP> è definita in [RFC4512].

Si noti che sebbene il carattere '#' possa apparire nella rappresentazione di stringa di un nome distinto, non viene eseguito alcun escape aggiuntivo di tale carattere quando il <distinguishedName> è codificato in <NameAndOptionalUID>.

Esempio: 1.3.6.1.4.1.1466.0=#04024869,O=Test,C=GB#'0101'B

La definizione LDAP per la sintassi Name and Optional UID è:

( 1.3.6.1.4.1.1466.115.121.1.34 DESC 'Name And Optional UID' )

Questa sintassi corrisponde al tipo ASN.1 NameAndOptionalUID da [X.520].

3.3.22. Descrizione della forma del nome

Un valore della sintassi Name Form Description (Descrizione della forma del nome) è la definizione di una forma del nome, che prescrive come una voce deve essere nominata. La codifica specifica LDAP di un valore di questa sintassi è definita dalla regola <NameFormDescription> in [RFC4512].

Esempio: ( 2.5.15.3 NAME 'orgNameForm' OC organization MUST o )

La definizione LDAP per la sintassi Name Form Description è:

( 1.3.6.1.4.1.1466.115.121.1.35 DESC 'Name Form Description' )

Questa sintassi corrisponde al tipo ASN.1 NameFormDescription da [X.501].

3.3.23. Stringa numerica

Un valore della sintassi Numeric String (Stringa numerica) è una sequenza di una o più cifre e spazi. La codifica specifica LDAP di un valore di questa sintassi è la stringa di caratteri non convertita, che è conforme alla seguente ABNF:

NumericString = 1*(DIGIT / SPACE)

Le regole <DIGIT> e <SPACE> sono definite in [RFC4512].

Esempio: 15 079 672 281

La definizione LDAP per la sintassi Numeric String è:

( 1.3.6.1.4.1.1466.115.121.1.36 DESC 'Numeric String' )

Questa sintassi corrisponde al tipo ASN.1 NumericString da [ASN.1].

3.3.24. Descrizione della classe di oggetti

Un valore della sintassi Object Class Description (Descrizione della classe di oggetti) è la definizione di una classe di oggetti. La codifica specifica LDAP di un valore di questa sintassi è definita dalla regola <ObjectClassDescription> in [RFC4512].

Esempio:

( 2.5.6.2 NAME 'country' SUP top STRUCTURAL MUST c
MAY ( searchGuide $ description ) )

Nota: sono state aggiunte interruzioni di riga per leggibilità; non fanno parte della sintassi.

La definizione LDAP per la sintassi Object Class Description è:

( 1.3.6.1.4.1.1466.115.121.1.37 DESC 'Object Class Description' )

Questa sintassi corrisponde al tipo ASN.1 ObjectClassDescription da [X.501].

3.3.25. Stringa di ottetti

Un valore della sintassi Octet String (Stringa di ottetti) è una sequenza di zero, uno o più ottetti arbitrari. La codifica specifica LDAP di un valore di questa sintassi è la sequenza di ottetti non convertita, che è conforme alla seguente ABNF:

OctetString = *OCTET

La regola <OCTET> è definita in [RFC4512]. I valori di questa sintassi non sono generalmente leggibili dall'uomo.

La definizione LDAP per la sintassi Octet String è:

( 1.3.6.1.4.1.1466.115.121.1.40 DESC 'Octet String' )

Questa sintassi corrisponde al tipo ASN.1 OCTET STRING da [ASN.1].

3.3.26. OID

Un valore della sintassi OID è un identificatore di oggetto: una sequenza di due o più interi non negativi che identifica in modo univoco un oggetto o un elemento di specifica particolare. Molti identificatori di oggetto utilizzati in LDAP hanno anche nomi registrati presso lo IANA [RFC4520].

La codifica specifica LDAP di un valore di questa sintassi è definita dalla regola <oid> in [RFC4512].

Esempio:

1.2.3.4
cn

La definizione LDAP per la sintassi OID è:

( 1.3.6.1.4.1.1466.115.121.1.38 DESC 'OID' )

Questa sintassi corrisponde al tipo ASN.1 OBJECT IDENTIFIER da [ASN.1].

3.3.27. Altra casella postale

Un valore della sintassi Other Mailbox (Altra casella postale) identifica una casella postale elettronica in un particolare sistema di posta denominato. La codifica specifica LDAP di un valore di questa sintassi è definita dalla seguente ABNF:

OtherMailbox = mailbox-type DOLLAR mailbox
mailbox-type = PrintableString
mailbox = IA5String

La regola <mailbox-type> rappresenta il tipo di sistema di posta in cui risiede la casella postale (ad esempio "MCIMail"), e <mailbox> è la casella postale effettiva all'interno del sistema di posta descritto da <mailbox-type>. Le regole <PrintableString> e <IA5String> sono definite nella Sezione 3.2. La regola <DOLLAR> è definita in [RFC4512].

La definizione LDAP per la sintassi Other Mailbox è:

( 1.3.6.1.4.1.1466.115.121.1.39 DESC 'Other Mailbox' )

Il tipo ASN.1 corrispondente alla sintassi Other Mailbox è definito come segue, assumendo EXPLICIT TAGS:

OtherMailbox ::= SEQUENCE {
mailboxType PrintableString,
mailbox IA5String
}

3.3.28. Indirizzo postale

Un valore della sintassi Postal Address (Indirizzo postale) è una sequenza di una o più stringhe di caratteri UCS arbitrari, che formano un indirizzo in un sistema postale fisico.

La codifica specifica LDAP di un valore di questa sintassi è definita dalla seguente ABNF:

PostalAddress = line *( DOLLAR line )
line = 1*line-char
line-char = %x00-23
/ (%x5C "24") ; escape "$"
/ %x25-5B
/ (%x5C "5C") ; escape "\"
/ %x5D-7F
/ UTFMB

Ogni stringa (cioè, <line>) di un valore Postal Address è codificata come una stringa UTF-8 [RFC3629], tranne per il fatto che i caratteri "" e "$", se appaiono nella stringa, sono preceduti da un carattere di escape "" seguito dal codice esadecimale a due cifre per il carattere. Le regole <DOLLAR> e <UTFMB> sono definite in [RFC4512].

Molti server limitano gli indirizzi postali a sei righe di non più di trenta caratteri ciascuna.

Esempio:

1234 Main St.$Anytown, CA 12345$USA
\241,000,000 Sweepstakes$PO Box 1000000$Anytown, CA 12345$USA

La definizione LDAP per la sintassi Postal Address è:

( 1.3.6.1.4.1.1466.115.121.1.41 DESC 'Postal Address' )

Questa sintassi corrisponde al tipo ASN.1 PostalAddress da [X.520]; cioè

PostalAddress ::= SEQUENCE SIZE(1..ub-postal-line) OF
DirectoryString { ub-postal-string }

I valori di ub-postal-line e ub-postal-string (entrambi interi) sono specifici dell'implementazione. Le definizioni non normative appaiono in [X.520].

3.3.29. Stringa stampabile

Un valore della sintassi Printable String (Stringa stampabile) è una stringa di uno o più caratteri alfabetici latini, cifre e caratteri di punteggiatura selezionati, come specificato dalla regola <PrintableCharacter> nella Sezione 3.2.

La codifica specifica LDAP di un valore di questa sintassi è la stringa di caratteri non convertita, che è conforme alla regola <PrintableString> nella Sezione 3.2.

Esempio: This is a PrintableString.

La definizione LDAP per la sintassi Printable String è:

( 1.3.6.1.4.1.1466.115.121.1.44 DESC 'Printable String' )

Questa sintassi corrisponde al tipo ASN.1 PrintableString da [ASN.1].

3.3.30. Asserzione di sottostringa

Un valore della sintassi Substring Assertion (Asserzione di sottostringa) è una sequenza di zero, una o più sottostringhe di caratteri utilizzate come argomento per la corrispondenza estensibile di sottostringhe su valori di attributo stringa; cioè, come matchValue di una MatchingRuleAssertion [RFC4511]. Ogni sottostringa è una stringa di uno o più caratteri arbitrari dal set di caratteri universale (UCS) [UCS]. Le sottostringhe di lunghezza zero non sono consentite.

La codifica specifica LDAP di un valore di questa sintassi è definita dalla seguente ABNF:

SubstringAssertion = [ initial ] any [ final ]

initial = substring
any = ASTERISK *(substring ASTERISK)
final = substring
ASTERISK = %x2A ; asterisco ("*")

substring = 1*substring-character
substring-character = %x00-29
/ (%x5C "2A") ; escape "*"
/ %x2B-5B
/ (%x5C "5C") ; escape "\"
/ %x5D-7F
/ UTFMB

Ogni <substring> di un valore Substring Assertion è codificata come una stringa UTF-8 [RFC3629], tranne per il fatto che i caratteri "" e "*", se appaiono in una sottostringa, sono preceduti da un carattere di escape "" seguito dal codice esadecimale a due cifre per il carattere.

La sintassi Substring Assertion viene utilizzata solo come sintassi di un valore di asserzione in una corrispondenza estensibile. Non viene utilizzata come sintassi di attributo o in un SubstringFilter [RFC4511].

La definizione LDAP per la sintassi Substring Assertion è:

( 1.3.6.1.4.1.1466.115.121.1.58 DESC 'Substring Assertion' )

Questa sintassi corrisponde al tipo ASN.1 SubstringAssertion da [X.520].

3.3.31. Numero di telefono

Un valore della sintassi Telephone Number (Numero di telefono) è una stringa di caratteri stampabili conforme al formato concordato a livello internazionale per rappresentare i numeri di telefono internazionali [E.123].

La codifica specifica LDAP di un valore di questa sintassi è la stringa di caratteri non convertita, che è conforme alla regola <PrintableString> nella Sezione 3.2.

Esempio:

+1 512 315 0280
+1-512-315-0280
+61 3 9896 7830

La definizione LDAP per la sintassi Telephone Number è:

( 1.3.6.1.4.1.1466.115.121.1.50 DESC 'Telephone Number' )

La sintassi Telephone Number corrisponde al seguente tipo ASN.1 da [X.520]:

PrintableString (SIZE(1..ub-telephone-number))

Il valore di ub-telephone-number (un intero) è specifico dell'implementazione. Una definizione non normativa appare in [X.520].

3.3.32. Identificatore di terminale Teletex

Un valore di questa sintassi specifica l'identificatore, e opzionalmente i parametri, per un terminale Teletex.

La codifica specifica LDAP di un valore di questa sintassi è definita dalla seguente ABNF:

teletex-id = ttx-term *(DOLLAR ttx-param)
ttx-term = PrintableString ; identificatore del terminale
ttx-param = ttx-key COLON ttx-value ; parametro
ttx-key = "graphic" / "control" / "misc" / "page" / "private"
ttx-value = *ttx-value-octet

ttx-value-octet = %x00-23
/ (%x5C "24") ; escape "$"
/ %x25-5B
/ (%x5C "5C") ; escape "\"
/ %x5D-FF

Le regole <PrintableString> e <COLON> sono definite nella Sezione 3.2. La regola <DOLLAR> è definita in [RFC4512].

La definizione LDAP per la sintassi Teletex Terminal Identifier è:

( 1.3.6.1.4.1.1466.115.121.1.51
DESC 'Teletex Terminal Identifier' )

Questa sintassi corrisponde al tipo ASN.1 TeletexTerminalIdentifier da [X.520].

3.3.33. Numero Telex

Un valore della sintassi Telex Number (Numero Telex) specifica il numero telex, il codice paese e il codice di risposta di un terminale telex.

La codifica specifica LDAP di un valore di questa sintassi è definita dalla seguente ABNF:

telex-number  = actual-number DOLLAR country-code
DOLLAR answerback
actual-number = PrintableString
country-code = PrintableString
answerback = PrintableString

La regola <PrintableString> è definita nella Sezione 3.2. La regola <DOLLAR> è definita in [RFC4512].

La definizione LDAP per la sintassi Telex Number è:

( 1.3.6.1.4.1.1466.115.121.1.52 DESC 'Telex Number' )

Questa sintassi corrisponde al tipo ASN.1 TelexNumber da [X.520].

3.3.34. Ora UTC

Un valore della sintassi UTC Time (Ora UTC) è una stringa di caratteri che rappresenta una data e un'ora con una precisione di un minuto o di un secondo. L'anno è dato con due cifre. La codifica specifica LDAP di un valore di questa sintassi segue il formato definito in [ASN.1] per il tipo UTCTime, ed è descritta dalla seguente ABNF:

UTCTime         = year month day hour minute [ second ]
[ u-time-zone ]
u-time-zone = %x5A ; "Z"
/ u-differential
u-differential = ( MINUS / PLUS ) hour minute

Le regole <year>, <month>, <day>, <hour>, <minute>, <second> e <MINUS> sono definite nella Sezione 3.3.13. La regola <PLUS> è definita in [RFC4512].

La suddetta ABNF consente stringhe di caratteri che non rappresentano date valide (nel calendario gregoriano) e/o orari validi. Tali stringhe di caratteri DOVREBBERO essere considerate non valide per questa sintassi.

Se viene utilizzata la forma "Z" di <u-time-zone>, allora il valore temporale rappresenta il tempo coordinato universale; in caso contrario, il valore rappresenta l'ora locale. In quest'ultimo caso, se viene fornito <u-differential>, allora il tempo coordinato universale può essere calcolato sottraendo il differenziale dall'ora locale. <u-time-zone> DOVREBBE essere presente nei valori temporali e la forma "Z" di <u-time-zone> DOVREBBE essere utilizzata preferibilmente a <u-differential>.

La definizione LDAP per la sintassi UTC Time è:

( 1.3.6.1.4.1.1466.115.121.1.53 DESC 'UTC Time' )

Nota: Questa sintassi è deprecata a favore della sintassi Generalized Time.

La sintassi UTC Time corrisponde al tipo ASN.1 UTCTime da [ASN.1].