Appendice A. Modifiche
Questa appendice non è normativa.
Il presente documento costituisce una riscrittura quasi completa di parti di RFC 2251, RFC 2252 e RFC 2256, intrapresa per migliorare la chiarezza complessiva della specifica tecnica. Questa appendice riassume le modifiche sostanziali apportate alle parti incorporate. Per le parti rimanenti, consultare [RFC4510], [RFC4511], [RFC4517] e [RFC4519].
A.1. Modifiche a RFC 2251
Il documento incorpora le Sezioni 3.2 e 3.4 e parti delle Sezioni 4 e 6 di RFC 2251, come riassunto di seguito.
A.1.1. Sezione 3.2 di RFC 2251
La Sezione 3.2 introduceva brevemente il modello di dati X.500 usato da LDAP. La specifica precedente si basava su [X.501], ma non chiariva come i modelli X.500 fossero adattati a LDAP. Il presente documento li descrive più in dettaglio, soprattutto dove è necessario adattarli.
La Sezione 3.2.1 descriveva un attributo come «un tipo con uno o più valori associati». In LDAP è meglio descriverlo come una descrizione di attributo, cioè un tipo con zero o più opzioni, e uno o più valori associati.
La Sezione 3.2.2 imponeva che le sottovoci di sottoschema contenessero objectClasses e attributeTypes, mentre X.500(93) li considera facoltativi. In genere le implementazioni che supportano i meccanismi X.500(93) li forniscono entrambi, ma l’interoperabilità non richiede in assoluto che lo facciano tutti i server. L’obbligo è stato rimosso per coerenza con X.500(93). È stato inoltre chiarito che il sottoschema che controlla una voce si ottiene leggendo la (sotto)voce indicata dal suo attributo 'subschemaSubentry'.
A.1.2. Sezione 3.4 di RFC 2251
La Sezione 3.4 forniva i «requisiti dei dati specifici del server». Il materiale, modificato, è stato incorporato nella Sezione 5.1.
Modifiche:
- chiarire che gli attributi della DSE radice sono soggetti ad «altre limitazioni» oltre al controllo degli accessi;
- chiarire che in 'supportedExtension' devono essere elencate solo le richieste estese riconosciute;
- chiarire che in 'supportedControl' devono essere elencati solo i controlli di richiesta riconosciuti;
- chiarire che gli attributi della DSE radice sono operativi e non vengono restituiti se non richiesti per nome;
- chiarire che non tutti sono modificabili dall’utente;
- rimuovere il testo incoerente su 'subschemaSubentry' nella DSE radice. La specifica precedente affermava che rimandava alle «voci (o sottovoci) di sottoschema note a questo server», in contrasto con l’uso previsto e con la definizione formale di attributo monovalore [X.501]. Una semplice lista, potenzialmente incompleta, è inoltre poco utile. La Sezione 5.1 stabilisce che rimanda al sottoschema che controlla la DSE radice. Il meccanismo generale resta disponibile (vedere la Sezione 4.4).
A.1.3. Sezione 4 di RFC 2251
Le parti sul modello informativo LDAP incorporate comprendono:
- la limitazione dei valori distintivi agli attributi le cui descrizioni non hanno opzioni (Sezione 4.1.3);
- gli aspetti del modello di dati dei tipi di attributo (4.1.4), descrizioni di attributo (4.1.5), attributi (4.1.8) e identificatori di regole di corrispondenza (4.1.9);
- i requisiti dello schema utente (4.1.6, 4.5.1 e 4.7).
I chiarimenti comprendono:
- sottotipizzazione e AttributeDescriptions con opzioni.
A.1.4. Sezione 6 di RFC 2251
La Sezione 6.1 e il secondo paragrafo della Sezione 6.2 sono stati incorporati.
A.2. Modifiche a RFC 2252
Il documento incorpora le Sezioni 4, 5 e 7 di RFC 2252.
A.2.1. Sezione 4 di RFC 2252
La specifica è stata aggiornata per usare Augmented BNF [RFC4234]. La rappresentazione testuale di un OBJECT IDENTIFIER è stata resa più rigorosa per vietare gli zeri iniziali, come descritto in RFC 2252.
La sintassi
RFC 2252 affermava che la forma
L’ABNF per una stringa tra virgolette (qdstring) è stata aggiornata per supportare il meccanismo di escape della Sezione 4.3 di RFC 2252.
A.2.2. Sezione 5 di RFC 2252
Le definizioni degli attributi operativi fornite in questa sezione sono state incorporate.
'namingContexts' è stato chiarito: un DSA di primo livello dovrebbe pubblicare, oltre agli altri valori, "" per indicare la radice del DIT.
'altServer' può contenere qualsiasi URI.
Per 'supportedExtension', un server deve elencare soltanto gli OBJECT IDENTIFIER associati alle richieste estese delle operazioni estese riconosciute.
Per 'supportedControl', deve elencare soltanto gli OBJECT IDENTIFIER associati ai controlli di richiesta riconosciuti.
Sono state aggiunte le descrizioni di 'structuralObjectClass' e 'governingStructureRule'.
La definizione di 'subschemaSubentry' è stata corretta per elencare SINGLE-VALUE e NO-USER-MODIFICATION nell’ordine appropriato.
A.2.3. Sezione 7 di RFC 2252
Questa sezione definiva le classi 'subschema' e 'extensibleObject', integrate rispettivamente nelle Sezioni 4.2 e 4.3. Il requisito di implementazione delle classi di oggetti è stato incorporato nella Sezione 7.
È stata chiarita l’interazione di 'extensibleObject' con gli attributi vietati.
A.3. Modifiche a RFC 2256
Il documento incorpora le Sezioni 5.1, 5.2, 7.1 e 7.2 di RFC 2256.
La definizione di 'objectClass' della Sezione 5.1 è stata integrata nella Sezione 2.4.1. «Uno dei valori è 'top' oppure 'alias'» è stato sostituito con l’affermazione che uno dei valori è 'top', poiché anche le voci appartenenti ad 'alias' appartengono a 'top'.
La definizione di 'aliasedObjectName' della Sezione 5.2 è stata integrata nella Sezione 2.6.2.
La definizione della classe 'top' della Sezione 7.1 è stata integrata nella Sezione 2.4.1.
La definizione della classe 'alias' della Sezione 7.2 è stata integrata nella Sezione 2.6.1.
A.4. Modifiche a RFC 3674
Il documento non apporta modifiche sostanziali alla specifica tecnica di 'supportedFeatures' fornita in RFC 3674.