附录 A. 变更
本附录不具规范性.
本文档几乎完全重写了 RFC 2251, RFC 2252 和 RFC 2256 的部分内容. 此次 重写旨在提高技术规范的整体清晰度. 本附录概述从这些文档纳入本文档的 部分所作的实质性变更. 有关这些文档其余部分的变更摘要, 读者应参阅 [RFC4510], [RFC4511], [RFC4517] 和 [RFC4519].
A.1. 对 RFC 2251 的变更
本文档纳入了 RFC 2251 的第 3.2 节和第 3.4 节, 以及第 4 节和第 6 节的 部分内容, 摘要如下.
A.1.1. RFC 2251 第 3.2 节
RFC 2251 第 3.2 节简要介绍了 LDAP 所使用的 X.500 数据模型. 先前规范 依赖 [X.501], 但没有清晰说明如何调整 X.500 模型以供 LDAP 使用. 本文档 更详细地描述 LDAP 所使用的 X.500 数据模型, 尤其是需要调整的方面.
RFC 2251 第 3.2.1 节将属性描述为"一个类型及一个或多个关联值". 在 LDAP 中, 将属性描述为属性描述, 一个含零个或多个选项的类型以及一个或多个 关联值更为准确.
RFC 2251 第 3.2.2 节强制要求子模式子条目包含 objectClasses 和 attributeTypes 属性, 但 X.500(93) 将这些属性视为可选. 一般而言, 支持 X.500(93) 子模式机制的所有实现都会提供这两个属性, 但互操作性并不绝对 要求所有服务器都这样做. 为与 X.500(93) 保持一致, 该强制要求已删除. 子模式发现机制也得到澄清: 控制某个条目的子模式, 通过读取该条目 'subschemaSubentry' 属性所引用的 (子)条目获得.
A.1.2. RFC 2251 第 3.4 节
RFC 2251 第 3.4 节规定了"服务器特定数据要求". 该材料经过修改后纳入 本文档第 5.1 节.
变更:
-
澄清根 DSE 的属性除受访问控制约束外, 还受"其他限制"约束.
-
澄清只有可识别的扩展请求才需要在 'supportedExtension' 中列举.
-
澄清只有可识别的请求控制才需要在 'supportedControl' 中列举.
-
澄清根 DSE 属性是操作属性; 与其他操作属性一样, 除非按名称请求, 否则搜索请求不会返回这些属性.
-
澄清并非所有根 DSE 属性都可由用户修改.
-
删除关于根 DSE 内 'subschemaSubentry' 属性处理的不一致文本. 先前规范 称根 DSE 中的 'subschemaSubentry' 属性指向"本服务器已知的子模式子条目 (或子条目)". 这既不符合该属性的预期用途, 也不符合其作为单值属性的 正式定义 [X.501]. 还应注意, 一个简单的 (可能不完整的) 子模式子条目 列表并没有太大用处. 本文档第 5.1 节规定, 根 DSE 的 'subschemaSubentry' 属性指向控制根 DSE 的子模式. 一般子模式发现机制 仍然可用 (见本文档第 4.4 节).
A.1.3. RFC 2251 第 4 节
RFC 2251 第 4 节中详述 LDAP 信息模型各方面的部分内容已纳入本文档, 包括:
-
将可分辨值限制为描述中不含选项的属性 (来自第 4.1.3 节);
-
属性类型 (第 4.1.4 节), 属性描述 (第 4.1.5 节), 属性 (第 4.1.8 节) 和匹配规则标识符 (第 4.1.9 节) 的数据模型方面; 以及
-
用户模式要求 (来自第 4.1.6, 4.5.1 和 4.7 节).
对这些部分的澄清包括:
- 子类型化以及带选项的 AttributeDescriptions.
A.1.4. RFC 2251 第 6 节
RFC 2251 第 6.1 节和第 6.2 节第二段已纳入本文档.
A.2. 对 RFC 2252 的变更
本文档纳入了 RFC 2252 的第 4, 5 和 7 节.
A.2.1. RFC 2252 第 4 节
规范已更新为使用扩充 BNF (Augmented BNF) [RFC4234].OBJECT IDENTIFIER 的字符串表示得到收紧, 按 RFC 2252 所述禁止前导零.
为与其自然语言规范"descr 是对象描述符的语法表示, 由字母和数字组成,
并以字母开头"保持一致,
RFC 2252 规定应优先采用
引用字符串 (qdstring) 的 ABNF 已更新, 以反映对 RFC 2252 第 4.3 节所述 转义机制的支持.
A.2.2. RFC 2252 第 5 节
RFC 2252 第 5 节提供的操作属性定义已纳入本文档.
'namingContexts' 的描述得到澄清. 第一级 DSA 除其他值外, 还应发布表示 DIT 根的 "".
'altServer' 的描述得到澄清. 它可以保存任何 URI.
'supportedExtension' 的描述得到澄清. 服务器只需列出与其可识别扩展操作 的扩展请求相关联的 OBJECT IDENTIFIER.
'supportedControl' 的描述得到澄清. 服务器只需列出与其可识别请求控制 相关联的 OBJECT IDENTIFIER.
增加了 'structuralObjectClass' 和 'governingStructureRule' 操作属性类型 的描述.
修正了 'subschemaSubentry' 属性定义, 以正确顺序列出术语 SINGLE-VALUE 和 NO-USER-MODIFICATION.
A.2.3. RFC 2252 第 7 节
RFC 2252 第 7 节提供 'subschema' 和 'extensibleObject' 对象类的定义. 这些定义分别整合到本文档第 4.2 节和第 4.3 节.RFC 2252 第 7 节还包含 对象类实现要求, 该要求已纳入本文档第 7 节.
关于 'extensibleObject' 与被排除属性之间的交互, 规范得到澄清.
A.3. 对 RFC 2256 的变更
本文档纳入 RFC 2256 的第 5.1, 5.2, 7.1 和 7.2 节.
RFC 2256 第 5.1 节提供 'objectClass' 属性类型的定义, 该定义已整合到 本文档第 2.4.1 节."其中一个值是 'top' 或 'alias'"这一陈述被替换为 其中一个值是 'top', 因为属于 'alias' 的条目也属于 'top'.
RFC 2256 第 5.2 节提供 'aliasedObjectName' 属性类型的定义, 该定义已 整合到本文档第 2.6.2 节.
RFC 2256 第 7.1 节提供 'top' 对象类的定义, 该定义已整合到本文档 第 2.4.1 节.
RFC 2256 第 7.2 节提供 'alias' 对象类的定义, 该定义已整合到本文档 第 2.6.1 节.
A.4. 对 RFC 3674 的变更
本文档未对 RFC 3674 提供的 'supportedFeatures' 技术规范作任何实质性 变更.