Add attribute uniqueness plugin implementation that provides single-server
attribute uniqueness. The plugin has the following features:
- provides ability to specify a group of attribute types that must have
unique values; if no attribute types are specified then the plugin allows
the operations to proceed with no checking
- provides ability to specify a set of base DNs that limit the scope of the
uniqueness checking; if no base DNs are specified the server's public
naming contexts are used
- allow changing of these configuration options without server restart
- allows the uniqueness checking to span multiple base DNs; if the server's
public naming contexts are used, then the specified attribute type values must
be globally unique within the server
Two configuration attributes have been added:
1. ds-cfg-unique-attribute-type used to specify the unique attribute type(s)
2. ds-cfg-unique-attribute-base-dn used specify the base DN(s) to limit the search scope
A disabled plugin configuration has been added to the config.ldif file for the uid attribute:
dn: cn=UID Unique Attribute ,cn=Plugins,cn=config
objectClass: top
objectClass: ds-cfg-plugin
objectClass: ds-cfg-unique-attribute-plugin
cn: UID Unique Attribute
ds-cfg-plugin-class: org.opends.server.plugins.UniqueAttributePlugin
ds-cfg-plugin-enabled: false
ds-cfg-plugin-type: preOperationAdd
ds-cfg-plugin-type: preOperationModify
ds-cfg-plugin-type: preOperationModifyDN
ds-cfg-unique-attribute-type: uid
Issue 258.