4. Elementi del protocollo (Elements of Protocol)
Questo protocollo è descritto mediante l'Abstract Syntax Notation One ([ASN.1]) e trasferito utilizzando un sottoinsieme delle Basic Encoding Rules ([BER]) dell'ASN.1. La sezione 5 definisce come gli elementi di protocollo sono codificati e trasferiti.
Per supportare l'estensione futura di questo protocollo, l'estensibilità è implicita nei punti consentiti dall'ASN.1, ovvero i tipi sequence, set, choice ed enumerated sono estensibili. Inoltre, i tipi ASN.1 esplicitamente estensibili sono dotati di ellissi (...) come descritto in [RFC4520]. A causa di questa estensibilità implicita, salvo diversa indicazione, client e server DEVONO ignorare i componenti finali (trailing) di una SEQUENCE con tag non riconosciuto.
Le modifiche al protocollo diverse dal meccanismo di estensione descritto in questo documento richiedono un numero di versione diverso. Il client indica la versione utilizzata nel BindRequest. Se il client non ha ancora inviato un Bind, il server DEVE presumere che il client utilizzi la versione 3 o superiore.
Il client può tentare di determinare la versione di protocollo supportata dal server leggendo l'attributo supportedLDAPVersion nella root DSE (DSA-Specific Entry) [RFC4512].
4.1. Elementi comuni (Common Elements)
Questa sezione descrive il formato dell'inviluppo PDU LDAPMessage nonché le definizioni dei tipi di dati utilizzati nelle operazioni di protocollo.
I principali argomenti del capitolo 4 sono i seguenti:
- 4.1 Common Elements
- 4.2 Bind Operation
- 4.3 Unbind Operation
- 4.4 Unsolicited Notification
- 4.5 Search Operation
- 4.6 Modify Operation
- 4.7 Add Operation
- 4.8 Delete Operation
- 4.9 Modify DN Operation
- 4.10 Compare Operation
- 4.11 Abandon Operation
- 4.12 Extended Operation
- 4.13 IntermediateResponse Message
- 4.14 StartTLS Operation
Queste operazioni definiscono complessivamente l'inviluppo dei messaggi LDAP, l'autenticazione, la ricerca (search), l'aggiornamento (update), il confronto (compare), l'abbandono (abandon), l'operazione estesa (extended operation) e il comportamento di StartTLS.