mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Nicolas Capponi
27.31.2013 09f30ce612f9df6508e2dafe0abb8fe0f448e9cf
OpenDJ 3 : config framework

* add core admin definitions (xml files)
* add XSL files to transform definitions in java classes
* add properties files for messages : admin and protocol

220 files added
39528 ■■■■■ changed files
opendj-admin/src/main/resources/com/forgerock/opendj/ldap/admin.properties 290 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/com/forgerock/opendj/ldap/protocol.properties 889 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AESPasswordStorageSchemeConfiguration.xml 59 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AccessControlHandlerConfiguration.xml 99 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AccessLogFilteringCriteriaConfiguration.xml 476 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AccessLogPublisherConfiguration.xml 147 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AccountStatusNotificationHandlerConfiguration.xml 90 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AdministrationConnectorConfiguration.xml 229 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AlertHandlerConfiguration.xml 146 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AnonymousSASLMechanismHandlerConfiguration.xml 62 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AttributeCleanupPluginConfiguration.xml 126 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AttributeSyntaxConfiguration.xml 83 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AttributeTypeDescriptionAttributeSyntaxConfiguration.xml 85 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AttributeValuePasswordValidatorConfiguration.xml 146 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AuthenticationPolicyConfiguration.xml 67 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/BackendConfiguration.xml 172 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/BackupBackendConfiguration.xml 85 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/Base64PasswordStorageSchemeConfiguration.xml 64 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/BlindTrustManagerProviderConfiguration.xml 58 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/BlowfishPasswordStorageSchemeConfiguration.xml 59 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/CancelExtendedOperationHandlerConfiguration.xml 60 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/CertificateAttributeSyntaxConfiguration.xml 75 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/CertificateMapperConfiguration.xml 88 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ChangeNumberControlPluginConfiguration.xml 75 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/CharacterSetPasswordValidatorConfiguration.xml 199 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ClearPasswordStorageSchemeConfiguration.xml 62 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ClientConnectionMonitorProviderConfiguration.xml 55 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/CollationMatchingRuleConfiguration.xml 126 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/CollectiveAttributeSubentriesVirtualAttributeConfiguration.xml 70 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ConfigFileHandlerBackendConfiguration.xml 62 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ConnectionHandlerConfiguration.xml 89 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/CountryStringAttributeSyntaxConfiguration.xml 76 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/CramMD5SASLMechanismHandlerConfiguration.xml 100 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/CryptPasswordStorageSchemeConfiguration.xml 120 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/CryptoManagerConfiguration.xml 312 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/DebugLogPublisherConfiguration.xml 253 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/DebugTargetConfiguration.xml 249 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/DictionaryPasswordValidatorConfiguration.xml 198 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/DigestMD5SASLMechanismHandlerConfiguration.xml 211 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/DirectoryStringAttributeSyntaxConfiguration.xml 78 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/DseeCompatAccessControlHandlerConfiguration.xml 83 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/DynamicGroupImplementationConfiguration.xml 52 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/EntityTagVirtualAttributeConfiguration.xml 125 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/EntryCacheConfiguration.xml 102 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/EntryCacheMonitorProviderConfiguration.xml 55 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/EntryDNVirtualAttributeConfiguration.xml 75 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/EntryUUIDPluginConfiguration.xml 79 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/EntryUUIDVirtualAttributeConfiguration.xml 75 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ErrorLogAccountStatusNotificationHandlerConfiguration.xml 148 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ErrorLogPublisherConfiguration.xml 195 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ExactMatchIdentityMapperConfiguration.xml 112 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ExtendedOperationHandlerConfiguration.xml 86 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ExtensionConfiguration.xml 90 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ExternalChangelogDomainConfiguration.xml 113 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ExternalSASLMechanismHandlerConfiguration.xml 139 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FIFOEntryCacheConfiguration.xml 133 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FileBasedAccessLogPublisherConfiguration.xml 366 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FileBasedAuditLogPublisherConfiguration.xml 288 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FileBasedDebugLogPublisherConfiguration.xml 271 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FileBasedErrorLogPublisherConfiguration.xml 271 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FileBasedHTTPAccessLogPublisherConfiguration.xml 361 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FileBasedKeyManagerProviderConfiguration.xml 128 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FileBasedTrustManagerProviderConfiguration.xml 127 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FileCountLogRetentionPolicyConfiguration.xml 65 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FileSystemEntryCacheConfiguration.xml 304 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FingerprintCertificateMapperConfiguration.xml 123 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FixedTimeLogRotationPolicyConfiguration.xml 73 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FractionalLDIFImportPluginConfiguration.xml 50 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FreeDiskSpaceLogRetentionPolicyConfiguration.xml 68 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/GSSAPISASLMechanismHandlerConfiguration.xml 252 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/GetConnectionIdExtendedOperationHandlerConfiguration.xml 57 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/GetSymmetricKeyExtendedOperationHandlerConfiguration.xml 58 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/GlobalConfiguration.xml 926 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/GoverningStructureRuleVirtualAttributeConfiguration.xml 69 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/GroupImplementationConfiguration.xml 88 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/HTTPAccessLogPublisherConfiguration.xml 59 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/HTTPConnectionHandlerConfiguration.xml 574 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/HasSubordinatesVirtualAttributeConfiguration.xml 68 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/IdentityMapperConfiguration.xml 90 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/IsMemberOfVirtualAttributeConfiguration.xml 69 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/JMXAlertHandlerConfiguration.xml 53 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/JMXConnectionHandlerConfiguration.xml 179 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/JPEGAttributeSyntaxConfiguration.xml 71 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/KeyManagerProviderConfiguration.xml 92 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LDAPAttributeDescriptionListPluginConfiguration.xml 76 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LDAPConnectionHandlerConfiguration.xml 607 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LDAPPassThroughAuthenticationPolicyConfiguration.xml 664 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LDIFBackendConfiguration.xml 102 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LDIFConnectionHandlerConfiguration.xml 104 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LastModPluginConfiguration.xml 70 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LengthBasedPasswordValidatorConfiguration.xml 114 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LocalBackendWorkflowElementConfiguration.xml 68 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LocalDBBackendConfiguration.xml 1078 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LocalDBIndexConfiguration.xml 232 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LocalDBVLVIndexConfiguration.xml 232 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LogPublisherConfiguration.xml 79 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LogRetentionPolicyConfiguration.xml 67 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LogRotationPolicyConfiguration.xml 67 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/MD5PasswordStorageSchemeConfiguration.xml 69 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/MatchingRuleConfiguration.xml 86 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/MemberVirtualAttributeConfiguration.xml 106 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/MemoryBackendConfiguration.xml 64 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/MemoryUsageMonitorProviderConfiguration.xml 54 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/MonitorBackendConfiguration.xml 60 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/MonitorProviderConfiguration.xml 85 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/NetworkGroupConfiguration.xml 301 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/NetworkGroupPluginConfiguration.xml 84 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/NullBackendConfiguration.xml 75 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/NumSubordinatesVirtualAttributeConfiguration.xml 68 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PBKDF2PasswordStorageSchemeConfiguration.xml 78 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PKCS11KeyManagerProviderConfiguration.xml 63 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/Package.xml 578 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ParallelWorkQueueConfiguration.xml 91 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PasswordExpirationTimeVirtualAttributeConfiguration.xml 69 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PasswordGeneratorConfiguration.xml 91 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PasswordModifyExtendedOperationHandlerConfiguration.xml 97 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PasswordPolicyConfiguration.xml 942 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PasswordPolicyImportPluginConfiguration.xml 159 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PasswordPolicyStateExtendedOperationHandlerConfiguration.xml 58 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PasswordPolicySubentryVirtualAttributeConfiguration.xml 70 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PasswordStorageSchemeConfiguration.xml 89 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PasswordValidatorConfiguration.xml 96 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PlainSASLMechanismHandlerConfiguration.xml 95 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PluginConfiguration.xml 411 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PluginRootConfiguration.xml 1670 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ProfilerPluginConfiguration.xml 191 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/QOSPolicyConfiguration.xml 69 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/RC4PasswordStorageSchemeConfiguration.xml 59 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/RandomPasswordGeneratorConfiguration.xml 119 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ReferentialIntegrityPluginConfiguration.xml 264 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/RegularExpressionIdentityMapperConfiguration.xml 190 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/RepeatedCharactersPasswordValidatorConfiguration.xml 101 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ReplicationDomainConfiguration.xml 549 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ReplicationServerConfiguration.xml 331 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ReplicationSynchronizationProviderConfiguration.xml 127 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/RequestFilteringQOSPolicyConfiguration.xml 208 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ResourceLimitsQOSPolicyConfiguration.xml 275 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/RootConfiguration.xml 488 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/RootDNConfiguration.xml 229 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/RootDNUserConfiguration.xml 74 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/RootDSEBackendConfiguration.xml 88 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SASLMechanismHandlerConfiguration.xml 91 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SHA1PasswordStorageSchemeConfiguration.xml 61 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SMTPAccountStatusNotificationHandlerConfiguration.xml 209 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SMTPAlertHandlerConfiguration.xml 130 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SNMPConnectionHandlerConfiguration.xml 348 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SaltedMD5PasswordStorageSchemeConfiguration.xml 68 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SaltedSHA1PasswordStorageSchemeConfiguration.xml 60 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SaltedSHA256PasswordStorageSchemeConfiguration.xml 62 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SaltedSHA384PasswordStorageSchemeConfiguration.xml 62 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SaltedSHA512PasswordStorageSchemeConfiguration.xml 62 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SambaPasswordPluginConfiguration.xml 120 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SchemaBackendConfiguration.xml 122 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SevenBitCleanPluginConfiguration.xml 120 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SimilarityBasedPasswordValidatorConfiguration.xml 84 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SizeLimitLogRetentionPolicyConfiguration.xml 65 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SizeLimitLogRotationPolicyConfiguration.xml 65 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SoftReferenceEntryCacheConfiguration.xml 78 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/StackTraceMonitorProviderConfiguration.xml 55 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/StartTLSExtendedOperationHandlerConfiguration.xml 56 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/StaticGroupImplementationConfiguration.xml 57 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/StructuralObjectClassVirtualAttributeConfiguration.xml 69 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SubjectAttributeToUserAttributeCertificateMapperConfiguration.xml 104 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SubjectDNToUserAttributeCertificateMapperConfiguration.xml 93 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SubjectEqualsDNCertificateMapperConfiguration.xml 55 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SubschemaSubentryVirtualAttributeConfiguration.xml 69 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SynchronizationProviderConfiguration.xml 98 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SystemInfoMonitorProviderConfiguration.xml 55 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/TaskBackendConfiguration.xml 133 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/TelephoneNumberAttributeSyntaxConfiguration.xml 71 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/TimeLimitLogRotationPolicyConfiguration.xml 64 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/TraditionalWorkQueueConfiguration.xml 115 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/TripleDESPasswordStorageSchemeConfiguration.xml 59 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/TrustManagerProviderConfiguration.xml 84 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/TrustStoreBackendConfiguration.xml 123 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/UniqueAttributePluginConfiguration.xml 109 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/UniqueCharactersPasswordValidatorConfiguration.xml 97 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/UserDefinedVirtualAttributeConfiguration.xml 73 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/VersionMonitorProviderConfiguration.xml 54 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/VirtualAttributeConfiguration.xml 276 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/VirtualStaticGroupImplementationConfiguration.xml 61 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/WhoAmIExtendedOperationHandlerConfiguration.xml 56 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/WorkQueueConfiguration.xml 78 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/WorkflowConfiguration.xml 107 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/WorkflowElementConfiguration.xml 93 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/abbreviations.xsl 61 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/admin-cli.xsd 88 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/admin-ldap.xsd 88 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/admin-preprocessor.xsd 121 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/admin.xsd 2243 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/cliMOProfile.xsl 77 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/clientMO.xsl 511 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/conditions.xsl 96 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/java-utilities.xsl 378 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/ldapMOProfile.xsl 113 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/manifestMO.xsl 52 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/messagesMO.xsl 225 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/metaMO.xsl 2027 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/package-info.xsl 94 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/preprocessor.xsl 1258 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/property-types.xsl 637 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/property-types/aci.xsl 41 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/property-types/aggregation.xsl 288 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/property-types/attribute-type.xsl 42 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/property-types/boolean.xsl 41 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/property-types/dn.xsl 48 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/property-types/duration.xsl 68 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/property-types/enumeration.xsl 105 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/property-types/extensible-matching-rule-type.xsl 42 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/property-types/integer.xsl 58 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/property-types/ip-address-mask.xsl 41 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/property-types/ip-address.xsl 41 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/property-types/java-class.xsl 52 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/property-types/oid.xsl 38 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/property-types/password.xsl 38 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/property-types/size.xsl 58 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/property-types/string.xsl 51 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/serverMO.xsl 420 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/text-utilities.xsl 187 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/stylesheets/xml.xsd 146 ●●●●● patch | view | raw | blame | history
opendj-admin/src/main/resources/com/forgerock/opendj/ldap/admin.properties
New file
@@ -0,0 +1,290 @@
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License, Version 1.0 only
# (the "License").  You may not use this file except in compliance
# with the License.
#
# You can obtain a copy of the license at
# trunk/opends/resource/legal-notices/OpenDS.LICENSE
# or https://OpenDS.dev.java.net/OpenDS.LICENSE.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at
# trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
# add the following below this CDDL HEADER, with the fields enclosed
# by brackets "[]" replaced with your own identifying information:
#      Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#      Copyright 2006-2009 Sun Microsystems, Inc.
#
# Format string definitions
#
# Keys must be formatted as follows:
#
# [SEVERITY]_[DESCRIPTION]_[ORDINAL]
#
# where:
#
# SEVERITY is one of:
# [INFO, MILD_WARN, SEVERE_WARN, MILD_ERR, SEVERE_ERR, FATAL_ERR, DEBUG, NOTICE]
#
# DESCRIPTION is an upper case string providing a hint as to the context of
# the message in upper case with the underscore ('_') character serving as
# word separator
#
# ORDINAL is an integer unique among other ordinals in this file
#
SEVERE_ERR_ADMIN_CANNOT_GET_LISTENER_BASE_1=An error occurred while trying to \
 retrieve relation configuration entry %s: %s
SEVERE_ERR_ADMIN_CANNOT_GET_MANAGED_OBJECT_3=An error occurred while trying \
 to retrieve the managed object configuration entry %s: %s
SEVERE_ERR_ADMIN_MANAGED_OBJECT_DOES_NOT_EXIST_4=The managed object \
 configuration entry %s does not appear to exist in the Directory Server \
 configuration. This is a required entry
SEVERE_ERR_ADMIN_MANAGED_OBJECT_DECODING_PROBLEM_5=An error occurred while \
 trying to decode the managed object configuration entry %s: %s
SEVERE_ERR_ADMIN_CANNOT_INSTANTIATE_CLASS_6=The Directory Server was unable \
 to load class %s and use it to create a component instance as defined in \
 configuration entry %s.  The error that occurred was:  %s.  This component \
 will be disabled
SEVERE_ERR_ADMIN_CANNOT_OPEN_JAR_FILE_9=The Directory Server jar file %s in \
 directory %s cannot be loaded because an unexpected error occurred while \
 trying to open the file for reading:  %s
MILD_ERR_ADMIN_NO_EXTENSIONS_DIR_12=The extensions directory %s does not \
 exist, therefore no extensions will be loaded
SEVERE_ERR_ADMIN_EXTENSIONS_DIR_NOT_DIRECTORY_13=Unable to read the Directory \
 Server extensions because the extensions directory %s exists but is not a \
 directory
SEVERE_ERR_ADMIN_EXTENSIONS_CANNOT_LIST_FILES_14=Unable to read the Directory \
 Server extensions from directory %s because an unexpected error occurred \
 while trying to list the files in that directory:  %s
FATAL_ERR_ADMIN_CANNOT_FIND_CORE_MANIFEST_15=The core administration manifest \
 file %s cannot be located
SEVERE_ERR_ADMIN_CANNOT_READ_EXTENSION_MANIFEST_17=The administration \
 manifest file %s associated with the extension %s cannot be loaded because an \
 unexpected error occurred while trying to read it:  %s
INFO_ADMIN_TOOL_DESCRIPTION_18=This utility can be used to perform operations \
 in the Directory Server administration framework
INFO_ADMIN_SUBCMD_CREATE_GROUP_DESCRIPTION_19=Create a new server group
INFO_ADMIN_ARG_DESCRIPTION_DESCRIPTION_20=The server group description. If \
 not specified, the description will be empty
INFO_ADMIN_SUBCMD_MODIFY_GROUP_DESCRIPTION_21=Modify a server group's \
 properties
INFO_ADMIN_ARG_NEW_DESCRIPTION_DESCRIPTION_22=If specified, the new \
 description
INFO_ADMIN_ARG_NEW_GROUPNAME_DESCRIPTION_23=If specified, the new server \
 group's identifier
INFO_ADMIN_SUBCMD_DELETE_GROUP_DESCRIPTION_24=Delete an existing server group
INFO_ADMIN_SUBCMD_LIST_GROUPS_DESCRIPTION_25=List server groups that have \
 been defined
INFO_ADMIN_SUBCMD_ADD_TO_GROUP_DESCRIPTION_26=Add a server to a server group
INFO_ADMIN_ARG_ADD_MEMBERNAME_DESCRIPTION_27=The server to add. This is a \
 required argument
INFO_ADMIN_SUBCMD_REMOVE_FROM_GROUP_DESCRIPTION_28=Remove a server from a \
 server group
INFO_ADMIN_ARG_REMOVE_MEMBERNAME_DESCRIPTION_29=The server to remove. This is \
 a required argument
INFO_ADMIN_SUBCMD_LIST_MEMBERS_DESCRIPTION_30=List servers of the specified \
 server group
INFO_ADMIN_SUBCMD_LIST_MEMBERSHIP_DESCRIPTION_31=List server groups in which \
 the specified server is a member
FATAL_ERR_ADMIN_CANNOT_CONNECT_TO_ADS_32=Could not connect to %s. Check that \
 the server is running and that the provided credentials are valid
INFO_ADMIN_SUBCMD_CREATE_ADS_DESCRIPTION_33=Create a new ADS DN
INFO_ADMIN_SUBCMD_DELETE_ADS_DESCRIPTION_34=Delete an existing ADS DN
FATAL_ERR_ADMIN_MISSING_HOSTNAME_35=The host name is missing
FATAL_ERR_ADMIN_NOVALID_HOSTNAME_36=The host name is not valid
FATAL_ERR_ADMIN_MISSING_IPATH_37=The installation path is missing
FATAL_ERR_ADMIN_NOVALID_IPATH_38=The installation path is not valid
FATAL_ERR_ADMIN_ACCESS_PERMISSION_39=An access permission error occurs
FATAL_ERR_ADMIN_ALREADY_REGISTERED_40=The entity is already registered
FATAL_ERR_ADMIN_BROKEN_INSTALL_41=The administrative repository is broken
FATAL_ERR_ADMIN_NOT_YET_REGISTERED_42=The entity is not yet registered
FATAL_ERR_ADMIN_MISSING_PORT_43=The port is missing
FATAL_ERR_ADMIN_NOVALID_PORT_44=The port is not valid
FATAL_ERR_ADMIN_MISSING_NAME_45=The name is missing
FATAL_ERR_ADMIN_MISSING_ADMIN_UID_46=The administration UID is missing
FATAL_ERR_ADMIN_MISSING_ADMIN_PASSWORD_47=The administrator password is \
 missing
FATAL_ERR_ADMIN_ERROR_UNEXPECTED_48=An unexpected error occurs
INFO_ADMIN_ERROR_49=[error]
INFO_ADMIN_SUCCESSFUL_50=The operation has been successfully completed
INFO_ADMIN_SUCCESSFUL_NOP_51=The operation has been successfully completed, \
 but no action was required
SEVERE_ERR_ADMIN_NO_MESSAGE_52=
INFO_ADMIN_ARG_CREATE_GROUP_GROUPNAME_DESCRIPTION_53=The new group's \
 identifier. This is a required argument
INFO_ADMIN_ARG_GROUPNAME_DESCRIPTION_54=The group's identifier. This is a \
 required argument
INFO_ADMIN_ARG_MEMBERNAME_DESCRIPTION_55=The member's identifier. This is a \
 required argument
INFO_ADMIN_ARG_BACKENDNAME_DESCRIPTION_56=The name of the backend in which \
 the admin data will be stored
SEVERE_ERR_ADMIN_UNABLE_TO_REGISTER_LISTENER_57=Unable to register an \
 add/delete listener against the entry "%s" because it does not exist in the \
 configuration
INFO_ADMIN_SUBCMD_REGISTER_SERVER_DESCRIPTION_58=Register a server into the \
 administrative domain
INFO_ADMIN_SUBCMD_UNREGISTER_SERVER_DESCRIPTION_59=Unregister a server from \
 the administrative domain
INFO_ADMIN_SUBCMD_LIST_SERVER_PROPS_DESCRIPTION_61=Describes server \
 properties
INFO_ADMIN_SUBCMD_LIST_SERVERS_DESCRIPTION_62=List servers that have been \
 defined
INFO_ADMIN_SUBCMD_GET_SERVER_PROPERTIES_DESCRIPTION_63=Shows server \
 properties
INFO_ADMIN_SUBCMD_SET_SERVER_PROPERTIES_DESCRIPTION_64=Modifies server \
 properties
INFO_ADMIN_ARG_SERVERID_DESCRIPTION_65=The registered server's unique \
 identifier. This is a required argument
FATAL_ERR_ADMIN_SERVER_NOT_REGISTERED_66=The provided serverId is not \
 registered
INFO_ADMIN_SUBCMD_CREATE_ADMIN_USER_DESCRIPTION_67=Creates a new \
 administrator
INFO_ADMIN_SUBCMD_DELETE_ADMIN_USER_DESCRIPTION_68=Deletes an existing \
 administrator
INFO_ADMIN_SUBCMD_LIST_ADMIN_USER_DESCRIPTION_69=Lists administrators that \
 have been defined
INFO_ADMIN_SUBCMD_GET_ADMIN_USER_PROPERTIES_DESCRIPTION_70=Shows \
 administrator's properties
INFO_ADMIN_SUBCMD_SET_ADMIN_USER_PROPERTIES_DESCRIPTION_71=Modifies \
 administrator's properties
INFO_ADMIN_SUBCMD_LIST_ADMIN_USER_PROPERTIES_DESCRIPTION_72=Describes \
 administrator's properties
INFO_ADMIN_ARG_USERID_DESCRIPTION_73=The administrator's unique identifier. \
 This is a required argument
SEVERE_ERR_OPERATION_REJECTED_DEFAULT_74=Reason unknown
SEVERE_ERR_SERVER_CONSTRAINT_EXCEPTION_75=A configuration exception \
 occurred while evaluating a constraint: %s
SEVERE_ERR_DECODING_EXCEPTION_NO_TYPE_INFO_82=The %s could \
 be found but did not contain any type information (e.g. missing object \
 classes in LDAP)
SEVERE_ERR_DECODING_EXCEPTION_WRONG_TYPE_INFO_83=The %s could \
 be found but did not contain the expected type information (e.g. incorrect \
 object classes in LDAP)
SEVERE_ERR_DECODING_EXCEPTION_ABSTRACT_TYPE_INFO_84=The %s \
 could be found but its type resolved to an abstract managed object \
 definition
SEVERE_ERR_DEFAULT_BEHAVIOR_PROPERTY_EXCEPTION_86=The default values \
 for the "%s" property could not be determined
SEVERE_ERR_ILLEGAL_PROPERTY_VALUE_EXCEPTION_87=The value "%s" is not \
 a valid value for the "%s" property, which must have the following \
 syntax: %s
SEVERE_ERR_ILLEGAL_PROPERTY_VALUE_STRING_EXCEPTION_88=The string value \
 "%s" is not a valid value for the "%s" property, which must have the \
 following syntax: %s
SEVERE_ERR_PROPERTY_IS_MANDATORY_EXCEPTION_89=The "%s" property must be \
 specified as it is mandatory
SEVERE_ERR_PROPERTY_IS_READ_ONLY_EXCEPTION_90=The "%s" property must not \
 be modified as it is read-only
SEVERE_ERR_PROPERTY_IS_SINGLE_VALUED_EXCEPTION_91=The "%s" property \
 must not contain more than one value
SEVERE_ERR_UNKNOWN_PROPERTY_DEFINITION_EXCEPTION_92=An internal error \
 occurred while processing property "%s": unknown property type "%s"
SEVERE_ERR_AUTHENTICATION_EXCEPTION_DEFAULT_93=Authentication failure
SEVERE_ERR_AUTHENTICATION_NOT_SUPPORTED_EXCEPTION_DEFAULT_94=The \
 requested authentication mechanism is not supported by the server
SEVERE_ERR_AUTHORIZATION_EXCEPTION_DEFAULT_95=Authorization failure
SEVERE_ERR_COMMUNICATION_EXCEPTION_DEFAULT_96=A communication problem \
 occurred while contacting the server
SEVERE_ERR_OPERATION_REJECTED_EXCEPTION_SINGLE_97=The operation was rejected \
 for the following reason: %s
SEVERE_ERR_OPERATION_REJECTED_EXCEPTION_PLURAL_98=The operation was rejected \
 for the following reasons: %s
SEVERE_ERR_CONCURRENT_MODIFICATION_EXCEPTION_DEFAULT_99=The operation could \
 not be performed because a conflicting change has already occurred. There \
 may be another client administration tool in use
SEVERE_ERR_MANAGED_OBJECT_DECODING_EXCEPTION_SINGLE_100=The %s could not \
 be decoded due to the following reason: %s
SEVERE_ERR_MANAGED_OBJECT_DECODING_EXCEPTION_PLURAL_101=The %s could not \
 be decoded due to the following reasons: %s
SEVERE_ERR_ILLEGAL_MANAGED_OBJECT_NAME_EXCEPTION_EMPTY_102=Empty managed \
 object names are not permitted
SEVERE_ERR_ILLEGAL_MANAGED_OBJECT_NAME_EXCEPTION_BLANK_103=Blank managed \
 object names are not permitted
SEVERE_ERR_ILLEGAL_MANAGED_OBJECT_NAME_EXCEPTION_SYNTAX_104=The managed \
 object name "%s" is not a valid value for the naming property "%s", \
 which must have the following syntax: %s
SEVERE_ERR_ILLEGAL_MANAGED_OBJECT_NAME_EXCEPTION_OTHER_105=The managed \
 object name "%s" is not permitted
SEVERE_ERR_MANAGED_OBJECT_ALREADY_EXISTS_EXCEPTION_106=The managed object \
 could not be created because there is an existing managed object with \
 the same name
SEVERE_ERR_MANAGED_OBJECT_NOT_FOUND_EXCEPTION_107=The requested managed \
 object could not be found
SEVERE_ERR_MISSING_MANDATORY_PROPERTIES_EXCEPTION_SINGLE_108=The "%s" \
 property is mandatory
SEVERE_ERR_MISSING_MANDATORY_PROPERTIES_EXCEPTION_PLURAL_109=The following \
 properties are mandatory: %s
SEVERE_ERR_PROPERTY_NOT_FOUND_EXCEPTION_110=The property "%s" was not \
 recognized
SEVERE_ERR_COMMUNICATION_EXCEPTION_DEFAULT_CAUSE_111=A communication problem \
 occurred while contacting the server: %s
SEVERE_ERR_CONSTRAINT_VIOLATION_EXCEPTION_SINGLE_112=The following \
 constraint violation occurred: %s
SEVERE_ERR_CONSTRAINT_VIOLATION_EXCEPTION_PLURAL_113=The following \
 constraint violations occurred: %s
SEVERE_ERR_SERVER_REFINT_DANGLING_REFERENCE_114=The value "%s" in \
 property "%s" in the %s in entry "%s" refers to a non-existent %s \
 in entry "%s"
SEVERE_ERR_SERVER_REFINT_TARGET_DISABLED_116=The value "%s" in \
 property "%s" in the %s in entry "%s" refers to a disabled %s in \
 entry "%s"
SEVERE_ERR_SERVER_REFINT_CANNOT_DELETE_117=The %s in entry "%s" \
 cannot be deleted because it is referenced by the "%s" property \
 of the %s in entry "%s"
SEVERE_ERR_SERVER_REFINT_CANNOT_DISABLE_118=The %s in entry "%s" \
 cannot be disabled because it is referenced by the "%s" property \
 of the %s in entry "%s"
SEVERE_ERR_CLASS_LOADER_CANNOT_READ_MANIFEST_FILE_120=An unexpected \
 error occurred while reading the manifest file: %s
SEVERE_ERR_CLASS_LOADER_CANNOT_LOAD_CLASS_121=An error occurred while \
 attempting to load class "%s": %s
SEVERE_ERR_CLASS_LOADER_CANNOT_FIND_GET_INSTANCE_METHOD_122=Unable to \
 to find the getInstance() method in the managed object definition \
 class "%s": %s
SEVERE_ERR_CLASS_LOADER_CANNOT_INVOKE_GET_INSTANCE_METHOD_123=Unable to \
 to invoke the getInstance() method in the managed object definition \
 class "%s": %s
SEVERE_ERR_CLASS_LOADER_CANNOT_INITIALIZE_DEFN_124=Unable initialize the \
 "%s" managed object definition in class "%s": %s
SEVERE_ERR_CLASS_LOADER_CANNOT_LOAD_EXTENSION_125=The extension "%s" \
 with manifest file %s cannot be loaded because an unexpected error \
 occurred while trying to initialize it: %s
FATAL_ERR_CLASS_LOADER_CANNOT_LOAD_CORE_126=The core administration \
 classes could not be loaded from manifest file %s because an unexpected \
 error occurred: %s
SEVERE_ERR_CLIENT_REFINT_TARGET_DANGLING_REFERENCE_127=The %s "%s" referenced in \
 property "%s" does not exist
SEVERE_ERR_CLIENT_REFINT_TARGET_INVALID_128=The %s "%s" referenced in \
 property "%s" exists but has an invalid configuration: %s
SEVERE_ERR_CLIENT_REFINT_TARGET_DISABLED_129=The %s "%s" referenced in \
 property "%s" is disabled
SEVERE_ERR_CLIENT_REFINT_CANNOT_DELETE_WITH_NAME_130=The "%s" property \
 in the %s called "%s" references this %s
SEVERE_ERR_CLIENT_REFINT_CANNOT_DELETE_WITHOUT_NAME_131=The "%s" property \
 in the %s references this %s
SEVERE_ERR_CLIENT_REFINT_CANNOT_DISABLE_WITH_NAME_132=This %s cannot be \
 disabled because it is referenced by the "%s" property in the %s called "%s"
SEVERE_ERR_CLIENT_REFINT_CANNOT_DISABLE_WITHOUT_NAME_133=This %s cannot be \
 disabled because it is referenced by the "%s" property in the %s
SEVERE_ERR_REFINT_UNABLE_TO_EVALUATE_TARGET_CONDITION_134=An error occurred \
 while attempting to determine if the %s in entry %s is enabled: %s
SEVERE_ERR_ADMIN_CERTIFICATE_GENERATION_135=The administration connector \
self-signed certificate cannot be generated because the following error \
occurred: %s
SEVERE_ERR_ADMIN_CERTIFICATE_GENERATION_MISSING_FILES_136=The administration \
connector self-signed certificate cannot be generated because the following \
files are missing: %s
SEVERE_WARN_ADMIN_SET_PERMISSIONS_FAILED_137=Failed to set permissions \
 on file %s
FATAL_ERR_ADMIN_MERGING_138=The registry information of the servers could not \
 be merged
opendj-admin/src/main/resources/com/forgerock/opendj/ldap/protocol.properties
New file
@@ -0,0 +1,889 @@
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License, Version 1.0 only
# (the "License").  You may not use this file except in compliance
# with the License.
#
# You can obtain a copy of the license at
# trunk/opends/resource/legal-notices/OpenDS.LICENSE
# or https://OpenDS.dev.java.net/OpenDS.LICENSE.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at
# trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
# add the following below this CDDL HEADER, with the fields enclosed
# by brackets "[]" replaced with your own identifying information:
#      Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#      Copyright 2006-2009 Sun Microsystems, Inc.
#      Portions copyright 2013 ForgeRock AS
#
# Format string definitions
#
# Keys must be formatted as follows:
#
# [SEVERITY]_[DESCRIPTION]_[ORDINAL]
#
# where:
#
# SEVERITY is one of:
# [INFO, MILD_WARN, SEVERE_WARN, MILD_ERR, SEVERE_ERR, FATAL_ERR, DEBUG, NOTICE]
#
# DESCRIPTION is an upper case string providing a hint as to the context of
# the message in upper case with the underscore ('_') character serving as
# word separator
#
# ORDINAL is an integer unique among other ordinals in this file
#
ERR_ASN1_TRUCATED_TYPE_BYTE_1=Cannot decode the ASN.1 element because an \
 unexpected end of file was reached while reading the type byte
ERR_ASN1_TRUNCATED_LENGTH_BYTE_2=Cannot decode the ASN.1 element because \
 an unexpected end of file was reached while reading the first length byte
ERR_ASN1_INVALID_NUM_LENGTH_BYTES_3=Cannot decode the ASN.1 element \
 because it contained a multi-byte length with an invalid number of bytes (%d)
ERR_ASN1_TRUNCATED_LENGTH_BYTES_4=Cannot decode the ASN.1 element because \
 an unexpected end of file was reached while reading a multi-byte length of \
 %d bytes
ERR_ASN1_BOOLEAN_TRUNCATED_VALUE_5=Cannot decode the ASN.1 boolean \
 element of because an unexpected end of file was reached while reading value \
 bytes (%d)
ERR_ASN1_BOOLEAN_INVALID_LENGTH_6=Cannot decode the ASN.1 \
 boolean element because the decoded value length was not exactly one byte \
 (decoded length was %d)
ERR_ASN1_NULL_INVALID_LENGTH_8=Cannot decode the ASN.1 null element \
 because the decoded value length was not exactly zero bytes \
 (decoded length was %d)
ERR_ASN1_OCTET_STRING_TRUNCATED_VALUE_9=Cannot decode the ASN.1 octet \
 string element of because an unexpected end of file was reached while reading \
 value bytes (%d)
ERR_ASN1_INTEGER_TRUNCATED_VALUE_10=Cannot decode the ASN.1 integer \
 element of because an unexpected end of file was reached while reading \
 value bytes (%d)
ERR_ASN1_INTEGER_INVALID_LENGTH_11=Cannot decode the \
 provided ASN.1 integer element because the length of the \
 element value was not between one and four bytes (actual length was %d)
ERR_ASN1_SEQUENCE_READ_NOT_STARTED_12=Cannot decode the end of the ASN.1 \
 sequence or set because the start of the sequence was not read
ERR_ASN1_SKIP_TRUNCATED_VALUE_14=Cannot skip the ASN.1 element of because \
 an unexpected end of file was reached while reading value bytes (%d)
ERR_ASN1_SEQUENCE_SET_TRUNCATED_VALUE_15=Cannot decode the ASN.1 sequence \
 or set element of because an unexpected end of file was reached while reading \
 value bytes (%d)
ERR_LDAP_MESSAGE_DECODE_NULL_45=Cannot decode the provided ASN.1 \
 sequence as an LDAP message because the sequence was null
ERR_LDAP_MESSAGE_DECODE_MESSAGE_ID_47=Cannot decode the provided ASN.1 \
 sequence as an LDAP message because the first element of the sequence could \
 not be decoded as an integer message ID:  %s
ERR_LDAP_MESSAGE_DECODE_PROTOCOL_OP_48=Cannot decode the provided ASN.1 \
 sequence as an LDAP message because the second element of the sequence could \
 not be decoded as the protocol op:  %s
ERR_LDAP_MESSAGE_DECODE_CONTROLS_49=Cannot decode the provided ASN.1 \
 sequence as an LDAP message because the third element of the sequence could \
 not be decoded as the set of controls:  %s
ERR_LDAP_CONTROL_DECODE_SEQUENCE_51=Cannot decode the provided ASN.1 \
 element as an LDAP control because the element could not be decoded as a \
 sequence:  %s
ERR_LDAP_CONTROL_DECODE_OID_53=Cannot decode the provided ASN.1 element \
 as an LDAP control because the OID could not be decoded as a string:  %s
ERR_LDAP_CONTROL_DECODE_CRITICALITY_54=Cannot decode the provided ASN.1 \
 element as an LDAP control because the criticality could not be decoded as \
 Boolean value:  %s
ERR_LDAP_CONTROL_DECODE_VALUE_55=Cannot decode the provided ASN.1 \
 element as an LDAP control because the value could not be decoded as an octet \
 string:  %s
ERR_LDAP_CONTROL_DECODE_CONTROLS_SEQUENCE_58=Cannot decode the provided \
 ASN.1 element as a set of LDAP controls because the element could not be \
 decoded as a sequence:  %s
ERR_LDAP_ABANDON_REQUEST_DECODE_ID_59=Cannot decode the provided ASN.1 \
 element as an LDAP abandon request protocol op because a problem occurred \
 while trying to obtain the message ID of the operation to abandon:  %s
ERR_LDAP_RESULT_DECODE_SEQUENCE_60=Cannot decode the provided ASN.1 \
 element as an LDAP result protocol op because a problem occurred while trying \
 to parse the result sequence:  %s
ERR_LDAP_RESULT_DECODE_RESULT_CODE_62=Cannot decode the provided ASN.1 \
 element as an LDAP result protocol op because the first element in the result \
 sequence could not be decoded as an integer result code:  %s
ERR_LDAP_RESULT_DECODE_MATCHED_DN_63=Cannot decode the provided ASN.1 \
 element as an LDAP result protocol op because the second element in the \
 result sequence could not be decoded as the matched DN:  %s
ERR_LDAP_RESULT_DECODE_ERROR_MESSAGE_64=Cannot decode the provided ASN.1 \
 element as an LDAP result protocol op because the third element in the result \
 sequence could not be decoded as the error message:  %s
ERR_LDAP_RESULT_DECODE_REFERRALS_65=Cannot decode the provided ASN.1 \
 element as an LDAP result protocol op because the fourth element in the \
 result sequence could not be decoded as a set of referral URLs:  %s
ERR_LDAP_BIND_RESULT_DECODE_SERVER_SASL_CREDENTIALS_67=Cannot decode the \
 provided ASN.1 element as an LDAP bind response protocol op because the final \
 element in the result sequence could not be decoded as the server SASL \
 credentials:  %s
ERR_LDAP_EXTENDED_RESULT_DECODE_OID_71=Cannot decode the provided ASN.1 \
 element as an LDAP bind response protocol op because the response OID could \
 not be decoded:  %s
ERR_LDAP_EXTENDED_RESULT_DECODE_VALUE_72=Cannot decode the provided \
 ASN.1 element as an LDAP bind response protocol op because the response value \
 could not be decoded:  %s
ERR_LDAP_UNBIND_DECODE_74=Cannot decode the provided ASN.1 element as an \
 LDAP unbind request protocol op:  %s
ERR_LDAP_BIND_REQUEST_DECODE_SEQUENCE_75=Cannot decode the provided \
 ASN.1 element as an LDAP bind request protocol op because the element could \
 not be decoded as a sequence:  %s
ERR_LDAP_BIND_REQUEST_DECODE_VERSION_77=Cannot decode the provided ASN.1 \
 element as an LDAP bind request protocol op because the protocol version \
 could not be decoded as an integer:  %s
ERR_LDAP_BIND_REQUEST_DECODE_DN_78=Cannot decode the provided ASN.1 \
 element as an LDAP bind request protocol op because the bind DN could not be \
 properly decoded:  %s
ERR_LDAP_BIND_REQUEST_DECODE_PASSWORD_79=Cannot decode the provided \
 ASN.1 element as an LDAP bind request protocol op because the password to use \
 for simple authentication could not be decoded:  %s
ERR_LDAP_BIND_REQUEST_DECODE_SASL_INFO_80=Cannot decode the provided \
 ASN.1 element as an LDAP bind request protocol op because the SASL \
 authentication information could not be decoded:  %s
ERR_LDAP_BIND_REQUEST_DECODE_INVALID_CRED_TYPE_81=Cannot decode the \
 provided ASN.1 element as an LDAP bind request protocol op because the \
 authentication info element had an invalid BER type (expected 80 or A3, got \
 %x)
ERR_LDAP_BIND_REQUEST_DECODE_CREDENTIALS_82=Cannot decode the provided \
 ASN.1 element as an LDAP bind request protocol op because an unexpected error \
 occurred while trying to decode the authentication info element:  %s
ERR_LDAP_COMPARE_REQUEST_DECODE_SEQUENCE_83=Cannot decode the provided \
 ASN.1 element as an LDAP compare request protocol op because the element \
 could not be decoded as a sequence:  %s
ERR_LDAP_COMPARE_REQUEST_DECODE_DN_85=Cannot decode the provided ASN.1 \
 element as an LDAP compare request protocol op because the target DN could \
 not be properly decoded:  %s
ERR_LDAP_COMPARE_REQUEST_DECODE_AVA_86=Cannot decode the provided ASN.1 \
 element as an LDAP compare request protocol op because the attribute value \
 assertion could not be decoded as a sequence:  %s
ERR_LDAP_COMPARE_REQUEST_DECODE_TYPE_88=Cannot decode the provided ASN.1 \
 element as an LDAP compare request protocol op because the attribute type \
 could not be properly decoded:  %s
ERR_LDAP_COMPARE_REQUEST_DECODE_VALUE_89=Cannot decode the provided \
 ASN.1 element as an LDAP compare request protocol op because the assertion \
 value could not be properly decoded:  %s
ERR_LDAP_DELETE_REQUEST_DECODE_DN_90=Cannot decode the provided ASN.1 \
 element as an LDAP delete request protocol op because the target DN could not \
 be properly decoded:  %s
ERR_LDAP_EXTENDED_REQUEST_DECODE_SEQUENCE_91=Cannot decode the provided \
 ASN.1 element as an LDAP extended request protocol op because the element \
 could not be decoded as a sequence:  %s
ERR_LDAP_EXTENDED_REQUEST_DECODE_OID_93=Cannot decode the provided ASN.1 \
 element as an LDAP extended request protocol op because the OID could not be \
 properly decoded:  %s
ERR_LDAP_EXTENDED_REQUEST_DECODE_VALUE_94=Cannot decode the provided \
 ASN.1 element as an LDAP extended request protocol op because the value could \
 not be properly decoded:  %s
ERR_LDAP_MODIFY_DN_REQUEST_DECODE_SEQUENCE_95=Cannot decode the provided \
 ASN.1 element as an LDAP modify DN request protocol op because the element \
 could not be decoded as a sequence:  %s
ERR_LDAP_MODIFY_DN_REQUEST_DECODE_DN_97=Cannot decode the provided ASN.1 \
 element as an LDAP modify DN request protocol op because the entry DN could \
 not be properly decoded:  %s
ERR_LDAP_MODIFY_DN_REQUEST_DECODE_NEW_RDN_98=Cannot decode the provided \
 ASN.1 element as an LDAP modify DN request protocol op because the new RDN \
 could not be properly decoded:  %s
ERR_LDAP_MODIFY_DN_REQUEST_DECODE_DELETE_OLD_RDN_99=Cannot decode the \
 provided ASN.1 element as an LDAP modify DN request protocol op because the \
 deleteOldRDN flag could not be properly decoded:  %s
ERR_LDAP_MODIFY_DN_REQUEST_DECODE_NEW_SUPERIOR_100=Cannot decode the \
 provided ASN.1 element as an LDAP modify DN request protocol op because the \
 new superior DN could not be properly decoded:  %s
ERR_LDAP_ATTRIBUTE_DECODE_SEQUENCE_101=Cannot decode the provided ASN.1 \
 element as an LDAP attribute because the element could not be decoded as a \
 sequence:  %s
ERR_LDAP_ATTRIBUTE_DECODE_TYPE_103=Cannot decode the provided ASN.1 \
 element as an LDAP attribute because the attribute type could not be decoded: \
 %s
ERR_LDAP_ATTRIBUTE_DECODE_VALUES_104=Cannot decode the provided ASN.1 \
 element as an LDAP attribute because the set of values could not be decoded: \
 %s
ERR_LDAP_ADD_REQUEST_DECODE_SEQUENCE_105=Cannot decode the provided \
 ASN.1 element as an LDAP add request protocol op because the element could \
 not be decoded as a sequence:  %s
ERR_LDAP_ADD_REQUEST_DECODE_DN_107=Cannot decode the provided ASN.1 \
 element as an LDAP add request protocol op because the entry DN could not be \
 decoded:  %s
ERR_LDAP_ADD_REQUEST_DECODE_ATTRS_108=Cannot decode the provided ASN.1 \
 element as an LDAP add request protocol op because the set of attributes \
 could not be decoded:  %s
ERR_LDAP_MODIFICATION_DECODE_SEQUENCE_109=Cannot decode the provided \
 ASN.1 element as an LDAP modification because the element could not be \
 decoded as a sequence:  %s
ERR_LDAP_MODIFICATION_DECODE_INVALID_MOD_TYPE_111=Cannot decode the \
 provided ASN.1 element as an LDAP modification because it contained an \
 invalid modification type (%d)
ERR_LDAP_MODIFICATION_DECODE_MOD_TYPE_112=Cannot decode the provided \
 ASN.1 element as an LDAP modification because the modification type could not \
 be decoded:  %s
ERR_LDAP_MODIFICATION_DECODE_ATTR_113=Cannot decode the provided ASN.1 \
 element as an LDAP modification because the attribute could not be decoded: \
 %s
ERR_LDAP_MODIFY_REQUEST_DECODE_SEQUENCE_114=Cannot decode the provided \
 ASN.1 element as an LDAP modify request protocol op because the element could \
 not be decoded as a sequence:  %s
ERR_LDAP_MODIFY_REQUEST_DECODE_DN_116=Cannot decode the provided ASN.1 \
 element as an LDAP modify request protocol op because the entry DN could not \
 be decoded:  %s
ERR_LDAP_MODIFY_REQUEST_DECODE_MODS_117=Cannot decode the provided ASN.1 \
 element as an LDAP modify request protocol op because the set of \
 modifications could not be decoded:  %s
ERR_LDAP_SEARCH_ENTRY_DECODE_SEQUENCE_118=Cannot decode the provided \
 ASN.1 element as an LDAP search result entry protocol op because the element \
 could not be decoded as a sequence:  %s
ERR_LDAP_SEARCH_ENTRY_DECODE_DN_120=Cannot decode the provided ASN.1 \
 element as an LDAP search result entry protocol op because the entry DN could \
 not be decoded:  %s
ERR_LDAP_SEARCH_ENTRY_DECODE_ATTRS_121=Cannot decode the provided ASN.1 \
 element as an LDAP search result entry protocol op because the set of \
 attributes could not be decoded:  %s
ERR_LDAP_SEARCH_REFERENCE_DECODE_SEQUENCE_122=Cannot decode the provided \
 ASN.1 element as an LDAP search result reference protocol op because the \
 element could not be decoded as a sequence:  %s
ERR_LDAP_SEARCH_REFERENCE_DECODE_URLS_123=Cannot decode the provided \
 ASN.1 element as an LDAP search result reference protocol op because a \
 problem occurred while trying to decode the sequence elements as referral \
 URLs:  %s
ERR_LDAP_SEARCH_REQUEST_DECODE_SEQUENCE_124=Cannot decode the provided \
 ASN.1 element as an LDAP search request protocol op because the element could \
 not be decoded as a sequence:  %s
ERR_LDAP_SEARCH_REQUEST_DECODE_BASE_126=Cannot decode the provided ASN.1 \
 element as an LDAP search request protocol op because the base DN could not \
 be decoded:  %s
ERR_LDAP_SEARCH_REQUEST_DECODE_INVALID_SCOPE_127=Cannot decode the \
 provided ASN.1 element as an LDAP search request protocol op because the \
 provided scope value (%d) is invalid
ERR_LDAP_SEARCH_REQUEST_DECODE_SCOPE_128=Cannot decode the provided \
 ASN.1 element as an LDAP search request protocol op because the scope could \
 not be decoded:  %s
ERR_LDAP_SEARCH_REQUEST_DECODE_INVALID_DEREF_129=Cannot decode the \
 provided ASN.1 element as an LDAP search request protocol op because the \
 provided alias dereferencing policy value (%d) is invalid
ERR_LDAP_SEARCH_REQUEST_DECODE_DEREF_130=Cannot decode the provided \
 ASN.1 element as an LDAP search request protocol op because the alias \
 dereferencing policy could not be decoded:  %s
ERR_LDAP_SEARCH_REQUEST_DECODE_SIZE_LIMIT_131=Cannot decode the provided \
 ASN.1 element as an LDAP search request protocol op because the size limit \
 could not be decoded:  %s
ERR_LDAP_SEARCH_REQUEST_DECODE_TIME_LIMIT_132=Cannot decode the provided \
 ASN.1 element as an LDAP search request protocol op because the time limit \
 could not be decoded:  %s
ERR_LDAP_SEARCH_REQUEST_DECODE_TYPES_ONLY_133=Cannot decode the provided \
 ASN.1 element as an LDAP search request protocol op because the typesOnly \
 flag could not be decoded:  %s
ERR_LDAP_SEARCH_REQUEST_DECODE_FILTER_134=Cannot decode the provided \
 ASN.1 element as an LDAP search request protocol op because the filter could \
 not be decoded:  %s
ERR_LDAP_SEARCH_REQUEST_DECODE_ATTRIBUTES_135=Cannot decode the provided \
 ASN.1 element as an LDAP search request protocol op because the requested \
 attribute set could not be decoded:  %s
ERR_LDAP_PROTOCOL_OP_DECODE_NULL_136=Cannot decode the provided ASN.1 \
 element as an LDAP protocol op because the element was null
ERR_LDAP_PROTOCOL_OP_DECODE_INVALID_TYPE_137=Cannot decode the provided \
 ASN.1 element as an LDAP protocol op because the element had an invalid BER \
 type (%x) for an LDAP protocol op
ERR_LDAP_FILTER_DECODE_NULL_138=Cannot decode the provided ASN.1 element \
 as an LDAP search filter because the element was null
ERR_LDAP_FILTER_DECODE_INVALID_TYPE_139=Cannot decode the provided ASN.1 \
 element as an LDAP search filter because the element had an invalid BER type \
 (%x) for a search filter
ERR_LDAP_FILTER_DECODE_COMPOUND_COMPONENTS_141=Cannot decode the \
 provided ASN.1 element as an LDAP search filter because an unexpected error \
 occurred while trying to decode one of the compound filter components:  %s
ERR_LDAP_FILTER_DECODE_NOT_COMPONENT_143=Cannot decode the provided \
 ASN.1 element as an LDAP search filter because the NOT component element \
 could not be decoded as an LDAP filter:  %s
ERR_LDAP_FILTER_DECODE_TV_SEQUENCE_144=Cannot decode the provided ASN.1 \
 element as an LDAP search filter because the element could not be decoded as \
 a type-and-value sequence:  %s
ERR_LDAP_FILTER_DECODE_TV_TYPE_146=Cannot decode the provided ASN.1 \
 element as an LDAP search filter because the attribute type could not be \
 decoded from the type-and-value sequence:  %s
ERR_LDAP_FILTER_DECODE_TV_VALUE_147=Cannot decode the provided ASN.1 \
 element as an LDAP search filter because the assertion value could not be \
 decoded from the type-and-value sequence:  %s
ERR_LDAP_FILTER_DECODE_SUBSTRING_SEQUENCE_148=Cannot decode the provided \
 ASN.1 element as an LDAP search filter because the element could not be \
 decoded as a substring sequence:  %s
ERR_LDAP_FILTER_DECODE_SUBSTRING_TYPE_150=Cannot decode the provided \
 ASN.1 element as an LDAP search filter because the attribute type could not \
 be decoded from the substring sequence:  %s
ERR_LDAP_FILTER_DECODE_SUBSTRING_ELEMENTS_151=Cannot decode the provided \
 ASN.1 element as an LDAP search filter because the substring value sequence \
 could not be decoded:  %s
ERR_LDAP_FILTER_DECODE_SUBSTRING_NO_SUBELEMENTS_152=Cannot decode the \
 provided ASN.1 element as an LDAP search filter because the substring value \
 sequence did not contain any elements
ERR_LDAP_FILTER_DECODE_SUBSTRING_VALUES_154=Cannot decode the provided \
 ASN.1 element as an LDAP search filter because a problem occurred while \
 trying to parse the substring value elements:  %s
ERR_LDAP_FILTER_DECODE_PRESENCE_TYPE_155=Cannot decode the provided \
 ASN.1 element as an LDAP search filter because the element could not be \
 decoded as the presence attribute type:  %s
ERR_LDAP_FILTER_DECODE_EXTENSIBLE_SEQUENCE_156=Cannot decode the \
 provided ASN.1 element as an LDAP search filter because the element could not \
 be decoded as an extensible matching sequence:  %s
ERR_LDAP_FILTER_DECODE_EXTENSIBLE_ELEMENTS_158=Cannot decode the \
 provided ASN.1 element as an LDAP search filter because a problem occurred \
 while trying to parse the extensible match sequence elements:  %s
ERR_LDAP_CLIENT_SEND_RESPONSE_NO_RESULT_CODE_159=The server attempted to \
 send a response to the %s operation (conn=%d, op=%d), but the operation did \
 not have a result code.  This could indicate that the operation did not \
 complete properly or that it is one that is not allowed to have a response. \
 Using a generic 'Operations Error' response
ERR_LDAP_CLIENT_SEND_RESPONSE_INVALID_OP_160=The server attempted to \
 send a response to the %s operation (conn=%d, op=%d), but this type of \
 operation is not allowed to have responses.  Backtrace:  %s
INFO_LDAP_CLIENT_GENERIC_NOTICE_OF_DISCONNECTION_165=The Directory Server is \
 closing the connection to this client
MILD_WARN_CLIENT_DISCONNECT_IN_PROGRESS_166=The Directory Server is \
 currently in the process of closing this client connection
ERR_LDAP_CLIENT_DECODE_MAX_REQUEST_SIZE_EXCEEDED_168=The client sent a \
 request to the Directory Server with an ASN.1 element value length of %d \
 bytes.  This exceeds the maximum allowed request size of %d bytes, so \
 processing cannot continue on this connection
FATAL_ERR_LDAP_CONNHANDLER_OPEN_SELECTOR_FAILED_177=The LDAP connection \
 handler defined in configuration entry %s was unable to open a selector to \
 allow it to multiplex the associated accept sockets:  %s.  This connection \
 handler will be disabled
ERR_LDAP_CONNHANDLER_CREATE_CHANNEL_FAILED_178=The LDAP connection \
 handler defined in configuration entry %s was unable to create a server \
 socket channel to accept connections on %s:%d:  %s.  The Directory Server \
 will not listen for new connections on that address
FATAL_ERR_LDAP_CONNHANDLER_NO_ACCEPTORS_179=The LDAP connection handler \
 defined in configuration entry %s was unable to create any of the socket \
 channels on any of the configured addresses.  This connection handler will be \
 disabled
ERR_CONNHANDLER_DENIED_CLIENT_180=The connection attempt from \
 client %s to %s has been rejected because the client was included in one of \
 the denied address ranges
ERR_CONNHANDLER_DISALLOWED_CLIENT_181=The connection attempt from \
 client %s to %s has been rejected because the client was not included in one \
 of the allowed address ranges
INFO_CONNHANDLER_UNABLE_TO_REGISTER_CLIENT_182=An internal error \
 prevented the Directory Server from properly registering the client \
 connection from %s to %s with an appropriate request handler:  %s
ERR_CONNHANDLER_CANNOT_ACCEPT_CONNECTION_183=The %s defined in \
 configuration entry %s was unable to accept a new client connection:  %s
FATAL_ERR_CONNHANDLER_CONSECUTIVE_ACCEPT_FAILURES_184=The %s defined in \
 configuration entry %s has experienced consecutive failures while trying to \
 accept client connections:  %s.  This connection handler will be disabled
FATAL_ERR_LDAP_CONNHANDLER_UNCAUGHT_ERROR_185=The LDAP connection handler \
 defined in configuration entry %s caught an unexpected error while trying to \
 listen for new connections:  %s.  This connection handler will be disabled
FATAL_ERR_LDAP_REQHANDLER_OPEN_SELECTOR_FAILED_186=%s was unable to open a \
 selector to multiplex reads from clients:  %s.  This request handler cannot \
 continue processing
FATAL_ERR_LDAP_REQHANDLER_CANNOT_REGISTER_187=%s was unable to register this \
 client connection with the selector:  %s
FATAL_ERR_LDAP_REQHANDLER_REJECT_DUE_TO_SHUTDOWN_188=This connection could \
 not be registered with a request handler because the Directory Server is \
 shutting down
FATAL_ERR_LDAP_REQHANDLER_DEREGISTER_DUE_TO_SHUTDOWN_190=This client \
 connection is being deregistered from the associated request handler because \
 the Directory Server is shutting down
ERR_LDAP_FILTER_STRING_NULL_192=Cannot decode the provided string as an \
 LDAP search filter because the string was null
ERR_LDAP_FILTER_UNCAUGHT_EXCEPTION_193=Cannot decode the provided string \
 %s as an LDAP search filter because an unexpected exception was thrown during \
 processing:  %s
ERR_LDAP_FILTER_MISMATCHED_PARENTHESES_194=The provided search filter \
 "%s" had mismatched parentheses around the portion between positions %d and \
 %d
ERR_LDAP_FILTER_NO_EQUAL_SIGN_195=The provided search filter "%s" was \
 missing an equal sign in the suspected simple filter component between \
 positions %d and %d
ERR_LDAP_FILTER_INVALID_ESCAPED_BYTE_196=The provided search filter "%s" \
 had an invalid escaped byte value at position %d.  A backslash in a value \
 must be followed by two hexadecimal characters that define the byte that has \
 been encoded
ERR_LDAP_FILTER_COMPOUND_MISSING_PARENTHESES_197=The provided search \
 filter "%s" could not be decoded because the compound filter between \
 positions %d and %d did not start with an open parenthesis and end with a \
 close parenthesis (they might be parentheses for different filter components)
ERR_LDAP_FILTER_NO_CORRESPONDING_OPEN_PARENTHESIS_198=The provided \
 search filter "%s" could not be decoded because the closing parenthesis at \
 position %d did not have a corresponding open parenthesis
ERR_LDAP_FILTER_NO_CORRESPONDING_CLOSE_PARENTHESIS_199=The provided \
 search filter "%s" could not be decoded because the opening parenthesis at \
 position %d did not have a corresponding close parenthesis
ERR_LDAP_FILTER_SUBSTRING_NO_ASTERISKS_200=The provided search filter \
 "%s" could not be decoded because the assumed substring filter value between \
 positions %d and %d did not have any asterisk wildcard characters
ERR_LDAP_FILTER_EXTENSIBLE_MATCH_NO_COLON_201=The provided search filter \
 "%s" could not be decoded because the extensible match component starting at \
 position %d did not have a colon to denote the end of the attribute type name
ERR_LDAP_DISCONNECT_DUE_TO_INVALID_REQUEST_TYPE_202=Terminating this \
 connection because the client sent an invalid message of type %s (LDAP \
 message ID %d) that is not allowed for request messages
ERR_LDAP_DISCONNECT_DUE_TO_PROCESSING_FAILURE_203=An unexpected \
 failure occurred while trying to process a request of type %s (LDAP message \
 ID %d):  %s.  The client connection will be terminated
ERR_LDAP_INVALID_BIND_AUTH_TYPE_204=The bind request message (LDAP \
 message ID %d) included an invalid authentication type of %s.  This is a \
 protocol error, and this connection will be terminated as per RFC 2251 \
 section 4.2.3
ERR_LDAP_DISCONNECT_DUE_TO_BIND_PROTOCOL_ERROR_205=This client \
 connection is being terminated because a protocol error occurred while trying \
 to process a bind request.  The LDAP message ID was %d and the error message \
 for the bind response was %s
ERR_LDAPV2_SKIPPING_EXTENDED_RESPONSE_206=An extended response message \
 would have been sent to an LDAPv2 client (connection ID=%d, operation ID=%d): \
 %s.  LDAPv2 does not allow extended operations, so this response will not be \
 sent
ERR_LDAPV2_SKIPPING_SEARCH_REFERENCE_207=A search performed by an LDAPv2 \
 client (connection ID=%d, operation ID=%d) would have included a search \
 result reference %s.  Referrals are not allowed for LDAPv2 clients, so this \
 search reference will not be sent
ERR_LDAPV2_REFERRAL_RESULT_CHANGED_208=The original result code for this \
 message was 10 but this result is not allowed for LDAPv2 clients
ERR_LDAPV2_REFERRALS_OMITTED_209=The response included one or more \
 referrals, which are not allowed for LDAPv2 clients.  The referrals included \
 were:  %s
ERR_LDAPV2_CLIENTS_NOT_ALLOWED_210=The Directory Server has been \
 configured to deny access to LDAPv2 clients.  This connection will be closed
ERR_LDAPV2_EXTENDED_REQUEST_NOT_ALLOWED_211=The client with connection \
 ID %d authenticated to the Directory Server using LDAPv2, but attempted to \
 send an extended operation request (LDAP message ID %d), which is not allowed \
 for LDAPv2 clients.  The connection will be terminated
ERR_LDAP_STATS_INVALID_MONITOR_INITIALIZATION_212=An attempt was made to \
 initialize the LDAP statistics monitor provider as defined in configuration \
 entry %s.  This monitor provider should only be dynamically created within \
 the Directory Server itself and not from within the configuration
ERR_LDAP_REQHANDLER_UNEXPECTED_SELECT_EXCEPTION_213=The LDAP request \
 handler thread "%s" encountered an unexpected error that would have caused \
 the thread to die:  %s.  The error has been caught and the request handler \
 should continue operating as normal
ERR_CONNHANDLER_REJECTED_BY_SERVER_214=The attempt to register this \
 connection with the Directory Server was rejected.  This might indicate that \
 the server already has the maximum allowed number of concurrent connections \
 established, or that it is in a restricted access mode
INFO_LDAP_CONNHANDLER_DESCRIPTION_LISTEN_PORT_216=TCP port on \
 which this connection handler can accept client connections.  Changes to this \
 configuration attribute will not take effect until the connection handler is \
 disabled and re-enabled, or until the Directory Server is restarted
INFO_LDAP_CONNHANDLER_DESCRIPTION_ALLOW_STARTTLS_227=Indicates whether this \
 connection handler should allow clients to use the StartTLS extended \
 operation to initiate secure communication over a non-SSL LDAP connection. \
 This can not be used if SSL is enabled for the connection handler.  Changes \
 to this configuration attribute will take effect immediately for LDAP clients
INFO_LDAP_CONNHANDLER_DESCRIPTION_SSL_CERT_NICKNAME_229=Nickname of the \
 certificate that the connection handler should use when \
 accepting SSL-based connections or performing StartTLS negotiation.  Changes \
 to this configuration attribute will not take effect until the connection \
 handler is disabled and re-enabled, or until the Directory Server is \
 restarted
ERR_INTERNAL_CANNOT_DECODE_DN_264=An unexpected error occurred while \
 trying to decode the DN %s used for internal operations as a root user:  %s
ERR_LDAP_TLS_EXISTING_SECURITY_PROVIDER_271=The TLS connection security \
 provider cannot be enabled on this client connection because it is already \
 using the %s provider.  StartTLS can only be used on clear-text connections
ERR_LDAP_TLS_STARTTLS_NOT_ALLOWED_272=StartTLS cannot be enabled on this \
 LDAP client connection because the corresponding LDAP connection handler is \
 configured to reject StartTLS requests.  The use of StartTLS can be enabled \
 using the ds-cfg-allow-start-tls configuration attribute
ERR_LDAP_TLS_CANNOT_CREATE_TLS_PROVIDER_273=An error occurred while \
 attempting to create a TLS connection security provider for this client \
 connection for use with StartTLS:  %s
NOTICE_CONNHANDLER_STARTED_LISTENING_276=Started listening for new \
 connections on %s
NOTICE_CONNHANDLER_STOPPED_LISTENING_277=Stopped listening for new \
 connections on %s
ERR_LDAP_PAGED_RESULTS_DECODE_NULL_278=Cannot decode the provided ASN.1 \
 element as an LDAP paged results control value because the element is null
ERR_LDAP_PAGED_RESULTS_DECODE_SEQUENCE_279=Cannot decode the provided \
 ASN.1 element as an LDAP paged results control value because the element \
 could not be decoded as a sequence:  %s
ERR_LDAP_PAGED_RESULTS_DECODE_SIZE_281=Cannot decode the provided ASN.1 \
 element as an LDAP paged results control value because the size element could \
 not be properly decoded:  %s
ERR_LDAP_PAGED_RESULTS_DECODE_COOKIE_282=Cannot decode the provided \
 ASN.1 element as an LDAP paged results control value because the cookie could \
 not be properly decoded:  %s
ERR_LDAPASSERT_NO_CONTROL_VALUE_283=Cannot decode the provided LDAP \
 assertion control because the control does not have a value
ERR_PREREADREQ_NO_CONTROL_VALUE_285=Cannot decode the provided LDAP \
 pre-read request control because the control does not have a value
ERR_PREREADREQ_CANNOT_DECODE_VALUE_286=Cannot decode the provided LDAP \
 pre-read request control because an error occurred while trying to decode the \
 control value:  %s
ERR_POSTREADREQ_NO_CONTROL_VALUE_287=Cannot decode the provided LDAP \
 post-read request control because the control does not have a value
ERR_POSTREADREQ_CANNOT_DECODE_VALUE_288=Cannot decode the provided LDAP \
 post-read request control because an error occurred while trying to decode \
 the control value:  %s
ERR_PREREADRESP_NO_CONTROL_VALUE_289=Cannot decode the provided LDAP \
 pre-read response control because the control does not have a value
ERR_PREREADRESP_CANNOT_DECODE_VALUE_290=Cannot decode the provided LDAP \
 pre-read response control because an error occurred while trying to decode \
 the control value:  %s
ERR_POSTREADRESP_NO_CONTROL_VALUE_291=Cannot decode the provided LDAP \
 post-read response control because the control does not have a value
ERR_POSTREADRESP_CANNOT_DECODE_VALUE_292=Cannot decode the provided LDAP \
 post-read response control because an error occurred while trying to decode \
 the control value:  %s
ERR_PROXYAUTH1_NO_CONTROL_VALUE_293=Cannot decode the provided proxied \
 authorization V1 control because it does not have a value
ERR_PROXYAUTH1_CANNOT_DECODE_VALUE_295=Cannot decode the provided \
 proxied authorization V1 control because an error occurred while attempting \
 to decode the control value:  %s
ERR_PROXYAUTH1_NO_SUCH_USER_296=User %s specified in the proxied \
 authorization V1 control does not exist in the Directory Server
ERR_PROXYAUTH2_NO_CONTROL_VALUE_297=Cannot decode the provided proxied \
 authorization V2 control because it does not have a value
ERR_PROXYAUTH2_NO_IDENTITY_MAPPER_299=Unable to process proxied \
 authorization V2 control because it contains an authorization ID based on a \
 username and no proxied authorization identity mapper is configured in the \
 Directory Server
ERR_PROXYAUTH2_INVALID_AUTHZID_300=The authorization ID "%s" contained \
 in the proxied authorization V2 control is invalid because it does not start \
 with "dn:" to indicate a user DN or "u:" to indicate a username
ERR_PROXYAUTH2_NO_SUCH_USER_301=User %s specified in the proxied \
 authorization V2 control does not exist in the Directory Server
ERR_PSEARCH_CHANGETYPES_INVALID_TYPE_302=The provided integer value %d \
 does not correspond to any persistent search change type
ERR_PSEARCH_CHANGETYPES_NO_TYPES_303=The provided integer value \
 indicated that there were no persistent search change types, which is not \
 allowed
ERR_PSEARCH_CHANGETYPES_INVALID_TYPES_304=The provided integer value %d \
 was outside the range of acceptable values for an encoded change type set
ERR_PSEARCH_NO_CONTROL_VALUE_305=Cannot decode the provided persistent \
 search control because it does not have a value
ERR_PSEARCH_CANNOT_DECODE_VALUE_307=Cannot decode the provided \
 persistent search control because an error occurred while attempting to \
 decode the control value:  %s
ERR_ECN_NO_CONTROL_VALUE_308=Cannot decode the provided entry change \
 notification control because it does not have a value
ERR_ECN_ILLEGAL_PREVIOUS_DN_310=Cannot decode the provided entry change \
 notification control because it contains a previous DN element but had a \
 change type of %s.  The previous DN element can only be provided with the \
 modify DN change type
ERR_ECN_INVALID_ELEMENT_TYPE_311=Cannot decode the provided entry change \
 notification control because the second element in the value sequence has an \
 invalid type of %s that is not appropriate for either a previous DN or a \
 change number
ERR_ECN_CANNOT_DECODE_VALUE_312=Cannot decode the provided entry change \
 notification control because an error occurred while attempting to decode the \
 control value:  %s
ERR_AUTHZIDRESP_NO_CONTROL_VALUE_313=Cannot decode the provided \
 authorization identity response control because it does not have a value
ERR_LDAP_INTERMEDIATE_RESPONSE_DECODE_SEQUENCE_314=Cannot decode the \
 provided ASN.1 element as an LDAP intermediate response protocol op because \
 the element could not be decoded as a sequence:  %s
ERR_LDAP_INTERMEDIATE_RESPONSE_CANNOT_DECODE_OID_316=An error occurred \
 while attempting to decode the intermediate response OID:  %s
ERR_LDAP_INTERMEDIATE_RESPONSE_CANNOT_DECODE_VALUE_317=An error occurred \
 while attempting to decode the intermediate response value:  %s
ERR_MVFILTER_INVALID_LDAP_FILTER_TYPE_321=The provided LDAP filter \
 "%s" cannot be used as a matched values filter because filters of type %s are \
 not allowed for use in matched values filters
ERR_MVFILTER_INVALID_DN_ATTRIBUTES_FLAG_322=The provided LDAP filter \
 "%s" cannot be used as a matched values filter because it is an extensible \
 match filter that contains the dnAttributes flag, which is not allowed for \
 matched values filters
ERR_MVFILTER_CANNOT_DECODE_AVA_324=An error occurred while attempting \
 to decode the attribute value assertion in the provided matched values \
 filter:  %s
ERR_MVFILTER_NO_SUBSTRING_ELEMENTS_326=The provided matched values \
 filter could not be decoded because there were no subInitial, subAny, or \
 subFinal components in the substring filter
ERR_MVFILTER_CANNOT_DECODE_SUBSTRINGS_330=The provided matched values \
 filter could not be decoded because an error occurred while decoding the \
 substring filter component:  %s
ERR_MVFILTER_CANNOT_DECODE_PRESENT_TYPE_331=The provided matched \
 values filter could not be decoded because an error occurred while decoding \
 the presence filter component:  %s
ERR_MVFILTER_CANNOT_DECODE_EXTENSIBLE_MATCH_337=The provided matched \
 values filter could not be decoded because an error occurred while decoding \
 the extensible match filter component:  %s
ERR_MVFILTER_INVALID_ELEMENT_TYPE_338=The provided matched values \
 filter could not be decoded because it had an invalid BER type of %s
ERR_MATCHEDVALUES_NO_CONTROL_VALUE_339=Cannot decode the provided \
 matched values control because it does not have a value
ERR_MATCHEDVALUES_CANNOT_DECODE_VALUE_AS_SEQUENCE_340=Cannot decode \
 the provided matched values control because an error occurred while \
 attempting to decode the value as an ASN.1 sequence:  %s
ERR_MATCHEDVALUES_NO_FILTERS_341=Cannot decode the provided matched \
 values control because the control value does not specify any filters for use \
 in matching attribute values
ERR_PWEXPIRED_CONTROL_INVALID_VALUE_342=Cannot decode the provided \
 control as a password expired control because the provided control had a \
 value that could not be parsed as an integer
ERR_PWEXPIRING_NO_CONTROL_VALUE_343=Cannot decode the provided \
 password expiring control because it does not have a value
ERR_PWEXPIRING_CANNOT_DECODE_SECONDS_UNTIL_EXPIRATION_344=Cannot \
 decode the provided control as a password expiring control because an error \
 occurred while attempting to decode the number of seconds until expiration: \
 %s
MILD_WARN_LDAP_CLIENT_DUPLICATE_MESSAGE_ID_345=The Directory Server is \
 already processing another request on the same client connection with the \
 same message ID of %d
MILD_WARN_LDAP_CLIENT_CANNOT_ENQUEUE_346=The Directory Server encountered an \
 unexpected error while attempting to add the client request to the work \
 queue:  %s
INFO_JMX_CONNHANDLER_DESCRIPTION_LISTEN_PORT_347=TCP port on \
 which this connection handler may accept administrative connections.  Changes \
 to this configuration attribute will not take effect until the connection \
 handler is disabled and re-enabled, or until the Directory Server is \
 restarted
INFO_JMX_CONNHANDLER_DESCRIPTION_SSL_CERT_NICKNAME_352=Nickname \
 of the certificate that the connection handler should use when accepting \
 SSL-based connections or performing StartTLS negotiation.  Changes to this \
 configuration attribute will not take effect until the connection handler is \
 disabled and re-enabled, or until the Directory Server is restarted
ERR_PWPOLICYREQ_CONTROL_HAS_VALUE_354=Cannot decode the provided \
 control as a password policy request control because the provided control had \
 a value but the password policy request control should not have a value
ERR_PWPOLICYRES_NO_CONTROL_VALUE_355=Cannot decode the provided \
 password policy response control because it does not have a value
ERR_PWPOLICYRES_INVALID_WARNING_TYPE_356=Cannot decode the provided \
 password policy response control because the warning element has an invalid \
 type of %s
ERR_PWPOLICYRES_INVALID_ERROR_TYPE_357=Cannot decode the provided \
 password policy response control because the error element has an invalid \
 type of %d
ERR_PWPOLICYRES_DECODE_ERROR_359=Cannot decode the provided password \
 policy response control:  %s
INFO_PWPERRTYPE_DESCRIPTION_PASSWORD_EXPIRED_360=passwordExpired
INFO_PWPERRTYPE_DESCRIPTION_ACCOUNT_LOCKED_361=accountLocked
INFO_PWPERRTYPE_DESCRIPTION_CHANGE_AFTER_RESET_362=changeAfterReset
INFO_PWPERRTYPE_DESCRIPTION_PASSWORD_MOD_NOT_ALLOWED_363=passwordModNotAllowed
INFO_PWPERRTYPE_DESCRIPTION_MUST_SUPPLY_OLD_PASSWORD_364=mustSupplyOldPassword
INFO_PWPERRTYPE_DESCRIPTION_INSUFFICIENT_PASSWORD_QUALITY_365=insufficientPasswordQuality
INFO_PWPERRTYPE_DESCRIPTION_PASSWORD_TOO_SHORT_366=passwordTooShort
INFO_PWPERRTYPE_DESCRIPTION_PASSWORD_TOO_YOUNG_367=passwordTooYoung
INFO_PWPERRTYPE_DESCRIPTION_PASSWORD_IN_HISTORY_368=passwordInHistory
INFO_PWPWARNTYPE_DESCRIPTION_TIME_BEFORE_EXPIRATION_369=timeBeforeExpiration
INFO_PWPWARNTYPE_DESCRIPTION_GRACE_LOGINS_REMAINING_370=graceAuthNsRemaining
ERR_PROXYAUTH1_CANNOT_LOCK_USER_371=Unable to obtain a lock on user \
 entry %s for the proxied authorization V1 control validation
ERR_PROXYAUTH1_UNUSABLE_ACCOUNT_372=Use of the proxied authorization V1 \
 control for user %s is not allowed by the password policy configuration
ERR_PROXYAUTH2_CANNOT_LOCK_USER_373=Unable to obtain a lock on user \
 entry %s for the proxied authorization V2 control validation
ERR_PROXYAUTH2_UNUSABLE_ACCOUNT_374=Use of the proxied authorization V2 \
 control for user %s is not allowed by the password policy configuration
ERR_ACCTUSABLEREQ_CONTROL_HAS_VALUE_375=Cannot decode the provided \
 control as an account availability request control because the provided \
 control had a value but the account availability request control should not \
 have a value
ERR_ACCTUSABLERES_NO_CONTROL_VALUE_376=Cannot decode the provided \
 account availability response control because it does not have a value
ERR_ACCTUSABLERES_UNKNOWN_VALUE_ELEMENT_TYPE_378=The account \
 availability response control had an unknown ACCOUNT_USABLE_RESPONSE element \
 type of %s
ERR_ACCTUSABLERES_DECODE_ERROR_379=Cannot decode the provided account \
 availability response control:  %s
ERR_ADDRESSMASK_PREFIX_DECODE_ERROR_380=Cannot decode the provided \
 address mask prefix because an invalid value was specified. The permitted \
 values for IPv4are 0 to32 and for IPv6 0 to128
ERR_ADDRESSMASK_WILDCARD_DECODE_ERROR_381=Cannot decode the provided \
 address mask because an prefix mask was specified with an wild card "*" match \
 character
ERR_ADDRESSMASK_FORMAT_DECODE_ERROR_382=Cannot decode the provided \
 address mask because the it has an invalid format
ERR_LDAP_ATTRIBUTE_DUPLICATE_VALUES_384=The provided LDAP attribute %s \
 contains duplicate values
ERR_LDAP_FILTER_UNKNOWN_MATCHING_RULE_385=The provided LDAP search \
 filter references unknown matching rule %s
ERR_LDAP_FILTER_VALUE_WITH_NO_ATTR_OR_MR_386=The provided LDAP search \
 filter has an assertion value but does not include either an attribute type \
 or a matching rule ID
FATAL_ERR_LDAP_REQHANDLER_DETECTED_JVM_ISSUE_CR6322825_387=Unable to call \
 select() in the LDAP connection handler:  %s.  It appears that your JVM may \
 be susceptible to the issue described at \
 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6322825, and it is unable \
 to handle LDAP requests in its current configuration.  Please upgrade to a \
 newer JVM that does not exhibit this behavior (Java 5.0 Update 8 or higher) \
 or set the number of available file descriptors to a value greater than or \
 equal to 8193 (e.g., by issuing the command 'ulimit -n 8193') before starting \
 the Directory Server
ERR_PROXYAUTH1_CONTROL_NOT_CRITICAL_388=Unwilling to process the request \
 because it contains a proxied authorization V1 control which is not marked \
 critical.  The proxied authorization control must always have a criticality \
 of "true"
ERR_PROXYAUTH2_CONTROL_NOT_CRITICAL_389=Unwilling to process the request \
 because it contains a proxied authorization V2 control which is not marked \
 critical.  The proxied authorization control must always have a criticality \
 of "true"
INFO_LDAP_CONNHANDLER_DESCRIPTION_KEYMANAGER_DN_390=DN of the \
 configuration entry for the key manager provider that should be used with \
 this LDAP connection handler.  Changes to this attribute will take effect \
 immediately, but only for subsequent attempts to access the key manager \
 provider for associated client connections
INFO_LDAP_CONNHANDLER_DESCRIPTION_TRUSTMANAGER_DN_393=DN of the \
 configuration entry for the trust manager provider that should be used with \
 this LDAP connection handler.  Changes to this attribute will take effect \
 immediately, but only for subsequent attempts to access the trust manager \
 provider for associated client connections
INFO_LDAPS_CONNHANDLER_DESCRIPTION_ENABLE_404=Specifies whether to enable the \
 LDAPS connection handler
ERR_LDAP_FILTER_NOT_EXACTLY_ONE_405=The provided search filter "%s" \
 could not be decoded because the NOT filter between positions %d and %d did \
 not contain exactly one filter component
INFO_SORTREQ_CONTROL_NO_VALUE_406=Unable to decode the provided control as a \
 server-side sort request control because it does not include a control value
INFO_SORTREQ_CONTROL_UNDEFINED_ORDERING_RULE_408=Unable to process the \
 provided server-side sort request control because it references undefined \
 ordering matching rule %s
INFO_SORTREQ_CONTROL_CANNOT_DECODE_VALUE_410=Unable to process the provided \
 server-side sort request control because an error occurred while attempting \
 to decode the control value:  %s
INFO_SORTRES_CONTROL_NO_VALUE_411=Unable to decode the provided control as a \
 server-side sort response control because it does not include a control value
INFO_SORTRES_CONTROL_CANNOT_DECODE_VALUE_412=Unable to process the provided \
 server-side sort response control because an error occurred while attempting \
 to decode the control value:  %s
INFO_SORTREQ_CONTROL_NO_ATTR_NAME_413=Unable to process the provided \
 server-side sort request control because the sort order string "%s" included \
 a sort key with no attribute name
INFO_SORTREQ_CONTROL_NO_MATCHING_RULE_414=Unable to process the provided \
 server-side sort request control because the sort order string "%s" included \
 a sort key with a colon but no matching rule name
INFO_SORTREQ_CONTROL_NO_SORT_KEYS_415=Unable to process the provided \
 server-side sort request control because it did not contain any sort keys
INFO_SORTREQ_CONTROL_NO_ORDERING_RULE_FOR_ATTR_416=Unable to process the \
 provided server-side sort request control because it included attribute %s \
 which does not have a default ordering matching rule and no ordering rule was \
 specified in the sort key
INFO_VLVREQ_CONTROL_NO_VALUE_417=Unable to decode the provided control as a \
 VLV request control because it does not include a control value
INFO_VLVREQ_CONTROL_INVALID_TARGET_TYPE_419=Unable to decode the provided \
 control as a VLV request control because the target element type %s is \
 invalid
INFO_VLVREQ_CONTROL_CANNOT_DECODE_VALUE_420=Unable to process the provided \
 VLV request control because an error occurred while attempting to decode the \
 control value:  %s
INFO_VLVRES_CONTROL_NO_VALUE_421=Unable to decode the provided control as a \
 VLV response control because it does not include a control value
INFO_VLVRES_CONTROL_CANNOT_DECODE_VALUE_423=Unable to process the provided \
 VLV response control because an error occurred while attempting to decode the \
 control value:  %s
INFO_GETEFFECTIVERIGHTS_INVALID_AUTHZID_424=The authorization ID "%s" \
 contained in the geteffectiverights control is invalid because it does not \
 start with "dn:" to indicate a user DN
INFO_GETEFFECTIVERIGHTS_DECODE_ERROR_425=Cannot decode the provided \
 geteffectiverights request control:  %s
ERR_LDAP_FILTER_ENCLOSED_IN_APOSTROPHES_427=An LDAP filter enclosed in \
 apostrophes is invalid:  %s
INFO_JMX_CONNHANDLER_DESCRIPTION_ENABLE_428=Specifies whether to enable the \
 JMX connection handler
ERR_LDAP_FILTER_INVALID_CHAR_IN_ATTR_TYPE_429=The provided search filter \
 contains an invalid attribute type '%s' with invalid character '%s' at \
 position %d
ERR_LDAP_FILTER_EXTENSIBLE_MATCH_NO_AD_OR_MR_430=The provided search \
 filter "%s" could not be decoded because the extensible match component \
 starting at position %d did not include either an attribute description or a \
 matching rule ID.  At least one of them must be provided
ERR_LDAPV2_CONTROLS_NOT_ALLOWED_431=LDAPv2 clients are not allowed to \
 use request controls
ERR_CONNHANDLER_CANNOT_BIND_432=The %s connection handler \
 defined in configuration entry %s was unable to bind to %s:%d:  %s
ERR_JMX_ADD_INSUFFICIENT_PRIVILEGES_434=You do not have sufficient \
 privileges to perform add operations through JMX
ERR_JMX_DELETE_INSUFFICIENT_PRIVILEGES_435=You do not have sufficient \
 privileges to perform delete operations through JMX
ERR_JMX_MODIFY_INSUFFICIENT_PRIVILEGES_436=You do not have sufficient \
 privileges to perform modify operations through JMX
ERR_JMX_MODDN_INSUFFICIENT_PRIVILEGES_437=You do not have sufficient \
 privileges to perform modify DN operations through JMX
ERR_JMX_SEARCH_INSUFFICIENT_PRIVILEGES_438=You do not have sufficient \
 privileges to perform search operations through JMX
ERR_JMX_INSUFFICIENT_PRIVILEGES_439=You do not have sufficient \
 privileges to establish the connection through JMX. At least JMX_READ \
 privilege is required
ERR_INTERNALCONN_NO_SUCH_USER_440=User %s does not exist in the directory
ERR_INTERNALOS_CLOSED_441=This output stream has been closed
ERR_INTERNALOS_INVALID_REQUEST_442=The provided LDAP message had an \
 invalid operation type (%s) for a request
ERR_INTERNALOS_SASL_BIND_NOT_SUPPORTED_443=SASL bind operations are not \
 supported over internal LDAP sockets
ERR_INTERNALOS_STARTTLS_NOT_SUPPORTED_444=StartTLS operations are not \
 supported over internal LDAP sockets
SEVERE_WARN_LDIF_CONNHANDLER_LDIF_DIRECTORY_NOT_DIRECTORY_445=The value %s \
 specified as the LDIF directory path for the LDIF connection handler defined \
 in configuration entry %s exists but is not a directory.  The specified path \
 must be a directory.  The LDIF connection handler will start, but will not \
 be able to proces any changes until this path is changed to a directory
MILD_WARN_LDIF_CONNHANDLER_LDIF_DIRECTORY_MISSING_446=The directory %s \
 referenced by the LDIF connection handler defined in configuration entry %s \
 does not exist.  The LDIF connection handler will start, but will not be \
 able to process any changes until this directory is created
ERR_LDIF_CONNHANDLER_CANNOT_READ_CHANGE_RECORD_NONFATAL_447=An error \
 occurred while trying to read a change record from the LDIF file:  %s.  This \
 change will be skipped but processing on the LDIF file will continue
ERR_LDIF_CONNHANDLER_CANNOT_READ_CHANGE_RECORD_FATAL_448=An error \
 occurred while trying to read a change record from the LDIF file:  %s.  No \
 further processing on this LDIF file can be performed
INFO_LDIF_CONNHANDLER_UNKNOWN_CHANGETYPE_449=Unsupported change type %s
INFO_LDIF_CONNHANDLER_RESULT_CODE_450=Result Code:  %d (%s)
INFO_LDIF_CONNHANDLER_ERROR_MESSAGE_451=Additional Info:  %s
INFO_LDIF_CONNHANDLER_MATCHED_DN_452=Matched DN:  %s
INFO_LDIF_CONNHANDLER_REFERRAL_URL_453=Referral URL:  %s
ERR_LDIF_CONNHANDLER_IO_ERROR_454=An I/O error occurred while the LDIF \
 connection handler was processing LDIF file %s:  %s
ERR_LDIF_CONNHANDLER_CANNOT_RENAME_455=An error occurred while the \
 LDIF connection handler was attempting to rename partially-processed file \
 from %s to %s:  %s
ERR_LDIF_CONNHANDLER_CANNOT_DELETE_456=An error occurred while the \
 LDIF connection handler was attempting to delete processed file %s:  %s
ERR_CONNHANDLER_ADDRESS_INUSE_457=Address already in use
ERR_SUBENTRIES_NO_CONTROL_VALUE_458=Cannot decode the provided \
 subentries control because it does not have a value
ERR_SUBENTRIES_CANNOT_DECODE_VALUE_459=Cannot decode the provided \
 subentries control because an error occurred while attempting \
 to decode the control value:  %s
ERR_SNMP_CONNHANDLER_NO_CONFIGURATION_1462=No Configuration was defined \
 for this connection handler. The configuration parameters ds-cfg-listen-port \
 and ds-cfg-trap-port are required by the connection handler to start
ERR_SNMP_CONNHANDLER_TRAPS_DESTINATION_1463=Traps Destination %s is \
 an unknown host. Traps will not be sent to this destination
ERR_SNMP_CONNHANDLER_NO_OPENDMK_JARFILES_1464=You do not have the \
 appropriate OpenDMK jar files to enable the SNMP Connection Handler. \
 Please go under http://opendmk.dev.java.net and set the \
 opendmk-jarfile configuration parameter to set the full path \
 of the required jdmkrt.jar file. The SNMP connection Handler didn't started
ERR_SNMP_CONNHANDLER_BAD_CONFIGURATION_1465=Cannot initialize the \
 SNMP Connection Handler. Please check the configuration attributes
ERR_SNMP_CONNHANDLER_NO_VALID_TRAP_DESTINATIONS_1466=No valid trap \
 destinations has been found. No trap will be sent
ERR_ASN1_READ_ERROR_1500=An error occured while accessing the \
 underlying data source: %s
ERR_SUBTREE_DELETE_INVALID_CONTROL_VALUE_1503=Cannot decode the provided \
 subtree delete control because it contains a value
ERR_CONNHANDLER_SSL_CANNOT_INITIALIZE_1504=An error occurred \
 while attempting to initialize the SSL context for use in the LDAP \
 Connection Handler:  %s
ERR_LDAP_UNSUPPORTED_PROTOCOL_VERSION_1505=The Directory Server does not \
 support LDAP protocol version %d.  This connection will be closed
ERR_SNMP_CONNHANDLER_OPENDMK_JARFILES_DOES_NOT_EXIST_1506=The specified \
 OpenDMK jar file '%s' could not be found.  Verify that the value set in the \
 opendmk-jarfile configuration parameter of the SNMP connection handler is the \
 valid path to the jdmkrt.jar file and that the file is accessible
ERR_SNMP_CONNHANDLER_OPENDMK_JARFILES_NOT_OPERATIONAL_1507=The required \
 classes could not be loaded using jar file '%s'.  Verify that the jar file \
 is not corrupted
ERR_CANNOT_DECODE_CONTROL_VALUE_1508=Cannot decode the provided \
 control %s because an error occurred while attempting to \
 decode the control value:  %s
ERR_ECLN_NO_CONTROL_VALUE_1509=Cannot decode the provided entry changelog \
 notification control because it does not have a value
ERR_ECLN_CANNOT_DECODE_VALUE_1510=Cannot decode the provided entry \
 changelog notification control because an error occurred while attempting to \
 decode the control value:  %s
ERR_UNEXPECTED_CONNECTION_CLOSURE_1511=The connection to the Directory \
Server was closed while waiting for a response
INFO_ERGONOMIC_SIZING_OF_REQUEST_HANDLER_THREADS_1512=Connection handler '%s' \
 does not specify the number of request handler threads: defaulting to %d threads
ERR_LDAP_CLIENT_IO_ERROR_DURING_READ_1513=An IO error occurred while \
 reading a request from the client: %s
ERR_LDAP_CLIENT_IO_ERROR_BEFORE_READ_1514=Connection reset by client
ERR_CONNHANDLER_CONFIG_CHANGES_REQUIRE_RESTART_1516=The server received \
 configuration changes that require a restart of the %s connection handler \
 to take effect
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AESPasswordStorageSchemeConfiguration.xml
New file
@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="aes-password-storage-scheme"
  plural-name="aes-password-storage-schemes"
  package="org.forgerock.opendj.admin"
  extends="password-storage-scheme"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides a mechanism for encoding user passwords using the AES
    reversible encryption mechanism.
  </adm:synopsis>
  <adm:description>
    This scheme contains only an implementation for the user password
    syntax, with a storage scheme name of "AES".
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-aes-password-storage-scheme</ldap:name>
      <ldap:superior>ds-cfg-password-storage-scheme</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.AESPasswordStorageScheme
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AccessControlHandlerConfiguration.xml
New file
@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="access-control-handler"
  plural-name="access-control-handlers"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
      manage the application-wide access control. The <adm:product-name /> access control
      handler is defined through an extensible interface, so that alternate
      implementations can be created. Only one access control handler may be
      active in the server at any given time.
  </adm:synopsis>
  <adm:description>
     Note that <adm:product-name /> also has a privilege subsystem, which may have an impact
     on what clients may be allowed to do in the server. For example, any user
     with the bypass-acl privilege is not subject to access control
     checking regardless of whether the access control implementation is
     enabled.
  </adm:description>
  <adm:tag name="security" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-access-control-handler</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      is enabled. If set to FALSE, then no access control is enforced, and any
      client (including unauthenticated or anonymous clients) could be allowed to perform any
      operation if not subject to other restrictions, such as those enforced by the privilege
      subsystem.
    </adm:synopsis>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      Specifies the fully-qualified name of the Java class that provides the
      <adm:user-friendly-name />
      implementation.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>
          org.opends.server.api.AccessControlHandler
        </adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AccessLogFilteringCriteriaConfiguration.xml
New file
@@ -0,0 +1,476 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2011 ForgeRock AS.
  ! -->
<adm:managed-object name="access-log-filtering-criteria"
  plural-name="access-log-filtering-criteria"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    A set of rules which together determine whether a log record should be
    logged or not.
  </adm:synopsis>
  <adm:tag name="logging" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-access-log-filtering-criteria</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property name="log-record-type" multi-valued="true">
    <adm:synopsis>
      Filters log records based on their type.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="abandon">
          <adm:synopsis>Abandon operations</adm:synopsis>
        </adm:value>
        <adm:value name="add">
          <adm:synopsis>Add operations</adm:synopsis>
        </adm:value>
        <adm:value name="bind">
          <adm:synopsis>Bind operations</adm:synopsis>
        </adm:value>
        <adm:value name="compare">
          <adm:synopsis>Compare operations</adm:synopsis>
        </adm:value>
        <adm:value name="delete">
          <adm:synopsis>Delete operations</adm:synopsis>
        </adm:value>
        <adm:value name="extended">
          <adm:synopsis>Extended operations</adm:synopsis>
        </adm:value>
        <adm:value name="modify">
          <adm:synopsis>Modify operations</adm:synopsis>
        </adm:value>
        <adm:value name="rename">
          <adm:synopsis>Rename operations</adm:synopsis>
        </adm:value>
        <adm:value name="search">
          <adm:synopsis>Search operations</adm:synopsis>
        </adm:value>
        <adm:value name="unbind">
          <adm:synopsis>Unbind operations</adm:synopsis>
        </adm:value>
        <adm:value name="connect">
          <adm:synopsis>Client connections</adm:synopsis>
        </adm:value>
        <adm:value name="disconnect">
          <adm:synopsis>Client disconnections</adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-log-record-type</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="connection-client-address-equal-to" multi-valued="true">
    <adm:synopsis>
      Filters log records associated with connections which match at least one
      of the specified client host names or address masks.
    </adm:synopsis>
    <adm:description>
      Valid values include a host name, a fully qualified domain name, a
      domain name, an IP address, or a subnetwork with subnetwork mask.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:ip-address-mask />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-connection-client-address-equal-to</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="connection-client-address-not-equal-to" multi-valued="true">
    <adm:synopsis>
      Filters log records associated with connections which do not match any
      of the specified client host names or address masks.
    </adm:synopsis>
    <adm:description>
      Valid values include a host name, a fully qualified domain name, a
      domain name, an IP address, or a subnetwork with subnetwork mask.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:ip-address-mask />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-connection-client-address-not-equal-to</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="connection-protocol-equal-to" multi-valued="true">
    <adm:synopsis>
      Filters log records associated with connections which match any
      of the specified protocols.
    </adm:synopsis>
    <adm:description>
      Typical values include "ldap", "ldaps", or "jmx".
    </adm:description>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string>
      <adm:pattern>
        <adm:regex>[a-zA-Z0-9]+</adm:regex>
        <adm:usage>NAME</adm:usage>
        <adm:synopsis>
          The protocol name as reported in the access log.
        </adm:synopsis>
      </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-connection-protocol-equal-to</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="connection-port-equal-to" multi-valued="true">
    <adm:synopsis>
      Filters log records associated with connections to any of the specified
      listener port numbers.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="1" upper-limit="65535" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-connection-port-equal-to</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="user-dn-equal-to" multi-valued="true">
    <adm:synopsis>
      Filters log records associated with users matching at least one of the
      specified DN patterns.
    </adm:synopsis>
    <adm:description>
      Valid DN filters are strings composed of zero or more wildcards. A double
      wildcard ** replaces one or more RDN components (as in
      uid=dmiller,**,dc=example,dc=com). A simple wildcard * replaces either a
      whole RDN, or a whole type, or a value substring (as in
      uid=bj*,ou=people,dc=example,dc=com).
    </adm:description>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-user-dn-equal-to</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="user-dn-not-equal-to" multi-valued="true">
    <adm:synopsis>
      Filters log records associated with users which do not match any of the
      specified DN patterns.
    </adm:synopsis>
    <adm:description>
      Valid DN filters are strings composed of zero or more wildcards. A double
      wildcard ** replaces one or more RDN components (as in
      uid=dmiller,**,dc=example,dc=com). A simple wildcard * replaces either a
      whole RDN, or a whole type, or a value substring (as in
      uid=bj*,ou=people,dc=example,dc=com).
    </adm:description>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-user-dn-not-equal-to</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="user-is-member-of" multi-valued="true">
    <adm:synopsis>
      Filters log records associated with users which are members of at least
      one of the specified groups.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:dn />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-user-is-member-of</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="user-is-not-member-of" multi-valued="true">
    <adm:synopsis>
      Filters log records associated with users which are not members of any
      of the specified groups.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:dn />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-user-is-not-member-of</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="request-target-dn-equal-to" multi-valued="true">
    <adm:synopsis>
      Filters operation log records associated with operations which target
      entries matching at least one of the specified DN patterns.
    </adm:synopsis>
    <adm:description>
      Valid DN filters are strings composed of zero or more wildcards. A double
      wildcard ** replaces one or more RDN components (as in
      uid=dmiller,**,dc=example,dc=com). A simple wildcard * replaces either a
      whole RDN, or a whole type, or a value substring (as in
      uid=bj*,ou=people,dc=example,dc=com).
    </adm:description>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-request-target-dn-equal-to</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="request-target-dn-not-equal-to" multi-valued="true">
    <adm:synopsis>
      Filters operation log records associated with operations which target
      entries matching none of the specified DN patterns.
    </adm:synopsis>
    <adm:description>
      Valid DN filters are strings composed of zero or more wildcards. A double
      wildcard ** replaces one or more RDN components (as in
      uid=dmiller,**,dc=example,dc=com). A simple wildcard * replaces either a
      whole RDN, or a whole type, or a value substring (as in
      uid=bj*,ou=people,dc=example,dc=com).
    </adm:description>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-request-target-dn-not-equal-to</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="response-result-code-equal-to" multi-valued="true">
    <adm:synopsis>
      Filters operation response log records associated with operations which
      include any of the specified result codes.
    </adm:synopsis>
    <adm:description>
      It is recommended to only use this criteria in conjunction with the
      "combined" output mode of the access logger, since this filter criteria
      is only applied to response log messages.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-response-result-code-equal-to</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="response-result-code-not-equal-to" multi-valued="true">
    <adm:synopsis>
      Filters operation response log records associated with operations which
      do not include any of the specified result codes.
    </adm:synopsis>
    <adm:description>
      It is recommended to only use this criteria in conjunction with the
      "combined" output mode of the access logger, since this filter criteria
      is only applied to response log messages.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-response-result-code-not-equal-to</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="response-etime-greater-than">
    <adm:synopsis>
      Filters operation response log records associated with operations which
      took longer than the specified number of milli-seconds to complete.
    </adm:synopsis>
    <adm:description>
      It is recommended to only use this criteria in conjunction with the
      "combined" output mode of the access logger, since this filter criteria
      is only applied to response log messages.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer>
        <adm:unit-synopsis>milli-seconds</adm:unit-synopsis>
      </adm:integer>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-response-etime-greater-than</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="response-etime-less-than">
    <adm:synopsis>
      Filters operation response log records associated with operations which
      took less than the specified number of milli-seconds to complete.
    </adm:synopsis>
    <adm:description>
      It is recommended to only use this criteria in conjunction with the
      "combined" output mode of the access logger, since this filter criteria
      is only applied to response log messages.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer>
        <adm:unit-synopsis>milli-seconds</adm:unit-synopsis>
      </adm:integer>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-response-etime-less-than</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="search-response-nentries-greater-than">
    <adm:synopsis>
      Filters search operation response log records associated with searches
      which returned more than the specified number of entries.
    </adm:synopsis>
    <adm:description>
      It is recommended to only use this criteria in conjunction with the
      "combined" output mode of the access logger, since this filter criteria
      is only applied to response log messages.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer>
        <adm:unit-synopsis>entries</adm:unit-synopsis>
      </adm:integer>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-search-response-nentries-greater-than</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="search-response-nentries-less-than">
    <adm:synopsis>
      Filters search operation response log records associated with searches
      which returned less than the specified number of entries.
    </adm:synopsis>
    <adm:description>
      It is recommended to only use this criteria in conjunction with the
      "combined" output mode of the access logger, since this filter criteria
      is only applied to response log messages.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer>
        <adm:unit-synopsis>entries</adm:unit-synopsis>
      </adm:integer>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-search-response-nentries-less-than</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="search-response-is-indexed">
    <adm:synopsis>
      Filters search operation response log records associated with searches
      which were either indexed or unindexed.
    </adm:synopsis>
    <adm:description>
      It is recommended to only use this criteria in conjunction with the
      "combined" output mode of the access logger, since this filter criteria
      is only applied to response log messages.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean/>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-search-response-is-indexed</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AccessLogPublisherConfiguration.xml
New file
@@ -0,0 +1,147 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions copyright 2011-2013 ForgeRock AS
  ! -->
<adm:managed-object name="access-log-publisher"
  plural-name="access-log-publishers"
  package="org.forgerock.opendj.admin" extends="log-publisher"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    are responsible for distributing access log messages from the access
    logger to a destination.
  </adm:synopsis>
  <adm:description>
    Access log messages provide information about the types of operations
    processed by the server.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-access-log-publisher</ldap:name>
      <ldap:superior>ds-cfg-log-publisher</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:relation name="access-log-filtering-criteria">
    <adm:synopsis>
      The set of criteria which will be used to filter log records.
    </adm:synopsis>
    <adm:one-to-many/>
    <adm:profile name="ldap">
      <ldap:rdn-sequence>cn=Filtering Criteria</ldap:rdn-sequence>
    </adm:profile>
  </adm:relation>
  <adm:property-override name="java-class">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>org.opends.server.api.AccessLogPublisher</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="filtering-policy">
    <adm:synopsis>
      Specifies how filtering criteria should be applied to log records.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>no-filtering</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="no-filtering">
          <adm:synopsis>
            No filtering will be performed, and all records will be logged.
          </adm:synopsis>
        </adm:value>
        <adm:value name="inclusive">
          <adm:synopsis>
            Records must match at least one of the filtering criteria in order
            to be logged.
          </adm:synopsis>
        </adm:value>
        <adm:value name="exclusive">
          <adm:synopsis>
            Records must not match any of the filtering criteria in order to be
            logged.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-filtering-policy</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="suppress-internal-operations" advanced="true">
    <adm:synopsis>
      Indicates whether internal operations (for example, operations
      that are initiated by plugins) should be logged along with the
      operations that are requested by users.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-suppress-internal-operations</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="suppress-synchronization-operations"
    advanced="true">
    <adm:synopsis>
      Indicates whether access messages that are generated by
      synchronization operations should be suppressed.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>
          ds-cfg-suppress-synchronization-operations
        </ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AccountStatusNotificationHandlerConfiguration.xml
New file
@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="account-status-notification-handler"
  plural-name="account-status-notification-handlers"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
     <adm:user-friendly-plural-name />
     are invoked to provide notification to users in some form (for example,
     by an email message) when the status of a user's account has changed
     in some way. The
    <adm:user-friendly-name />
    can be used to notify the user and/or administrators of the change.
  </adm:synopsis>
  <adm:tag name="user-management" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-account-status-notification-handler</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      is enabled. Only enabled handlers are invoked whenever
      a related event occurs in the server.
    </adm:synopsis>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      Specifies the fully-qualified name of the Java class that provides the
      <adm:user-friendly-name />
      implementation.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>
          org.opends.server.api.AccountStatusNotificationHandler
        </adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AdministrationConnectorConfiguration.xml
New file
@@ -0,0 +1,229 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2012 ForgeRock, AS.
  ! -->
<adm:managed-object name="administration-connector"
  plural-name="administration-connectors"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    is used to interact with administration tools using LDAP.
  </adm:synopsis>
  <adm:description>
    It is a dedicated entry point for administration.
  </adm:description>
  <adm:tag name="core-server" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-administration-connector</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-reference name="listen-port" />
  <adm:property name="listen-address" multi-valued="true">
    <adm:synopsis>
      Specifies the address or set of addresses on which this
      <adm:user-friendly-name />
      should listen for connections from LDAP clients.
    </adm:synopsis>
    <adm:description>
      Multiple addresses may be provided as separate values for this
      attribute. If no values are provided, then the
      <adm:user-friendly-name />
      listens on all interfaces.
    </adm:description>
    <adm:requires-admin-action>
      <adm:server-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0.0.0.0</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:ip-address />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-listen-address</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="key-manager-provider" mandatory="true">
    <adm:synopsis>
      Specifies the name of the key manager that is used with
      the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:server-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation relation-name="key-manager-provider"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced key manager provider must be enabled.
          </adm:synopsis>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-key-manager-provider</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="trust-manager-provider" mandatory="true">
    <adm:synopsis>
      Specifies the name of the trust manager that is used with
      the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:server-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation relation-name="trust-manager-provider"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced trust manager provider must be enabled.
          </adm:synopsis>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-trust-manager-provider</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="ssl-cert-nickname" mandatory="true">
    <adm:synopsis>
      Specifies the nickname (also called the alias) of the certificate
      that the
      <adm:user-friendly-name />
      will use when performing SSL communication.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:server-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>Let the server decide.</adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string></adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-ssl-cert-nickname</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="ssl-protocol" multi-valued="true">
    <adm:synopsis>
      Specifies the names of the SSL protocols that are allowed for
      use in SSL or StartTLS communication.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately but only
          impact new SSL/TLS-based sessions created after the
          change.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          Uses the default set of SSL protocols provided by the server's
          JVM.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-ssl-protocol</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="ssl-cipher-suite" multi-valued="true">
    <adm:synopsis>
      Specifies the names of the SSL cipher suites that are allowed
      for use in SSL communication.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately but will
          only impact new SSL/TLS-based sessions created after the
          change.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          Uses the default set of SSL cipher suites provided by the
          server's JVM.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-ssl-cipher-suite</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AlertHandlerConfiguration.xml
New file
@@ -0,0 +1,146 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="alert-handler" plural-name="alert-handlers"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    are used to notify administrators of significant problems or notable
    events that occur in the <adm:product-name /> directory server.
  </adm:synopsis>
  <adm:tag name="core-server" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-alert-handler</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      is enabled.
    </adm:synopsis>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      Specifies the fully-qualified name of the Java class that provides the
      <adm:user-friendly-name />
      implementation.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>
          org.opends.server.api.AlertHandler
        </adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="enabled-alert-type" multi-valued="true">
    <adm:synopsis>
      Specifies the names of the alert types that are enabled for this
      alert handler.
    </adm:synopsis>
    <adm:description>
      If there are any values for this attribute, then only alerts with
      one of the specified types are allowed (unless they are also
      included in the disabled alert types). If there are no values for
      this attribute, then any alert with a type not included in the
      list of disabled alert types is allowed.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          All alerts with types not included in the set of disabled
          alert types are allowed.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled-alert-type</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="disabled-alert-type" multi-valued="true">
    <adm:synopsis>
      Specifies the names of the alert types that are disabled for this
      alert handler.
    </adm:synopsis>
    <adm:description>
      If there are any values for this attribute, then no alerts with
      any of the specified types are allowed. If there are no values
      for this attribute, then only alerts with a type included in the
      set of enabled alert types are allowed, or if there are no
      values for the enabled alert types option, then all alert types
      are allowed.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          If there is a set of enabled alert types, then only alerts
          with one of those types are allowed. Otherwise, all alerts
          are allowed.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-disabled-alert-type</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AnonymousSASLMechanismHandlerConfiguration.xml
New file
@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="anonymous-sasl-mechanism-handler"
  plural-name="anonymous-sasl-mechanism-handlers"
  package="org.forgerock.opendj.admin" extends="sasl-mechanism-handler"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The ANONYMOUS SASL mechanism provides the ability for clients to
    perform an anonymous bind using a SASL mechanism.
  </adm:synopsis>
  <adm:description>
    The only real
    benefit that this provides over a normal anonymous bind (that is,
    using simple authentication with no password) is that the ANONYMOUS
    SASL mechanism also allows the client to include a trace string in
    the request. This trace string can help identify the application that
    performed the bind (although since there is no authentication,
    there is no assurance that some other client did not spoof that
    trace string).
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-anonymous-sasl-mechanism-handler</ldap:name>
      <ldap:superior>ds-cfg-sasl-mechanism-handler</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.AnonymousSASLMechanismHandler
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AttributeCleanupPluginConfiguration.xml
New file
@@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2011 profiq s.r.o.
  !      Portions copyright 2011 ForgeRock AS.
  ! -->
<adm:managed-object name="attribute-cleanup-plugin"
  plural-name="attribute-cleanup-plugins" package="org.forgerock.opendj.admin"
  extends="plugin" xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    A pre-parse plugin which can be used to remove and rename
    attributes in ADD and MODIFY requests before being processed.
  </adm:synopsis>
  <adm:description>
    This plugin should be used in order maintain interoperability with client
    applications which attempt to update attributes in a way which is
    incompatible with LDAPv3 or <adm:product-name />. For example, this plugin may be used
    in order to remove changes to operational attributes such as modifiersName,
    creatorsName, modifyTimestamp, and createTimestamp (Sun DSEE chaining does
    this).
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-attribute-cleanup-plugin</ldap:name>
      <ldap:superior>ds-cfg-plugin</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>org.opends.server.plugins.AttributeCleanupPlugin</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="invoke-for-internal-operations">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="plugin-type" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>preparseadd</adm:value>
        <adm:value>preparsemodify</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="remove-inbound-attributes" multi-valued="true">
    <adm:synopsis>
      A list of attributes which should be removed from incoming add
      or modify requests.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>No attributes will be removed</adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <!--  Use string syntax because we may be removing invalid attributes -->
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-remove-inbound-attributes</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="rename-inbound-attributes" multi-valued="true">
    <adm:synopsis>
      A list of attributes which should be renamed in incoming add
      or modify requests.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>No attributes will be renamed</adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
          <adm:regex>^[^:]+:[^:]+$</adm:regex>
          <adm:usage>FROM:TO</adm:usage>
          <adm:synopsis>An attribute name mapping.</adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-rename-inbound-attributes</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AttributeSyntaxConfiguration.xml
New file
@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="attribute-syntax"
  plural-name="attribute-syntaxes" package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    define the type of data that may be stored in an attribute with that
    syntax. A syntax is generally associated with a set of matching
    rules that indicate how to perform matching operations against
    values of that syntax.
  </adm:synopsis>
  <adm:tag name="core-server" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-attribute-syntax</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      is enabled.
    </adm:synopsis>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="java-class" mandatory="true" read-only="true">
    <adm:synopsis>
      Specifies the fully-qualified name of the Java class that provides the
      <adm:user-friendly-name />
      implementation.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>
          org.opends.server.api.AttributeSyntax
        </adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AttributeTypeDescriptionAttributeSyntaxConfiguration.xml
New file
@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="attribute-type-description-attribute-syntax"
  plural-name="attribute-type-description-attribute-syntaxes"
  extends="attribute-syntax" package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    describe the format of the directory schema attribute type
    definitions.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>
        ds-cfg-attribute-type-description-attribute-syntax
      </ldap:name>
      <ldap:superior>ds-cfg-attribute-syntax</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.schema.AttributeTypeSyntax
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="strip-syntax-min-upper-bound" advanced="true">
    <adm:synopsis>
      Indicates whether the suggested minimum upper bound appended to an
      attribute's syntax OID in it's schema definition Attribute Type
      Description is stripped off.
    </adm:synopsis>
    <adm:description>
      When retrieving the server's schema, some APIs (JNDI) fail in
      their syntax lookup methods, because they do not parse this value
      correctly. This configuration option allows the server to be
      configured to provide schema definitions these APIs can parse
      correctly.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-strip-syntax-min-upper-bound</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AttributeValuePasswordValidatorConfiguration.xml
New file
@@ -0,0 +1,146 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2012 ForgeRock, AS.
  ! -->
<adm:managed-object name="attribute-value-password-validator"
  plural-name="attribute-value-password-validators"
  package="org.forgerock.opendj.admin" extends="password-validator"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    attempts to determine whether a proposed password is acceptable
    for use by determining whether that password is contained in any
    attribute within the user's entry.
  </adm:synopsis>
  <adm:description>
    It can be configured to look
    in all attributes or in a specified subset of attributes.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-attribute-value-password-validator</ldap:name>
      <ldap:superior>ds-cfg-password-validator</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.AttributeValuePasswordValidator
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="match-attribute" multi-valued="true" >
    <adm:synopsis>
      Specifies the name(s) of the attribute(s) whose values should be
      checked to determine whether they match the provided password.
      If no values are provided, then the server checks if the proposed
      password matches the value of any attribute in the user's entry.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          All attributes in the user entry will be checked.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:attribute-type />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-match-attribute</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="check-substrings" mandatory="false">
    <adm:synopsis>
      Indicates whether this password validator is to match portions of
      the password string against attribute values.
    </adm:synopsis>
    <adm:description>
      If "false" then only match the entire password against attribute values
      otherwise ("true") check whether the password contains attribute values.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-check-substrings</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="min-substring-length" mandatory="false">
    <adm:synopsis>
      Indicates the minimal length of the substring within the password
      in case substring checking is enabled.
    </adm:synopsis>
    <adm:description>
      If "check-substrings" option is set to true, then this parameter
      defines the length of the smallest word which should be used for
      substring matching. Use with caution because values below 3 might
      disqualify valid passwords.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>5</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-min-substring-length</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="test-reversed-password" mandatory="true">
    <adm:synopsis>
      Indicates whether this password validator should test the reversed
      value of the provided password as well as the order in which it
      was given.
    </adm:synopsis>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-test-reversed-password</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/AuthenticationPolicyConfiguration.xml
New file
@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="authentication-policy"
  plural-name="authentication-policies" abstract="true"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    define the policies which should be used for authenticating users and
    managing the password and other account related state.
  </adm:synopsis>
  <adm:tag name="user-management" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-authentication-policy</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      Specifies the fully-qualified name of the Java class which provides the
      <adm:user-friendly-name />
      implementation.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>
          org.opends.server.api.AuthenticationPolicyFactory
        </adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/BackendConfiguration.xml
New file
@@ -0,0 +1,172 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="backend" plural-name="backends"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    are responsible for providing access to the underlying data
    presented by the server.
  </adm:synopsis>
  <adm:description>
    The data may be stored locally in an embedded database,
    remotely in an external system, or generated on the fly
    (for example, calculated from other information that is available).
  </adm:description>
  <adm:tag name="database" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-backend</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the backend is enabled in the server.
    </adm:synopsis>
    <adm:description>
      If a backend is not enabled, then its contents are not
      accessible when processing operations.
    </adm:description>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      Specifies the fully-qualified name of the Java class that provides the
      backend implementation.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>org.opends.server.api.Backend</adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="backend-id" mandatory="true" read-only="true">
    <adm:synopsis>
      Specifies a name to identify the associated backend.
    </adm:synopsis>
    <adm:description>
      The name must be unique among all backends in the server. The backend ID may
      not be altered after the backend is created in the server.
    </adm:description>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-backend-id</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="writability-mode" mandatory="true">
    <adm:synopsis>
      Specifies the behavior that the backend should use when processing
      write operations.
    </adm:synopsis>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="enabled">
          <adm:synopsis>
            Allows write operations to be performed in that backend (if
            the requested operation is valid, the user has permission to
            perform the operation, the backend supports that type of
            write operation, and the global writability-mode property is
            also enabled).
          </adm:synopsis>
        </adm:value>
        <adm:value name="disabled">
          <adm:synopsis>
            Causes all write attempts to fail.
          </adm:synopsis>
        </adm:value>
        <adm:value name="internal-only">
          <adm:synopsis>
            Causes external write attempts to fail but allows writes by
            replication and internal operations.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-writability-mode</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="base-dn" mandatory="true" multi-valued="true">
    <adm:synopsis>
      Specifies the base DN(s) for the data that the backend handles.
    </adm:synopsis>
    <adm:description>
      A single backend may be responsible for one or more base DNs. Note
      that no two backends may have the same base DN although one
      backend may have a base DN that is below a base DN provided by
      another backend (similar to the use of sub-suffixes in the Sun
      Java System Directory Server). If any of the base DNs is
      subordinate to a base DN for another backend, then all base DNs
      for that backend must be subordinate to that same base DN.
    </adm:description>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          No administrative action is required by default although some
          action may be required on a per-backend basis before the new
          base DN may be used.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:dn />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-base-dn</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/BackupBackendConfiguration.xml
New file
@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="backup-backend" plural-name="backup-backends"
  package="org.forgerock.opendj.admin" extends="backend"
  advanced="true" xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides read-only access to the set of backups
    that are available for <adm:product-name />.
  </adm:synopsis>
  <adm:description>
    It is provided as a convenience feature that makes it easier to determine what
    backups are available to be restored if necessary.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-backup-backend</ldap:name>
      <ldap:superior>ds-cfg-backend</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>org.opends.server.backends.BackupBackend</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="writability-mode" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>disabled</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="backup-directory" mandatory="true"
    multi-valued="true">
    <adm:synopsis>
      Specifies the path to a backup directory containing one or more
      backups for a particular backend.
    </adm:synopsis>
    <adm:description>
      This is a multivalued property. Each value may specify a
      different backup directory if desired (one for each backend
      for which backups are taken). Values may be either absolute paths
      or paths that are relative to the base of the <adm:product-name /> directory
      server installation.
    </adm:description>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-backup-directory</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/Base64PasswordStorageSchemeConfiguration.xml
New file
@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="base64-password-storage-scheme"
  plural-name="base64-password-storage-schemes"
  package="org.forgerock.opendj.admin"
  extends="password-storage-scheme"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides a mechanism for encoding user passwords using the BASE64
    encoding mechanism.
  </adm:synopsis>
  <adm:description>
    This scheme contains only an implementation for the user password
    syntax, with a storage scheme name of "BASE64". The
    <adm:user-friendly-name />
    merely obscures the password so that the clear-text password
    is not available to casual observers. However, it offers no real
    protection and should only be used if there are client applications
    that specifically require this capability.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-base64-password-storage-scheme</ldap:name>
      <ldap:superior>ds-cfg-password-storage-scheme</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.Base64PasswordStorageScheme
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/BlindTrustManagerProviderConfiguration.xml
New file
@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="blind-trust-manager-provider"
  plural-name="blind-trust-manager-providers"
  package="org.forgerock.opendj.admin" extends="trust-manager-provider"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The blind trust manager provider always trusts any certificate that
    is presented to it, regardless of its issuer, subject, and validity
    dates.
  </adm:synopsis>
  <adm:description>
    Use the blind trust manager provider only for testing
    purposes, because it allows clients to use forged certificates
    and authenticate as virtually any user in the server.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-blind-trust-manager-provider</ldap:name>
      <ldap:superior>ds-cfg-trust-manager-provider</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.BlindTrustManagerProvider
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/BlowfishPasswordStorageSchemeConfiguration.xml
New file
@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="blowfish-password-storage-scheme"
  plural-name="blowfish-password-storage-schemes"
  package="org.forgerock.opendj.admin"
  extends="password-storage-scheme"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides a mechanism for encoding user passwords using the Blowfish
    reversible encryption mechanism.
  </adm:synopsis>
  <adm:description>
    This scheme contains only an implementation for the user password
    syntax, with a storage scheme name of "BLOWFISH".
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-blowfish-password-storage-scheme</ldap:name>
      <ldap:superior>ds-cfg-password-storage-scheme</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.BlowfishPasswordStorageScheme
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/CancelExtendedOperationHandlerConfiguration.xml
New file
@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="cancel-extended-operation-handler"
  plural-name="cancel-extended-operation-handlers"
  package="org.forgerock.opendj.admin"
  extends="extended-operation-handler"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides support for the LDAP cancel extended operation as defined
    in RFC 3909.
  </adm:synopsis>
  <adm:description>
    It allows clients to cancel operations initiated from earlier
    requests. The property ensures that both the cancel request and the
    operation being canceled receives response messages.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-cancel-extended-operation-handler</ldap:name>
      <ldap:superior>ds-cfg-extended-operation-handler</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.CancelExtendedOperation
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/CertificateAttributeSyntaxConfiguration.xml
New file
@@ -0,0 +1,75 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
  ! or http://forgerock.org/license/CDDLv1.0.html.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/CDDLv1_0.txt.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2012 ForgeRock AS.
  ! -->
<adm:managed-object name="certificate-attribute-syntax"
  plural-name="certificate-attribute-syntaxes"
  extends="attribute-syntax" package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    define an attribute syntax for storing X.509 Certificates.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-certificate-attribute-syntax</ldap:name>
      <ldap:superior>ds-cfg-attribute-syntax</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.schema.CertificateSyntax
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="strict-format" advanced="true">
    <adm:synopsis>
      Indicates whether or not X.509 Certificate values are required to
      strictly comply with the standard definition for this syntax.
    </adm:synopsis>
    <adm:description>
      When set to false, certificates will not be validated and, as a result
      any sequence of bytes will be acceptable.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-strict-format</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/CertificateMapperConfiguration.xml
New file
@@ -0,0 +1,88 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="certificate-mapper"
  plural-name="certificate-mappers"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    are responsible for establishing a mapping between a client
    certificate and the entry for the user that corresponds to that
    certificate.
  </adm:synopsis>
  <adm:tag name="security" />
  <adm:tag name="user-management" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-certificate-mapper</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      is enabled.
    </adm:synopsis>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      Specifies the fully-qualified name of the Java class that provides the
      <adm:user-friendly-name />
      implementation.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
     <adm:syntax>
      <adm:java-class>
        <adm:instance-of>
          org.opends.server.api.CertificateMapper
        </adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ChangeNumberControlPluginConfiguration.xml
New file
@@ -0,0 +1,75 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2012 ForgeRock AS
  ! -->
<adm:managed-object name="change-number-control-plugin"
  plural-name="change-number-control-plugins" package="org.forgerock.opendj.admin"
  extends="plugin" xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    returns the change number generated by the replication subsystem.
  </adm:synopsis>
  <adm:description>
    The <adm:user-friendly-name /> returns the change number generated
    by the Multi-Master Replication subsystem when :
     - the Multi-Master Replication is configured and enabled
     - the request is a write operation (add, delete, modify, moddn)
     - the control is part of a request.
    If all of the above are true, the response contains a control response
    with a string representing the change number.
    The implementation for the chnage number control plug-in is contained
    in the org.opends.server.plugins.ChangeNumberControlPlugin class. It must be
    configured with the postOperationAdd, postOperationDelete,
    postOperationModify and postOperationModifyDN plug-in types,
    but it does not have any other custom configuration.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-change-number-control-plugin</ldap:name>
      <ldap:superior>ds-cfg-plugin</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>org.opends.server.plugins.ChangeNumberControlPlugin</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="plugin-type" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>postOperationAdd</adm:value>
        <adm:value>postOperationDelete</adm:value>
        <adm:value>postOperationModify</adm:value>
        <adm:value>postOperationModifyDN</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/CharacterSetPasswordValidatorConfiguration.xml
New file
@@ -0,0 +1,199 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2011-2012 ForgeRock AS
  ! -->
<adm:managed-object name="character-set-password-validator"
  plural-name="character-set-password-validators"
  package="org.forgerock.opendj.admin" extends="password-validator"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    determines whether a proposed password is acceptable by
    checking whether it contains a sufficient number of characters
    from one or more user-defined character sets and ranges.
  </adm:synopsis>
  <adm:description>
    For example,
    the validator can ensure that passwords must
    have at least one lowercase letter, one uppercase letter, one digit,
    and one symbol.
  </adm:description>
  <adm:constraint>
    <adm:synopsis>
      The <adm:user-friendly-name/> must have at least one character set
      or range specified.
    </adm:synopsis>
    <adm:condition>
      <adm:or>
        <adm:is-present property="character-set" />
        <adm:is-present property="character-set-ranges" />
      </adm:or>
    </adm:condition>
  </adm:constraint>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-character-set-password-validator</ldap:name>
      <ldap:superior>ds-cfg-password-validator</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.CharacterSetPasswordValidator
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="character-set" mandatory="false"
    multi-valued="true">
    <adm:synopsis>
      Specifies a character set containing characters that a password
      may contain and a value indicating the minimum number of
      characters required from that set.
    </adm:synopsis>
    <adm:description>
      Each value must be an integer (indicating the minimum required
      characters from the set which may be zero, indicating that the
      character set is optional) followed by a colon and the characters to
      include in that set (for example, "3:abcdefghijklmnopqrstuvwxyz"
      indicates that a user password must contain at least three
      characters from the set of lowercase ASCII letters). Multiple
      character sets can be defined in separate values, although no
      character can appear in more than one character set.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          If no sets are specified, the validator only uses the
          defined character ranges.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string case-insensitive="false" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-character-set</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="character-set-ranges" mandatory="false"
    multi-valued="true">
    <adm:synopsis>
      Specifies a character range containing characters that a password
      may contain and a value indicating the minimum number of
      characters required from that range.
    </adm:synopsis>
    <adm:description>
      Each value must be an integer (indicating the minimum required
      characters from the range which may be zero, indicating that the
      character range is optional) followed by a colon and one or more
      range specifications. A range specification is 3 characters: the
      first character allowed, a minus, and the last character allowed.
      For example, "3:A-Za-z0-9". The ranges in each value should not
      overlap, and the characters in each range specification should be
      ordered.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          If no ranges are specified, the validator only uses the
          defined character sets.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string case-insensitive="false" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-character-set-ranges</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="allow-unclassified-characters" mandatory="true">
    <adm:synopsis>
      Indicates whether this password validator allows passwords to
      contain characters outside of any of the user-defined character
      sets and ranges.
    </adm:synopsis>
    <adm:description>
      If this is "false", then only those characters in the user-defined
      character sets and ranges may be used in passwords. Any password
      containing a  character not included in any character set or range
      will be rejected.
    </adm:description>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-allow-unclassified-characters</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="min-character-sets" mandatory="false">
    <adm:synopsis>
      Specifies the minimum number of character sets and ranges that a
      password must contain.
    </adm:synopsis>
    <adm:description>
      This property should only be used in conjunction with optional character
      sets and ranges (those requiring zero characters). Its value must
      include any mandatory character sets and ranges (those requiring greater
      than zero characters). This is useful in situations where a password
      must contain characters from mandatory character sets and ranges, and
      characters from at least N optional character sets and ranges. For
      example, it is quite common to require that a password contains at
      least one non-alphanumeric character as well as characters from two
      alphanumeric character sets (lower-case, upper-case, digits). In this
      case, this property should be set to 3.
    </adm:description>
  <adm:default-behavior>
    <adm:alias>
      <adm:synopsis>
        The password must contain characters from each of the mandatory
        character sets and ranges and, if there are optional character sets
        and ranges, at least one character from one of the optional character
        sets and ranges.
      </adm:synopsis>
    </adm:alias>
  </adm:default-behavior>
  <adm:syntax>
      <adm:integer />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-min-character-sets</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ClearPasswordStorageSchemeConfiguration.xml
New file
@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="clear-password-storage-scheme"
  plural-name="clear-password-storage-schemes"
  package="org.forgerock.opendj.admin"
  extends="password-storage-scheme"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides a mechanism for storing user passwords in clear text,
    without any form of obfuscation.
  </adm:synopsis>
  <adm:description>
    This scheme contains only an implementation for the user password
    syntax, with a storage scheme name of "CLEAR". The
    <adm:user-friendly-name />
    should only be used if there are client applications that specifically
    require this capability.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-clear-password-storage-scheme</ldap:name>
      <ldap:superior>ds-cfg-password-storage-scheme</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.ClearPasswordStorageScheme
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ClientConnectionMonitorProviderConfiguration.xml
New file
@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="client-connection-monitor-provider"
  plural-name="client-connection-monitor-providers"
  package="org.forgerock.opendj.admin" extends="monitor-provider"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    exposes monitor information about the set of client connections that
    are established to the <adm:product-name /> directory server.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-client-connection-monitor-provider</ldap:name>
      <ldap:superior>ds-cfg-monitor-provider</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.monitors.ClientConnectionMonitorProvider
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/CollationMatchingRuleConfiguration.xml
New file
@@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, include this CDDL HEADER in each
 ! file and include the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !
 !      Copyright 2008 Sun Microsystems, Inc.
 ! -->
<adm:managed-object name="collation-matching-rule"
 plural-name="collation-matching-rules"
 package="org.forgerock.opendj.admin" extends="matching-rule"
 xmlns:adm="http://www.opends.org/admin"
 xmlns:ldap="http://www.opends.org/admin-ldap">
 <adm:synopsis>
   <adm:user-friendly-plural-name />
   provide support for locale-specific filtering and indexing.
 </adm:synopsis>
 <adm:profile name="ldap">
   <ldap:object-class>
     <ldap:name>ds-cfg-collation-matching-rule</ldap:name>
     <ldap:superior>ds-cfg-matching-rule</ldap:superior>
   </ldap:object-class>
 </adm:profile>
 <adm:property name="matching-rule-type" multi-valued="true" mandatory="true">
   <adm:synopsis>
     the types of matching rules that should be supported for each locale
   </adm:synopsis>
   <adm:syntax>
     <adm:enumeration>
        <adm:value name="equality">
          <adm:synopsis>
            Specifies if equality type collation matching rule needs to
            be created for each locale.
          </adm:synopsis>
        </adm:value>
        <adm:value name="less-than">
          <adm:synopsis>
            Specifies if less-than type collation matching rule needs to
            be created for each locale.
          </adm:synopsis>
        </adm:value>
        <adm:value name="less-than-or-equal-to">
          <adm:synopsis>
            Specifies if less-than-or-equal-to type collation matching rule
            needs to be created for each locale.
          </adm:synopsis>
        </adm:value>
        <adm:value name="greater-than">
          <adm:synopsis>
            Specifies if greater-than type collation matching rule needs
            to be created for each locale.
          </adm:synopsis>
        </adm:value>
        <adm:value name="greater-than-or-equal-to">
          <adm:synopsis>
            Specifies if greater-than-or-equal-to type collation matching rule
            needs to be created for each locale.
          </adm:synopsis>
        </adm:value>
        <adm:value name="substring">
          <adm:synopsis>
            Specifies if substring type collation matching rule needs to be
            created for each locale.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
   </adm:syntax>
   <adm:profile name="ldap">
     <ldap:attribute>
       <ldap:name>ds-cfg-matching-rule-type</ldap:name>
     </ldap:attribute>
   </adm:profile>
 </adm:property>
   <adm:property name="collation" multi-valued="true" mandatory="true">
   <adm:synopsis>
     the set of supported locales
   </adm:synopsis>
   <adm:description>
      Collation must be specified using the syntax: LOCALE:OID
    </adm:description>
   <adm:syntax>
     <adm:string>
       <adm:pattern>
          <adm:regex>^[a-z-A-Z]+:[0-9.]+\\d$</adm:regex>
          <adm:usage>LOCALE:OID</adm:usage>
          <adm:synopsis>
            A Locale followed by a ":" and an OID.
          </adm:synopsis>
        </adm:pattern>
       </adm:string>
   </adm:syntax>
   <adm:profile name="ldap">
     <ldap:attribute>
       <ldap:name>ds-cfg-collation</ldap:name>
     </ldap:attribute>
   </adm:profile>
 </adm:property>
 <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.schema.CollationMatchingRuleFactory
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/CollectiveAttributeSubentriesVirtualAttributeConfiguration.xml
New file
@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2009 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="collective-attribute-subentries-virtual-attribute"
  plural-name="collective-attribute-subentries-virtual-attributes"
  package="org.forgerock.opendj.admin" extends="virtual-attribute"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    generates a virtual attribute that specifies all collective
    attribute subentries that affect the entry.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>
        ds-cfg-collective-attribute-subentries-virtual-attribute
      </ldap:name>
      <ldap:superior>ds-cfg-virtual-attribute</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.CollectiveAttributeSubentriesVirtualAttributeProvider
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="conflict-behavior" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>virtual-overrides-real</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="attribute-type">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>collectiveAttributeSubentries</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ConfigFileHandlerBackendConfiguration.xml
New file
@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="config-file-handler-backend"
  plural-name="config-file-handler-backends"
  package="org.forgerock.opendj.admin" extends="backend"
  advanced="true" xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    allows clients to access the server configuration over protocol, and
    allow both read and write operations. Note: Modify DN operations are not
    supported for entries in the server configuration.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-config-file-handler-backend</ldap:name>
      <ldap:superior>ds-cfg-backend</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.ConfigFileHandler
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="writability-mode" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>enabled</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ConnectionHandlerConfiguration.xml
New file
@@ -0,0 +1,89 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2009 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="connection-handler"
  plural-name="connection-handlers"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    are responsible for handling all interaction with the clients,
    including accepting the connections, reading requests, and sending
    responses.
  </adm:synopsis>
  <adm:tag name="core-server" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-connection-handler</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      is enabled.
    </adm:synopsis>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      Specifies the fully-qualified name of the Java class that provides the
      <adm:user-friendly-name />
      implementation.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>
          org.opends.server.api.ConnectionHandler
        </adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property-reference name="allowed-client" />
  <adm:property-reference name="denied-client" />
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/CountryStringAttributeSyntaxConfiguration.xml
New file
@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
  ! or http://forgerock.org/license/CDDLv1.0.html.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/CDDLv1_0.txt.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2012 ForgeRock AS.
  !      Portions Copyright 2012 Manuel Gaupp
  ! -->
<adm:managed-object name="country-string-attribute-syntax"
  plural-name="country-string-attribute-syntaxes"
  extends="attribute-syntax" package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    define an attribute syntax for storing country codes.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-country-string-attribute-syntax</ldap:name>
      <ldap:superior>ds-cfg-attribute-syntax</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.schema.CountryStringSyntax
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="strict-format" advanced="true">
    <adm:synopsis>
      Indicates whether or not country code values are required to
      strictly comply with the standard definition for this syntax.
    </adm:synopsis>
    <adm:description>
      When set to false, country codes will not be validated and, as
      a result any string containing 2 characters will be acceptable.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-strict-format</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/CramMD5SASLMechanismHandlerConfiguration.xml
New file
@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="cram-md5-sasl-mechanism-handler"
  plural-name="cram-md5-sasl-mechanism-handlers"
  package="org.forgerock.opendj.admin" extends="sasl-mechanism-handler"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The CRAM-MD5 SASL mechanism provides the ability for clients to
    perform password-based authentication in a manner that does not
    expose their password in the clear.
  </adm:synopsis>
  <adm:description>
    Rather than including the
    password in the bind request, the CRAM-MD5 mechanism uses a
    two-step process in which the client needs only to prove that it
    knows the password. The server sends randomly-generated data to
    the client that is to be used in the process, which makes it
    resistant to replay attacks. The one-way message digest
    algorithm ensures that the original clear-text password is not
    exposed.  Note that the algorithm used by the CRAM-MD5 mechanism
    requires that both the client and the server have access to the
    clear-text password (or potentially a value that is derived from
    the clear-text password). In order to authenticate to the server
    using CRAM-MD5, the password for a user's account must be encoded
    using a reversible password storage scheme that allows the server
    to have access to the clear-text value.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-cram-md5-sasl-mechanism-handler</ldap:name>
      <ldap:superior>ds-cfg-sasl-mechanism-handler</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.CRAMMD5SASLMechanismHandler
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="identity-mapper" mandatory="true">
    <adm:synopsis>
      Specifies the name of the identity mapper used
      with this SASL mechanism handler to match the authentication
      ID included in the SASL bind request to the corresponding
      user in the directory.
    </adm:synopsis>
    <adm:syntax>
      <adm:aggregation relation-name="identity-mapper"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced identity mapper must be enabled when the
            <adm:user-friendly-name />
            is enabled.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-identity-mapper</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/CryptPasswordStorageSchemeConfiguration.xml
New file
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2010-2013 ForgeRock AS
  !      Portions Copyright 2012 Dariusz Janny <dariusz.janny@gmail.com>
  ! -->
<adm:managed-object name="crypt-password-storage-scheme"
  plural-name="crypt-password-storage-schemes"
  package="org.forgerock.opendj.admin"
  extends="password-storage-scheme"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides a mechanism for encoding user passwords like Unix crypt does.
    Like on most Unix systems, the password may be encrypted using different
    algorithms, either Unix crypt, md5, sha256 or sha512.
  </adm:synopsis>
  <adm:description>
    This implementation contains an implementation for the user
    password syntax, with a storage scheme name of "CRYPT". Like on most
    Unixes, the "CRYPT" storage scheme has different algorithms, the default
    being the Unix crypt.
    Even though the Unix crypt is a one-way digest, it
    is relatively weak by today's standards. Because it supports
    only a 12-bit salt (meaning that there are only 4096 possible ways to
    encode a given password), it is also vulnerable to dictionary attacks.
    You should therefore use this storage scheme only in cases where an
    external application expects to retrieve the password and verify it
    outside of the directory, rather than by performing an LDAP bind.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-crypt-password-storage-scheme</ldap:name>
      <ldap:superior>ds-cfg-password-storage-scheme</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.CryptPasswordStorageScheme
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
    <adm:property name="crypt-password-storage-encryption-algorithm" mandatory="true">
    <adm:synopsis>
      Specifies the algorithm to use to encrypt new passwords.
    </adm:synopsis>
    <adm:description>
      Select the crypt algorithm to use to encrypt new passwords.
      The value can either be "unix", which means the password is encrypted
      with the Unix crypt algorithm, or md5 which means the password is
      encrypted with the BSD MD5 algorithm and has a $1$ prefix,
      or sha256 which means the password is encrypted with the SHA256 algorithm
      and has a $5$ prefix, or sha512 which means the password is encrypted with
      the SHA512 algorithm and has a $6$ prefix.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>unix</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="unix">
          <adm:synopsis>
            New passwords are encrypted with the Unix crypt algorithm.
          </adm:synopsis>
        </adm:value>
        <adm:value name="md5">
          <adm:synopsis>
            New passwords are encrypted with the BSD MD5 algorithm.
          </adm:synopsis>
        </adm:value>
        <adm:value name="sha256">
          <adm:synopsis>
            New passwords are encrypted with the Unix crypt SHA256 algorithm.
          </adm:synopsis>
        </adm:value>
        <adm:value name="sha512">
          <adm:synopsis>
            New passwords are encrypted with the Unix crypt SHA512 algorithm.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-crypt-password-storage-encryption-algorithm</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/CryptoManagerConfiguration.xml
New file
@@ -0,0 +1,312 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="crypto-manager" plural-name="crypto-managers"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides a common interface for performing compression,
    decompression, hashing, encryption and other kinds of cryptographic
    operations.
  </adm:synopsis>
  <adm:tag name="security" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-crypto-manager</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property name="digest-algorithm" advanced="true">
    <adm:synopsis>
      Specifies the preferred message digest algorithm for the directory server.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately and
          only affect cryptographic operations performed after the
          change.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>SHA-1</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-digest-algorithm</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="mac-algorithm" advanced="true">
    <adm:synopsis>
      Specifies the preferred MAC algorithm for the directory server.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately but only
          affect cryptographic operations performed after the
          change.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>HmacSHA1</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-mac-algorithm</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="mac-key-length" advanced="true">
    <adm:synopsis>
      Specifies the key length in bits for the preferred MAC algorithm.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately but only
          affect cryptographic operations performed after the
          change.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>128</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-mac-key-length</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="cipher-transformation" advanced="true">
    <adm:synopsis>
      Specifies the cipher for the directory server
      using the syntax algorithm/mode/padding.
    </adm:synopsis>
    <adm:description>
      The full transformation is required: specifying only an algorithm
      and allowing the cipher provider to supply the default mode and
      padding is not supported, because there is no guarantee these
      default values are the same among different implementations.
      Some cipher algorithms, including RC4 and ARCFOUR, do not have a
      mode or padding, and hence must be specified using NONE for the
      mode field and NoPadding for the padding field. For example,
      RC4/NONE/NoPadding.
    </adm:description>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately but
          only affect cryptographic operations performed after the
          change.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>AES/CBC/PKCS5Padding</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-cipher-transformation</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="cipher-key-length" advanced="true">
    <adm:synopsis>
      Specifies the key length in bits for the preferred cipher.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately but
          only affect cryptographic operations performed after the
          change.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>128</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-cipher-key-length</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
    <adm:property name="key-wrapping-transformation" multi-valued="false" advanced="false">
    <adm:synopsis>
      The preferred key wrapping transformation for the directory server. This value must
      be the same for all server instances in a replication topology.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property will take effect immediately but will
          only affect cryptographic operations performed after the
          change.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>RSA/ECB/OAEPWITHSHA-1ANDMGF1PADDING</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-key-wrapping-transformation</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="ssl-protocol" multi-valued="true">
    <adm:synopsis>
      Specifies the names of the SSL protocols that are allowed for
      use in SSL or TLS communication.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately but
          only impact new SSL/TLS-based sessions created after the
          change.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          Uses the default set of SSL protocols provided by the server's
          JVM.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-ssl-protocol</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="ssl-cipher-suite" multi-valued="true">
    <adm:synopsis>
      Specifies the names of the SSL cipher suites that are allowed
      for use in SSL or TLS communication.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately but
          only impact new SSL/TLS-based sessions created after the
          change.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          Uses the default set of SSL cipher suites provided by the
          server's JVM.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-ssl-cipher-suite</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="ssl-encryption">
    <adm:synopsis>
      Specifies whether SSL/TLS is used to provide encrypted
      communication between two <adm:product-name /> server components.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately but
          only impact new SSL/TLS-based sessions created after the
          change.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-ssl-encryption</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property-reference name="ssl-cert-nickname" />
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/DebugLogPublisherConfiguration.xml
New file
@@ -0,0 +1,253 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions copyright 2013 ForgeRock AS
  ! -->
<adm:managed-object name="debug-log-publisher"
  plural-name="debug-log-publishers"
  package="org.forgerock.opendj.admin" extends="log-publisher"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    are responsible for distributing debug log messages from the debug
    logger to a destination.
  </adm:synopsis>
  <adm:description>
    Debug log messages provide information that can be used for debugging
    or troubleshooting problems in the server, or for providing more
    detailed information about the processing that the server performs.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-debug-log-publisher</ldap:name>
      <ldap:superior>ds-cfg-log-publisher</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:relation name="debug-target">
    <adm:one-to-many naming-property="debug-scope" />
    <adm:profile name="ldap">
      <ldap:rdn-sequence>cn=Debug Targets</ldap:rdn-sequence>
    </adm:profile>
    <adm:profile name="cli">
      <cli:relation>
        <cli:default-property name="debug-level" />
        <cli:default-property name="debug-category" />
      </cli:relation>
    </adm:profile>
  </adm:relation>
  <adm:property-override name="java-class">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>org.opends.server.api.DebugLogPublisher</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="default-debug-level" mandatory="true">
    <adm:synopsis>
      The lowest severity level of debug messages to log when none of
      the defined targets match the message.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>error</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="disabled">
          <adm:synopsis>No messages will be logged.</adm:synopsis>
        </adm:value>
        <adm:value name="error">
          <adm:synopsis>
            Messages with severity level of ERROR or higher will be
            logged.
          </adm:synopsis>
        </adm:value>
        <adm:value name="warning">
          <adm:synopsis>
            Messages with severity level of WARNING or higher will be
            logged.
          </adm:synopsis>
        </adm:value>
        <adm:value name="info">
          <adm:synopsis>
            Messages with severity level of INFO or higher will be
            logged.
          </adm:synopsis>
        </adm:value>
        <adm:value name="verbose">
          <adm:synopsis>
            Messages with severity level of VERBOSE or higher will be
            logged.
          </adm:synopsis>
        </adm:value>
        <adm:value name="all">
          <adm:synopsis>
            Messages with any severity level will be logged.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-default-debug-level</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="default-debug-category" multi-valued="true">
    <adm:synopsis>
      The debug message categories to be logged when none of the defined
      targets match the message.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          Messages with any category will be logged if they have a
          sufficient debug level.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="caught">
          <adm:synopsis>Exception caught.</adm:synopsis>
        </adm:value>
        <adm:value name="constructor">
          <adm:synopsis>Constructor entry.</adm:synopsis>
        </adm:value>
        <adm:value name="data">
          <adm:synopsis>Raw data dump.</adm:synopsis>
        </adm:value>
        <adm:value name="database-access">
          <adm:synopsis>Access to a backend database.</adm:synopsis>
        </adm:value>
        <adm:value name="enter">
          <adm:synopsis>Method entry.</adm:synopsis>
        </adm:value>
        <adm:value name="exit">
          <adm:synopsis>Method exit.</adm:synopsis>
        </adm:value>
        <adm:value name="message">
          <adm:synopsis>Arbitrary debug message.</adm:synopsis>
        </adm:value>
        <adm:value name="protocol">
          <adm:synopsis>Protocol element dump.</adm:synopsis>
        </adm:value>
        <adm:value name="thrown">
          <adm:synopsis>Exception throw from method.</adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-default-debug-category</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="default-omit-method-entry-arguments">
    <adm:synopsis>
      Indicates whether to include method arguments in debug
      messages logged by default.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>
          ds-cfg-default-omit-method-entry-arguments
        </ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="default-omit-method-return-value">
    <adm:synopsis>
      Indicates whether to include the return value in debug
      messages logged by default.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-default-omit-method-return-value</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="default-include-throwable-cause">
    <adm:synopsis>
      Indicates whether to include the cause of exceptions in
      exception thrown and caught messages logged by default.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-default-include-throwable-cause</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="default-throwable-stack-frames">
    <adm:synopsis>
      Indicates the number of stack frames to include in the
      stack trace for method entry and exception thrown messages.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>2147483647</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" upper-limit="2147483647" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-default-throwable-stack-frames</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/DebugTargetConfiguration.xml
New file
@@ -0,0 +1,249 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="debug-target" plural-name="debug-targets"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    define the types of messages logged by the debug logPublisher.
  </adm:synopsis>
  <adm:description>
    Debug targets allow for fine-grain control of which messages are logged
    based on the package, class, or method that generated the message. Each
    debug target configuration entry resides below the entry with RDN of
    "cn=Debug Target" immediately below the parent ds-cfg-debug-log-publisher
    entry.
  </adm:description>
  <adm:tag name="logging" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-debug-target</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property name="debug-scope" mandatory="true" read-only="true">
    <adm:synopsis>
      Specifies the fully-qualified <adm:product-name /> Java package, class, or method affected
      by the settings in this target definition. Use the number
      character (#) to separate the class name and the method name
      (that is, org.opends.server.core.DirectoryServer#startUp).
    </adm:synopsis>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
          <adm:regex>
            ^([A-Za-z][A-Za-z0-9_]*\\.)*[A-Za-z][A-Za-z0-9_]*(#[A-Za-z][A-Za-z0-9_]*)?$
          </adm:regex>
          <adm:usage>STRING</adm:usage>
          <adm:synopsis>
            The fully-qualified <adm:product-name /> Java package, class, or method
            name.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-debug-scope</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="debug-level" mandatory="true">
    <adm:synopsis>
      Specifies the lowest severity level of debug messages to log.
    </adm:synopsis>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="disabled">
          <adm:synopsis>No messages are logged.</adm:synopsis>
        </adm:value>
        <adm:value name="error">
          <adm:synopsis>
            Messages with severity level of ERROR or higher are
            logged.
          </adm:synopsis>
        </adm:value>
        <adm:value name="warning">
          <adm:synopsis>
            Messages with severity level of WARNING or higher are
            logged.
          </adm:synopsis>
        </adm:value>
        <adm:value name="info">
          <adm:synopsis>
            Messages with severity level of INFO or higher are
            logged.
          </adm:synopsis>
        </adm:value>
        <adm:value name="verbose">
          <adm:synopsis>
            Messages with severity level of VERBOSE or higher are
            logged.
          </adm:synopsis>
        </adm:value>
        <adm:value name="all">
          <adm:synopsis>
            Messages with any severity level are logged.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-debug-level</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="debug-category" multi-valued="true">
    <adm:synopsis>
      Specifies the debug message categories to be logged.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          Messages with any category are logged if they have a
          sufficient debug level.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="caught">
          <adm:synopsis>Exception caught</adm:synopsis>
        </adm:value>
        <adm:value name="constructor">
          <adm:synopsis>Constructor entry</adm:synopsis>
        </adm:value>
        <adm:value name="data">
          <adm:synopsis>Raw data dump</adm:synopsis>
        </adm:value>
        <adm:value name="database-access">
          <adm:synopsis>Access to a backend database.</adm:synopsis>
        </adm:value>
        <adm:value name="enter">
          <adm:synopsis>Method entry</adm:synopsis>
        </adm:value>
        <adm:value name="exit">
          <adm:synopsis>Method exit</adm:synopsis>
        </adm:value>
        <adm:value name="message">
          <adm:synopsis>Arbitrary debug message</adm:synopsis>
        </adm:value>
        <adm:value name="protocol">
          <adm:synopsis>Protocol element dump</adm:synopsis>
        </adm:value>
        <adm:value name="thrown">
          <adm:synopsis>Exception thrown from method</adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-debug-category</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="omit-method-entry-arguments">
    <adm:synopsis>
      Specifies the property to indicate whether to include method arguments in debug
      messages.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-omit-method-entry-arguments</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="omit-method-return-value">
    <adm:synopsis>
      Specifies the property to indicate whether to include the return value in debug
      messages.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-omit-method-return-value</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="include-throwable-cause">
    <adm:synopsis>
      Specifies the property to indicate whether to include the cause of exceptions in
      exception thrown and caught messages.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-include-throwable-cause</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="throwable-stack-frames">
    <adm:synopsis>
      Specifies the property to indicate the number of stack frames to include in the
      stack trace for method entry and exception thrown messages.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-throwable-stack-frames</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/DictionaryPasswordValidatorConfiguration.xml
New file
@@ -0,0 +1,198 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2011 profiq, s.r.o.
  !      Portions copyright 2012 ForgeRock AS.
  ! -->
<adm:managed-object name="dictionary-password-validator"
  plural-name="dictionary-password-validators"
  package="org.forgerock.opendj.admin" extends="password-validator"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    determines whether a proposed password is acceptable based
    on whether the given password value appears in a provided dictionary
    file.
  </adm:synopsis>
  <adm:description>
    A large dictionary file is provided with the server, but the
    administrator can supply an alternate dictionary. In this case,
    then the dictionary must be a plain-text file with
    one word per line.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-dictionary-password-validator</ldap:name>
      <ldap:superior>ds-cfg-password-validator</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.DictionaryPasswordValidator
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="dictionary-file" mandatory="true">
    <adm:synopsis>
      Specifies the path to the file containing a list of words that
      cannot be used as passwords.
    </adm:synopsis>
    <adm:description>
      It should be formatted with one word per line. The value can be an
      absolute path or a path that is relative to the
      <adm:product-name />
      instance root.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          For Unix and Linux systems: config/wordlist.txt.
          For Windows systems: config\\wordlist.txt
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
          <adm:regex>.*</adm:regex>
          <adm:usage>FILE</adm:usage>
          <adm:synopsis>
          The path to any text file contained on the system that is
          readable by the server.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-dictionary-file</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="case-sensitive-validation" mandatory="true">
    <adm:synopsis>
      Indicates whether this password validator is to treat password
      characters in a case-sensitive manner.
    </adm:synopsis>
    <adm:description>
      If it is set to true, then the validator rejects a password only
      if it appears in the dictionary with exactly the
      same capitalization as provided by the user.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-case-sensitive-validation</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="test-reversed-password" mandatory="true">
    <adm:synopsis>
      Indicates whether this password validator is to test the reversed
      value of the provided password as well as the order in which it
      was given.
    </adm:synopsis>
    <adm:description>
      For example, if the user provides a new password of
      "password" and this configuration attribute is set to true, then
      the value "drowssap" is also tested against attribute values
      in the user's entry.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-test-reversed-password</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="check-substrings" mandatory="false">
    <adm:synopsis>
      Indicates whether this password validator is to match portions of
      the password string against dictionary words.
    </adm:synopsis>
    <adm:description>
      If "false" then only match the entire password against words
      otherwise ("true") check whether the password contains words.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-check-substrings</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="min-substring-length" mandatory="false">
    <adm:synopsis>
      Indicates the minimal length of the substring within the password
      in case substring checking is enabled.
    </adm:synopsis>
    <adm:description>
      If "check-substrings" option is set to true, then this parameter
      defines the length of the smallest word which should be used for
      substring matching. Use with caution because values below 3 might
      disqualify valid passwords.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>5</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-min-substring-length</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/DigestMD5SASLMechanismHandlerConfiguration.xml
New file
@@ -0,0 +1,211 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="digest-md5-sasl-mechanism-handler"
  plural-name="digest-md5-sasl-mechanism-handlers"
  package="org.forgerock.opendj.admin" extends="sasl-mechanism-handler"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The DIGEST-MD5 SASL mechanism
    is used to perform all processing related to SASL DIGEST-MD5
    authentication.
  </adm:synopsis>
  <adm:description>
    The DIGEST-MD5 SASL mechanism is very similar
    to the CRAM-MD5 mechanism in that it allows for password-based
    authentication without exposing the password in the clear
    (although it does require that both the client and the server
    have access to the clear-text password). Like the CRAM-MD5
    mechanism, it uses data that is randomly generated by the server
    to make it resistant to replay attacks, but it also includes
    randomly-generated data from the client, which makes it also
    resistant to problems resulting from weak server-side random
    number generation.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-digest-md5-sasl-mechanism-handler</ldap:name>
      <ldap:superior>ds-cfg-sasl-mechanism-handler</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.DigestMD5SASLMechanismHandler
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="realm">
    <adm:synopsis>
      Specifies the realms that is to be used by the server for
      DIGEST-MD5 authentication.
    </adm:synopsis>
    <adm:description>
      If this value is not provided, then the server defaults to use the fully
      qualified hostname of the machine.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
        If this value is not provided, then the server defaults to use the fully
        qualified hostname of the machine.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
          <adm:regex>.*</adm:regex>
          <adm:usage>STRING</adm:usage>
          <adm:synopsis>
            Any realm string that does not contain a comma.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-realm</ldap:name>
      </ldap:attribute>
    </adm:profile>
    </adm:property>
  <adm:property name="quality-of-protection">
    <adm:synopsis>
     The name of a property that specifies the quality of protection
     the server will support.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>none</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="none">
          <adm:synopsis>
            QOP equals authentication only.
          </adm:synopsis>
        </adm:value>
        <adm:value name="integrity">
          <adm:synopsis>
            Quality of protection equals authentication with integrity
            protection.
          </adm:synopsis>
        </adm:value>
        <adm:value name="confidentiality">
          <adm:synopsis>
            Quality of protection equals authentication with integrity and
            confidentiality protection.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-quality-of-protection</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
 <adm:property name="identity-mapper" mandatory="true">
    <adm:synopsis>
      Specifies the name of the identity mapper that is to be used
      with this SASL mechanism handler to match the authentication
      or authorization
      ID included in the SASL bind request to the corresponding
      user in the directory.
    </adm:synopsis>
    <adm:syntax>
      <adm:aggregation relation-name="identity-mapper"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced identity mapper must be enabled when the
            <adm:user-friendly-name />
            is enabled.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-identity-mapper</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="server-fqdn">
    <adm:synopsis>
      Specifies the DNS-resolvable fully-qualified domain name for the
      server that is used when validating the digest-uri parameter during
      the authentication process.
    </adm:synopsis>
    <adm:description>
      If this configuration attribute is
      present, then the server expects that clients use a digest-uri equal
      to "ldap/" followed by the value of this attribute. For example, if
      the attribute has a value of "directory.example.com", then the
      server expects clients to use a digest-uri of
      "ldap/directory.example.com". If no value is provided, then the
      server does not attempt to validate the digest-uri provided by the
      client and accepts any value.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          The server attempts to determine the
          fully-qualified domain name dynamically.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
          <adm:regex>.*</adm:regex>
          <adm:usage>STRING</adm:usage>
          <adm:synopsis>
            The fully-qualified address that is expected for clients to use
            when connecting to the server and authenticating via DIGEST-MD5.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-server-fqdn</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/DirectoryStringAttributeSyntaxConfiguration.xml
New file
@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="directory-string-attribute-syntax"
  plural-name="directory-string-attribute-syntaxes"
  extends="attribute-syntax" package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    defines an attribute syntax for storing arbitrary string (and
    sometimes binary) data.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-directory-string-attribute-syntax</ldap:name>
      <ldap:superior>ds-cfg-attribute-syntax</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.schema.DirectoryStringSyntax
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="allow-zero-length-values" advanced="true">
    <adm:synopsis>
      Indicates whether zero-length (that is, an empty string) values are
      allowed.
    </adm:synopsis>
    <adm:description>
      This is technically not allowed by the revised LDAPv3
      specification, but some environments may require it for backward
      compatibility with servers that do allow it.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-allow-zero-length-values</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/DseeCompatAccessControlHandlerConfiguration.xml
New file
@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2009 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="dsee-compat-access-control-handler"
  plural-name="dseecompat-access-control-handlers"
  package="org.forgerock.opendj.admin" extends="access-control-handler"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides an implementation that uses syntax compatible with the
    Sun Java System Directory Server Enterprise Edition
    access control handlers.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-dsee-compat-access-control-handler</ldap:name>
      <ldap:superior>ds-cfg-access-control-handler</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.authorization.dseecompat.AciHandler
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="global-aci" multi-valued="true">
    <adm:synopsis>Defines global access control rules.</adm:synopsis>
    <adm:description>
      Global access control rules apply to all entries anywhere in the
      data managed by the <adm:product-name /> directory server. The global access control
      rules may be overridden by more specific access control rules
      placed in the data.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          No global access control rules are defined, which means
          that no access is allowed for any data in the server
          unless specifically granted by access control rules in the
          data.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:aci />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-global-aci</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/DynamicGroupImplementationConfiguration.xml
New file
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="dynamic-group-implementation"
  plural-name="dynamic-group-implementations"
  package="org.forgerock.opendj.admin" extends="group-implementation"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides a grouping mechanism in which the group membership is
    determined based on criteria defined in one or more LDAP URLs.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-dynamic-group-implementation</ldap:name>
      <ldap:superior>ds-cfg-group-implementation</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>org.opends.server.extensions.DynamicGroup</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/EntityTagVirtualAttributeConfiguration.xml
New file
@@ -0,0 +1,125 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2012 ForgeRock AS
  ! -->
<adm:managed-object name="entity-tag-virtual-attribute"
  plural-name="entity-tag-virtual-attributes"
  package="org.forgerock.opendj.admin" extends="virtual-attribute"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The <adm:user-friendly-name /> ensures that all entries contain an
    "entity tag" or "Etag" as defined in section 3.11 of RFC 2616.
  </adm:synopsis>
  <adm:description>
    The entity tag may be used by clients, in conjunction with the assertion
    control, for optimistic concurrency control, as a way to help prevent
    simultaneous updates of an entry from conflicting with each other.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-entity-tag-virtual-attribute</ldap:name>
      <ldap:superior>ds-cfg-virtual-attribute</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.EntityTagVirtualAttributeProvider
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="conflict-behavior" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>real-overrides-virtual</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="attribute-type">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>etag</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="checksum-algorithm">
    <adm:synopsis>
      The algorithm which should be used for calculating the entity tag
      checksum value.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>adler-32</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="adler-32">
          <adm:synopsis>
            The Adler-32 checksum algorithm which is almost as reliable as
            a CRC-32 but can be computed much faster.
          </adm:synopsis>
        </adm:value>
        <adm:value name="crc-32">
          <adm:synopsis>
            The CRC-32 checksum algorithm.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-checksum-algorithm</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="excluded-attribute" multi-valued="true">
    <adm:synopsis>
      The list of attributes which should be ignored when calculating the
      entity tag checksum value.
    </adm:synopsis>
    <adm:description>
      Certain attributes like "ds-sync-hist" may vary between replicas due to
      different purging schedules and should not be included in the checksum.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>ds-sync-hist</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:attribute-type />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-excluded-attribute</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/EntryCacheConfiguration.xml
New file
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="entry-cache" plural-name="entry-caches"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    are responsible for caching entries which are likely to be accessed
    by client applications in order to improve <adm:product-name /> directory server
    performance.
  </adm:synopsis>
  <adm:tag name="database" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-entry-cache</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      is enabled.
    </adm:synopsis>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      Specifies the fully-qualified name of the Java class that provides the
      <adm:user-friendly-name />
      implementation.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>
          org.opends.server.api.EntryCache
        </adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="cache-level" mandatory="true">
    <adm:synopsis>
      Specifies the cache level in the cache order if more than
      one instance of the cache is configured.
    </adm:synopsis>
    <adm:syntax>
      <adm:integer lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-cache-level</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/EntryCacheMonitorProviderConfiguration.xml
New file
@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="entry-cache-monitor-provider"
  plural-name="entry-cache-monitor-providers"
  package="org.forgerock.opendj.admin" extends="monitor-provider"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    exposes monitor information about the state of <adm:product-name /> directory server
    entry caches.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-entry-cache-monitor-provider</ldap:name>
      <ldap:superior>ds-cfg-monitor-provider</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.monitors.EntryCacheMonitorProvider
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/EntryDNVirtualAttributeConfiguration.xml
New file
@@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="entry-dn-virtual-attribute"
  plural-name="entry-dn-virtual-attributes"
  package="org.forgerock.opendj.admin" extends="virtual-attribute"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    generates the entryDN operational attribute in directory entries,
    which contains a normalized form of the entry's DN.
  </adm:synopsis>
  <adm:description>
    This attribute is defined in the draft-zeilenga-ldap-entrydn
    Internet Draft and contains the DN of the entry in which it is
    contained.
    This component provides the ability to use search filters containing the
    entry's DN.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-entry-dn-virtual-attribute</ldap:name>
      <ldap:superior>ds-cfg-virtual-attribute</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.EntryDNVirtualAttributeProvider
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="conflict-behavior" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>virtual-overrides-real</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="attribute-type">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>entryDN</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/EntryUUIDPluginConfiguration.xml
New file
@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="entry-uuid-plugin"
  plural-name="entry-uuid-plugins" package="org.forgerock.opendj.admin"
  extends="plugin" xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    generates values for the entryUUID operational attribute
    whenever an entry is added via protocol or imported from LDIF.
  </adm:synopsis>
  <adm:description>
    The entryUUID plug-in ensures that all entries
    added to the server, whether through an LDAP add operation or via
    an LDIF import, are assigned an entryUUID operational attribute if
    they do not already have one. The entryUUID attribute contains a
    universally unique identifier that can be used to identify an entry
    in a manner that does not change (even in the event of a modify DN
    operation). This plug-in generates a random UUID for entries created
    by an add operation, but the UUID is constructed from the DN of the
    entry during an LDIF import (which means that the same LDIF file
    can be imported on different systems but still get the same value
    for the entryUUID attribute). This behavior is based on the
    specification contained in RFC 4530. The implementation for the
    entry UUID plug-in is contained in the
    org.opends.server.plugins.EntryUUIDPlugin class. It must be
    configured with the preOperationAdd and ldifImport plug-in types,
    but it does not have any other custom configuration. This
    plug-in must be enabled in any directory that is intended to be used
    in a synchronization environment.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-entry-uuid-plugin</ldap:name>
      <ldap:superior>ds-cfg-plugin</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>org.opends.server.plugins.EntryUUIDPlugin</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="plugin-type" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>ldifimport</adm:value>
        <adm:value>preoperationadd</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/EntryUUIDVirtualAttributeConfiguration.xml
New file
@@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="entry-uuid-virtual-attribute"
  plural-name="entry-uuid-virtual-attributes"
  package="org.forgerock.opendj.admin" extends="virtual-attribute"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    ensures that all entries contained in private backends
    have values for the entryUUID operational attribute.
  </adm:synopsis>
  <adm:description>
    The entryUUID values are generated based on a normalized
    representation of the entry's DN, which does not cause a
    consistency problem because <adm:product-name /> does not allow modify DN
    operations to be performed in private backends.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-entry-uuid-virtual-attribute</ldap:name>
      <ldap:superior>ds-cfg-virtual-attribute</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.EntryUUIDVirtualAttributeProvider
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="conflict-behavior" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>real-overrides-virtual</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="attribute-type">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>entryUUID</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ErrorLogAccountStatusNotificationHandlerConfiguration.xml
New file
@@ -0,0 +1,148 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="error-log-account-status-notification-handler"
  plural-name="error-log-account-status-notification-handlers"
  extends="account-status-notification-handler"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    is a notification handler that writes information
    to the server error log whenever an appropriate account status event
    occurs.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>
        ds-cfg-error-log-account-status-notification-handler
      </ldap:name>
      <ldap:superior>
        ds-cfg-account-status-notification-handler
      </ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.ErrorLogAccountStatusNotificationHandler
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="account-status-notification-type" mandatory="true"
    multi-valued="true">
    <adm:synopsis>
      Indicates which types of event can trigger an account status notification.
    </adm:synopsis>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="account-temporarily-locked">
          <adm:synopsis>
            Generate a notification whenever a user account has been temporarily
            locked after too many failed attempts.
          </adm:synopsis>
        </adm:value>
        <adm:value name="account-permanently-locked">
          <adm:synopsis>
            Generate a notification whenever a user account has been permanently
            locked after too many failed attempts.
          </adm:synopsis>
        </adm:value>
        <adm:value name="account-unlocked">
          <adm:synopsis>
            Generate a notification whenever a user account has been unlocked by an
            administrator.
          </adm:synopsis>
        </adm:value>
        <adm:value name="account-idle-locked">
          <adm:synopsis>
            Generate a notification whenever a user account has been locked
            because it was idle for too long.
          </adm:synopsis>
        </adm:value>
        <adm:value name="account-reset-locked">
          <adm:synopsis>
            Generate a notification whenever a user account has been locked,
            because the password had been reset by an administrator but not changed
            by the user within the required interval.
          </adm:synopsis>
        </adm:value>
        <adm:value name="account-disabled">
          <adm:synopsis>
            Generate a notification whenever a user account has been disabled by an
            administrator.
          </adm:synopsis>
        </adm:value>
        <adm:value name="account-enabled">
          <adm:synopsis>
            Generate a notification whenever a user account has been enabled by an
            administrator.
          </adm:synopsis>
        </adm:value>
        <adm:value name="account-expired">
          <adm:synopsis>
            Generate a notification whenever a user authentication has failed
            because the account has expired.
          </adm:synopsis>
        </adm:value>
        <adm:value name="password-expired">
          <adm:synopsis>
            Generate a notification whenever a user authentication has failed
            because the password has expired.
          </adm:synopsis>
        </adm:value>
        <adm:value name="password-expiring">
          <adm:synopsis>
            Generate a notification whenever a password expiration
            warning is encountered for a user password for the first time.
          </adm:synopsis>
        </adm:value>
        <adm:value name="password-reset">
          <adm:synopsis>
            Generate a notification whenever a user's password is reset by an
            administrator.
          </adm:synopsis>
        </adm:value>
        <adm:value name="password-changed">
          <adm:synopsis>
            Generate a notification whenever a user changes his/her own
            password.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-account-status-notification-type</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ErrorLogPublisherConfiguration.xml
New file
@@ -0,0 +1,195 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions copyright 2013 ForgeRock AS
  ! -->
<adm:managed-object name="error-log-publisher"
  plural-name="error-log-publishers"
  package="org.forgerock.opendj.admin" extends="log-publisher"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    are responsible for distributing error log messages from the error
    logger to a destination.
  </adm:synopsis>
  <adm:description>
    Error log messages provide information about any warnings, errors,
    or significant events that are encountered during server processing.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-error-log-publisher</ldap:name>
      <ldap:superior>ds-cfg-log-publisher</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:property-override name="java-class">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>org.opends.server.api.ErrorLogPublisher</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="default-severity" multi-valued="true">
    <adm:synopsis>
      Specifies the default severity levels for the logger.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>fatal-error</adm:value>
        <adm:value>severe-warning</adm:value>
        <adm:value>severe-error</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="all">
          <adm:synopsis>
            Messages of all severity levels are logged.
          </adm:synopsis>
        </adm:value>
        <adm:value name="none">
          <adm:synopsis>
            No messages of any severity are logged by default. This
            value is intended to be used in conjunction with the
            override-severity property to define an error logger that
            will publish no error message beside the errors of a given
            category.
          </adm:synopsis>
        </adm:value>
        <adm:value name="fatal-error">
          <adm:synopsis>
            The error log severity that is used for messages that
            provide information about fatal errors which may force the
            server to shut down or operate in a significantly degraded
            state.
          </adm:synopsis>
        </adm:value>
        <adm:value name="info">
          <adm:synopsis>
            The error log severity that is used for messages that
            provide information about significant events within the
            server that are not warnings or errors.
          </adm:synopsis>
        </adm:value>
        <adm:value name="mild-error">
          <adm:synopsis>
            The error log severity that is used for messages that
            provide information about mild (recoverable) errors
            encountered during processing.
          </adm:synopsis>
        </adm:value>
        <adm:value name="mild-warning">
          <adm:synopsis>
            The error log severity that is used for messages that
            provide information about mild warnings triggered during
            processing.
          </adm:synopsis>
        </adm:value>
        <adm:value name="notice">
          <adm:synopsis>
            The error log severity that is used for the most
            important informational messages (i.e., information that
            should almost always be logged but is not associated with a
            warning or error condition).
          </adm:synopsis>
        </adm:value>
        <adm:value name="severe-error">
          <adm:synopsis>
            The error log severity that is used for messages that
            provide information about severe errors encountered during
            processing.
          </adm:synopsis>
        </adm:value>
        <adm:value name="severe-warning">
          <adm:synopsis>
            The error log severity that is used for messages that
            provide information about severe warnings triggered during
            processing.
          </adm:synopsis>
        </adm:value>
        <adm:value name="debug">
          <adm:synopsis>
            The error log severity that is used for messages that
            provide debugging information triggered during processing.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-default-severity</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="override-severity" multi-valued="true">
    <adm:TODO>
      This should be split into per-category properties whose value
      defaults to the default-severity. See issue 2503.
    </adm:TODO>
    <adm:synopsis>
      Specifies the override severity levels for the logger
      based on the category of the messages.
    </adm:synopsis>
    <adm:description>
      Each override severity level should include the category and the
      severity levels to log for that category, for example,
      core=mild-error,info,mild-warning. Valid categories are: core,
      extensions, protocol, config, log, util, schema, plugin, jeb,
      backend, tools, task, access-control, admin, sync, version,
      quicksetup, admin-tool, dsconfig, user-defined. Valid severities
      are: all, fatal-error, info, mild-error, mild-warning, notice,
      severe-error, severe-warning, debug.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          All messages with the default severity levels are logged.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
   <adm:syntax>
     <adm:string>
       <adm:pattern>
        <adm:regex>.*</adm:regex>
        <adm:usage>STRING</adm:usage>
          <adm:synopsis>
            A string in the form category=severity1,severity2...
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-override-severity</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ExactMatchIdentityMapperConfiguration.xml
New file
@@ -0,0 +1,112 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="exact-match-identity-mapper"
  plural-name="exact-match-identity-mappers"
  package="org.forgerock.opendj.admin" extends="identity-mapper"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    maps an identifier string to user entries by searching for the entry
    containing a specified attribute whose value is the provided
    identifier. For example, the username provided by the client for DIGEST-MD5
    authentication must match the value of the uid attribute
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-exact-match-identity-mapper</ldap:name>
      <ldap:superior>ds-cfg-identity-mapper</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.ExactMatchIdentityMapper
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="match-attribute" mandatory="true"
    multi-valued="true">
    <adm:synopsis>
      Specifies the attribute whose value should exactly match the ID
      string provided to this identity mapper.
    </adm:synopsis>
    <adm:description>
      At least one value must be provided. All values must refer to the
      name or OID of an attribute type defined in the directory server
      schema. If multiple attributes or OIDs are provided, at least one of
      those attributes must contain the provided ID string value in exactly
      one entry. The internal search performed includes a logical OR across
      all of these values.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          uid
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:attribute-type />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-match-attribute</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="match-base-dn" mandatory="false" multi-valued="true">
    <adm:synopsis>
      Specifies the set of base DNs below which to search for users.
    </adm:synopsis>
    <adm:description>
      The base DNs will be used when performing searches to map the
      provided ID string to a user entry. If multiple values are given, searches
      are performed below all specified base DNs.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          The server searches below all public naming contexts.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:dn />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-match-base-dn</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ExtendedOperationHandlerConfiguration.xml
New file
@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="extended-operation-handler"
  plural-name="extended-operation-handlers"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    processes the different types of extended operations in the server.
  </adm:synopsis>
  <adm:tag name="core-server" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-extended-operation-handler</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      is enabled (that is, whether the types of extended operations
      are allowed in the server).
    </adm:synopsis>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      Specifies the fully-qualified name of the Java class that provides the
      <adm:user-friendly-name />
      implementation.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>
          org.opends.server.api.ExtendedOperationHandler
        </adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ExtensionConfiguration.xml
New file
@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="extension"
  plural-name="extensions"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    allows to extend the configuration with new type of objects.
  </adm:synopsis>
  <adm:description>
    It is an entry point for extensions that requires configuration objects
    that does not inherit from an existing top-level object.
  </adm:description>
  <adm:tag name="core-server" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-extension</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      is enabled.
    </adm:synopsis>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      Specifies the fully-qualified name of the Java class that provides the
      <adm:user-friendly-name />
      implementation.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>
          org.opends.server.api.Extension
        </adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ExternalChangelogDomainConfiguration.xml
New file
@@ -0,0 +1,113 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2009 Sun Microsystems, Inc.
  !      Portions copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="external-changelog-domain"
  plural-name="external-changelog-domains"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides configuration of the external changelog for the replication domain.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-external-changelog-domain</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      is enabled.
    </adm:synopsis>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="ecl-include" multi-valued="true" mandatory="false">
    <adm:synopsis>
      Specifies a list of attributes which should be published with every
      change log entry, regardless of whether or not the attribute itself
      has changed.
    </adm:synopsis>
    <adm:description>
      The list of attributes may include wild cards such as "*" and "+" as
      well as object class references prefixed with an ampersand, for
      example "@person".
      The included attributes will be published using the "includedAttributes"
      operational attribute as a single LDIF value rather like the
      "changes" attribute. For modify and modifyDN operations the included
      attributes will be taken from the entry before any changes were applied.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <!--  FIXME: can we constrain this with a regex? -->
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-ecl-include</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="ecl-include-for-deletes" multi-valued="true" mandatory="false">
    <adm:synopsis>
      Specifies a list of attributes which should be published with every
      delete operation change log entry, in addition to those specified by the
      "ecl-include" property.
    </adm:synopsis>
    <adm:description>
      This property provides a means for applications to archive entries after
      they have been deleted. See the description of the "ecl-include" property
      for further information about how the included attributes are published.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <!--  FIXME: can we constrain this with a regex? -->
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-ecl-include-for-deletes</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ExternalSASLMechanismHandlerConfiguration.xml
New file
@@ -0,0 +1,139 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="external-sasl-mechanism-handler"
  plural-name="external-sasl-mechanism-handlers"
  package="org.forgerock.opendj.admin" extends="sasl-mechanism-handler"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    performs all processing related to SASL EXTERNAL
    authentication.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-external-sasl-mechanism-handler</ldap:name>
      <ldap:superior>ds-cfg-sasl-mechanism-handler</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.ExternalSASLMechanismHandler
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="certificate-validation-policy" mandatory="true">
    <adm:synopsis>
      Indicates whether to attempt to validate the peer certificate
      against a certificate held in the user's entry.
    </adm:synopsis>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="always">
          <adm:synopsis>
            Always require the peer certificate to be present in the
            user's entry.
          </adm:synopsis>
        </adm:value>
        <adm:value name="ifpresent">
          <adm:synopsis>
            If the user's entry contains one or more certificates,
            require that one of them match the peer certificate.
          </adm:synopsis>
        </adm:value>
        <adm:value name="never">
          <adm:synopsis>
            Do not look for the peer certificate to be present in the
            user's entry.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-certificate-validation-policy</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="certificate-attribute">
    <adm:synopsis>
      Specifies the name of the attribute to hold user
      certificates.
    </adm:synopsis>
    <adm:description>
      This property must specify the name of a valid attribute type defined in
      the server schema.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>userCertificate</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:attribute-type />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-certificate-attribute</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="certificate-mapper" mandatory="true">
    <adm:synopsis>
      Specifies the name of the certificate mapper that should be used
      to match client certificates to user entries.
    </adm:synopsis>
    <adm:syntax>
      <adm:aggregation relation-name="certificate-mapper"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced certificate mapper must be enabled when the
            <adm:user-friendly-name />
            is enabled.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-certificate-mapper</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FIFOEntryCacheConfiguration.xml
New file
@@ -0,0 +1,133 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="fifo-entry-cache"
  plural-name="fifo-entry-caches" package="org.forgerock.opendj.admin"
  extends="entry-cache" xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    use a FIFO queue to keep track of the cached entries.
  </adm:synopsis>
  <adm:description>
    Entries that have been in the cache the longest are the most likely
    candidates for purging if space is needed. In contrast to other
    cache structures, the selection of entries to purge is not based on
    how frequently or recently the entries have been accessed. This
    requires significantly less locking (it will only be required when
    an entry is added or removed from the cache, rather than each time
    an entry is accessed). Cache sizing is based on the percentage of
    free memory within the JVM, such that if enough memory is free, then
    adding an entry to the cache will not require purging, but if more
    than a specified percentage of the available memory within the JVM
    is already consumed, then one or more entries will need to be
    removed in order to make room for a new entry. It is also possible
    to configure a maximum number of entries for the cache. If this is
    specified, then the number of entries will not be allowed to exceed
    this value, but it may not be possible to hold this many entries if
    the available memory fills up first. Other configurable parameters
    for this cache include the maximum length of time to block while
    waiting to acquire a lock, and a set of filters that may be used to
    define criteria for determining which entries are stored in the
    cache. If a filter list is provided, then only entries matching at
    least one of the given filters will be stored in the cache.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-fifo-entry-cache</ldap:name>
      <ldap:superior>ds-cfg-entry-cache</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.FIFOEntryCache
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="lock-timeout" advanced="true">
    <adm:synopsis>
      Specifies the length of time to wait while attempting to acquire a read or
      write lock.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>2000.0ms</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration base-unit="ms" lower-limit="0"
        allow-unlimited="true" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-lock-timeout</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="max-memory-percent">
    <adm:synopsis>
      Specifies the maximum memory usage for the entry cache as a percentage of
      the total JVM memory.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>90</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="1" upper-limit="100" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-max-memory-percent</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="max-entries">
    <adm:synopsis>
      Specifies the maximum number of entries that we will allow in the cache.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>2147483647</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-max-entries</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property-reference name="include-filter" />
  <adm:property-reference name="exclude-filter" />
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FileBasedAccessLogPublisherConfiguration.xml
New file
@@ -0,0 +1,366 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2009 Sun Microsystems, Inc.
  !      Portions copyright 2011 ForgeRock AS.
  ! -->
<adm:managed-object name="file-based-access-log-publisher"
  plural-name="file-based-access-log-publishers"
  package="org.forgerock.opendj.admin" extends="access-log-publisher"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    publish access messages to the file system.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-file-based-access-log-publisher</ldap:name>
      <ldap:superior>ds-cfg-access-log-publisher</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.loggers.TextAccessLogPublisher
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="asynchronous" mandatory="true" advanced="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      will publish records asynchronously.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-asynchronous</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="queue-size" advanced="true">
    <adm:synopsis>
      The maximum number of log records that can be stored in the
      asynchronous queue.
    </adm:synopsis>
    <adm:description>
      Setting the queue size to zero activates parallel log writer
      implementation which has no queue size limit and as such the
      parallel log writer should only be used on a very well tuned
      server configuration to avoid potential out of memory errors.
    </adm:description>
    <adm:requires-admin-action>
      <adm:other>
        <adm:synopsis>
          The <adm:user-friendly-name /> must be restarted if this property
          is changed and the asynchronous property is set to true.
        </adm:synopsis>
      </adm:other>
    </adm:requires-admin-action>
        <adm:default-behavior>
      <adm:defined>
        <adm:value>5000</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-queue-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="log-file" mandatory="true">
    <adm:synopsis>
      The file name to use for the log files generated by the
      <adm:user-friendly-name />.
      The path to the file is relative to the server root.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
   <adm:syntax>
     <adm:string>
       <adm:pattern>
        <adm:regex>.*</adm:regex>
        <adm:usage>FILE</adm:usage>
          <adm:synopsis>
            A path to an existing file that is readable by the server.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-log-file</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="log-file-permissions" mandatory="true">
    <adm:synopsis>
      The UNIX permissions of the log files created by this
      <adm:user-friendly-name />.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>640</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
          <adm:regex>^([0-7][0-7][0-7])$</adm:regex>
          <adm:usage>MODE</adm:usage>
          <adm:synopsis>
            A valid UNIX mode string. The mode string must contain
            three digits between zero and seven.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-log-file-permissions</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="time-interval" advanced="true">
    <adm:synopsis>
      Specifies the interval at which to check whether the log files
      need to be rotated.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>5s</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration base-unit="ms" lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-time-interval</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="buffer-size" advanced="true">
    <adm:synopsis>Specifies the log file buffer size.</adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>64kb</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:size lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-buffer-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="auto-flush" advanced="true">
    <adm:synopsis>
      Specifies whether to flush the writer after every log record.
    </adm:synopsis>
    <adm:description>
      If the asynchronous writes option is used, the writer is
      flushed after all the log records in the queue are written.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-auto-flush</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="append">
    <adm:synopsis>
      Specifies whether to append to existing log files.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-append</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="rotation-policy" multi-valued="true">
    <adm:synopsis>
      The rotation policy to use for the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:description>
      When multiple policies are used, rotation will occur if any
      policy's conditions are met.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          No rotation policy is used and log rotation will not occur.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation parent-path="/"
        relation-name="log-rotation-policy" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-rotation-policy</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="retention-policy" multi-valued="true">
    <adm:synopsis>
      The retention policy to use for the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:description>
      When multiple policies are used, log files are cleaned when
      any of the policy's conditions are met.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          No retention policy is used and log files are never cleaned.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation parent-path="/"
        relation-name="log-retention-policy" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-retention-policy</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="log-format">
    <adm:synopsis>
      Specifies how log records should be formatted and written to the access log.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>multi-line</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="combined">
          <adm:synopsis>
            Combine log records for operation requests and responses into a
            single record. This format should be used when log records are to
            be filtered based on response criteria (e.g. result code).
          </adm:synopsis>
        </adm:value>
        <adm:value name="multi-line">
          <adm:synopsis>
            Outputs separate log records for operation requests and responses.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-log-format</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="log-record-time-format">
    <adm:synopsis>
      Specifies the format string that is used to generate log record
      timestamps.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>dd/MMM/yyyy:HH:mm:ss Z</adm:value>
      </adm:defined>
    </adm:default-behavior>
   <adm:syntax>
     <adm:string>
       <adm:pattern>
        <adm:regex>.*</adm:regex>
        <adm:usage>STRING</adm:usage>
          <adm:synopsis>
            Any valid format string that can be used with the
            java.text.SimpleDateFormat class.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-log-record-time-format</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="log-control-oids">
    <adm:synopsis>
      Specifies whether control OIDs will be included in operation log records.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-log-control-oids</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FileBasedAuditLogPublisherConfiguration.xml
New file
@@ -0,0 +1,288 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2011 ForgeRock AS.
  ! -->
<adm:managed-object name="file-based-audit-log-publisher"
  plural-name="file-based-audit-log-publishers"
  package="org.forgerock.opendj.admin" extends="access-log-publisher"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    publish access messages to the file system.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-file-based-audit-log-publisher</ldap:name>
      <ldap:superior>ds-cfg-access-log-publisher</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.loggers.TextAuditLogPublisher
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="asynchronous" mandatory="true" advanced="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      will publish records asynchronously.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-asynchronous</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="queue-size" advanced="true">
    <adm:synopsis>
      The maximum number of log records that can be stored in the
      asynchronous queue.
    </adm:synopsis>
    <adm:description>
      Setting the queue size to zero activates parallel log writer
      implementation which has no queue size limit and as such the
      parallel log writer should only be used on a very well tuned
      server configuration to avoid potential out of memory errors.
    </adm:description>
    <adm:requires-admin-action>
      <adm:other>
        <adm:synopsis>
          The <adm:user-friendly-name /> must be restarted if this property
          is changed and the asynchronous property is set to true.
        </adm:synopsis>
      </adm:other>
    </adm:requires-admin-action>
        <adm:default-behavior>
      <adm:defined>
        <adm:value>5000</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-queue-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="log-file" mandatory="true">
    <adm:synopsis>
      The file name to use for the log files generated by the
      <adm:user-friendly-name />.
      The path to the file is relative to the server root.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
   <adm:syntax>
     <adm:string>
       <adm:pattern>
        <adm:regex>.*</adm:regex>
        <adm:usage>FILE</adm:usage>
          <adm:synopsis>
            A path to an existing file that is readable by the server.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-log-file</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="log-file-permissions" mandatory="true">
    <adm:synopsis>
      The UNIX permissions of the log files created by this
      <adm:user-friendly-name />.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>640</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
          <adm:regex>^([0-7][0-7][0-7])$</adm:regex>
          <adm:usage>MODE</adm:usage>
          <adm:synopsis>
            A valid UNIX mode string. The mode string must contain
            three digits between zero and seven.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-log-file-permissions</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="time-interval" advanced="true">
    <adm:synopsis>
      Specifies the interval at which to check whether the log files
      need to be rotated.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>5s</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration base-unit="ms" lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-time-interval</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="buffer-size" advanced="true">
    <adm:synopsis>Specifies the log file buffer size.</adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>64kb</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:size lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-buffer-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="auto-flush" advanced="true">
    <adm:synopsis>
      Specifies whether to flush the writer after every log record.
    </adm:synopsis>
    <adm:description>
      If the asynchronous writes option is used, the writer is
      flushed after all the log records in the queue are written.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-auto-flush</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="append">
    <adm:synopsis>
      Specifies whether to append to existing log files.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-append</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="rotation-policy" multi-valued="true">
    <adm:synopsis>
      The rotation policy to use for the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:description>
      When multiple policies are used, rotation will occur if any
      policy's conditions are met.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          No rotation policy is used and log rotation will not occur.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation parent-path="/"
        relation-name="log-rotation-policy" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-rotation-policy</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="retention-policy" multi-valued="true">
    <adm:synopsis>
      The retention policy to use for the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:description>
      When multiple policies are used, log files are cleaned when
      any of the policy's conditions are met.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          No retention policy is used and log files are never cleaned.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation parent-path="/"
        relation-name="log-retention-policy" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-retention-policy</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FileBasedDebugLogPublisherConfiguration.xml
New file
@@ -0,0 +1,271 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="file-based-debug-log-publisher"
  plural-name="file-based-debug-log-publishers"
  package="org.forgerock.opendj.admin" extends="debug-log-publisher"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    publish debug messages to the file system.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-file-based-debug-log-publisher</ldap:name>
      <ldap:superior>ds-cfg-debug-log-publisher</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.loggers.debug.TextDebugLogPublisher
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="asynchronous" mandatory="true" advanced="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      will publish records asynchronously.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-asynchronous</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="queue-size" advanced="true">
    <adm:synopsis>
      The maximum number of log records that can be stored in the
      asynchronous queue.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>5000</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-queue-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="log-file" mandatory="true">
    <adm:synopsis>
      The file name to use for the log files generated by the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:description>
      The path to the file is relative to the server root.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-log-file</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="log-file-permissions" mandatory="true">
    <adm:synopsis>
      The UNIX permissions of the log files created by this
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>640</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
          <adm:regex>^([0-7][0-7][0-7])$</adm:regex>
          <adm:usage>MODE</adm:usage>
          <adm:synopsis>
            A valid UNIX mode string. The mode string must contain
            three digits between zero and seven.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-log-file-permissions</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="time-interval" advanced="true">
    <adm:synopsis>
      Specifies the interval at which to check whether the log files
      need to be rotated.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>5s</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration base-unit="ms" lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-time-interval</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="buffer-size" advanced="true">
    <adm:synopsis>Specifies the log file buffer size.</adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>64kb</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:size lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-buffer-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="auto-flush" advanced="true">
    <adm:synopsis>
      Specifies whether to flush the writer after every log record.
    </adm:synopsis>
    <adm:description>
      If the asynchronous writes option is used, the writer is
      flushed after all the log records in the queue are written.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-auto-flush</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="append">
    <adm:synopsis>
      Specifies whether to append to existing log files.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-append</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="rotation-policy" multi-valued="true">
    <adm:synopsis>
      The rotation policy to use for the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:description>
      When multiple policies are used, rotation will occur if any
      policy's conditions are met.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          No rotation policy is used and log rotation will not occur.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation parent-path="/"
        relation-name="log-rotation-policy" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-rotation-policy</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="retention-policy" multi-valued="true">
    <adm:synopsis>
      The retention policy to use for the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:description>
      When multiple policies are used, log files are cleaned when
      any of the policy's conditions are met.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          No retention policy is used and log files are never
          cleaned.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation parent-path="/"
        relation-name="log-retention-policy" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-retention-policy</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FileBasedErrorLogPublisherConfiguration.xml
New file
@@ -0,0 +1,271 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="file-based-error-log-publisher"
  plural-name="file-based-error-log-publishers"
  package="org.forgerock.opendj.admin" extends="error-log-publisher"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    publish error messages to the file system.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-file-based-error-log-publisher</ldap:name>
      <ldap:superior>ds-cfg-error-log-publisher</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.loggers.TextErrorLogPublisher
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="asynchronous" mandatory="true" advanced="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      will publish records asynchronously.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-asynchronous</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="queue-size" advanced="true">
    <adm:synopsis>
      The maximum number of log records that can be stored in the
      asynchronous queue.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>5000</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-queue-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="log-file" mandatory="true">
    <adm:synopsis>
      The file name to use for the log files generated by the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:description>
      The path to the file is relative to the server root.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-log-file</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="log-file-permissions" mandatory="true">
    <adm:synopsis>
      The UNIX permissions of the log files created by this
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>640</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
          <adm:regex>^([0-7][0-7][0-7])$</adm:regex>
          <adm:usage>MODE</adm:usage>
          <adm:synopsis>
            A valid UNIX mode string. The mode string must contain
            three digits between zero and seven.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-log-file-permissions</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="time-interval" advanced="true">
    <adm:synopsis>
      Specifies the interval at which to check whether the log files
      need to be rotated.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>5s</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration base-unit="ms" lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-time-interval</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="buffer-size" advanced="true">
    <adm:synopsis>Specifies the log file buffer size.</adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>64kb</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:size lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-buffer-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="auto-flush" advanced="true">
    <adm:synopsis>
      Specifies whether to flush the writer after every log record.
    </adm:synopsis>
    <adm:description>
      If the asynchronous writes option is used, the writer will be
      flushed after all the log records in the queue are written.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-auto-flush</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="append">
    <adm:synopsis>
      Specifies whether to append to existing log files.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-append</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="rotation-policy" multi-valued="true">
    <adm:synopsis>
      The rotation policy to use for the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:description>
      When multiple policies are used, rotation will occur if any
      policy's conditions are met.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          No rotation policy is used and log rotation will not occur.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation parent-path="/"
        relation-name="log-rotation-policy" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-rotation-policy</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="retention-policy" multi-valued="true">
    <adm:synopsis>
      The retention policy to use for the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:description>
      When multiple policies are used, log files will be cleaned when
      any of the policy's conditions are met.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          No retention policy is used and log files will never be
          cleaned.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation parent-path="/"
        relation-name="log-retention-policy" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-retention-policy</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FileBasedHTTPAccessLogPublisherConfiguration.xml
New file
@@ -0,0 +1,361 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2013 ForgeRock AS
  ! -->
<adm:managed-object name="file-based-http-access-log-publisher"
  plural-name="file-based-http-access-log-publishers"
  package="org.forgerock.opendj.admin" extends="http-access-log-publisher"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    publish HTTP access messages to the file system.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-file-based-http-access-log-publisher</ldap:name>
      <ldap:superior>ds-cfg-http-access-log-publisher</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.loggers.TextHTTPAccessLogPublisher
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="asynchronous" mandatory="true" advanced="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      will publish records asynchronously.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-asynchronous</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="queue-size" advanced="true">
    <adm:synopsis>
      The maximum number of log records that can be stored in the
      asynchronous queue.
    </adm:synopsis>
    <adm:description>
      Setting the queue size to zero activates parallel log writer
      implementation which has no queue size limit and as such the
      parallel log writer should only be used on a very well tuned
      server configuration to avoid potential out of memory errors.
    </adm:description>
    <adm:requires-admin-action>
      <adm:other>
        <adm:synopsis>
          The <adm:user-friendly-name /> must be restarted if this property
          is changed and the asynchronous property is set to true.
        </adm:synopsis>
      </adm:other>
    </adm:requires-admin-action>
        <adm:default-behavior>
      <adm:defined>
        <adm:value>5000</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-queue-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="log-file" mandatory="true">
    <adm:synopsis>
      The file name to use for the log files generated by the
      <adm:user-friendly-name />.
      The path to the file is relative to the server root.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
   <adm:syntax>
     <adm:string>
       <adm:pattern>
        <adm:regex>.*</adm:regex>
        <adm:usage>FILE</adm:usage>
          <adm:synopsis>
            A path to an existing file that is readable by the server.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-log-file</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="log-file-permissions" mandatory="true">
    <adm:synopsis>
      The UNIX permissions of the log files created by this
      <adm:user-friendly-name />.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>640</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
          <adm:regex>^([0-7][0-7][0-7])$</adm:regex>
          <adm:usage>MODE</adm:usage>
          <adm:synopsis>
            A valid UNIX mode string. The mode string must contain
            three digits between zero and seven.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-log-file-permissions</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="time-interval" advanced="true">
    <adm:synopsis>
      Specifies the interval at which to check whether the log files
      need to be rotated.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>5s</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration base-unit="ms" lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-time-interval</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="buffer-size" advanced="true">
    <adm:synopsis>Specifies the log file buffer size.</adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>64kb</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:size lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-buffer-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="auto-flush" advanced="true">
    <adm:synopsis>
      Specifies whether to flush the writer after every log record.
    </adm:synopsis>
    <adm:description>
      If the asynchronous writes option is used, the writer is
      flushed after all the log records in the queue are written.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-auto-flush</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="append">
    <adm:synopsis>
      Specifies whether to append to existing log files.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-append</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="rotation-policy" multi-valued="true">
    <adm:synopsis>
      The rotation policy to use for the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:description>
      When multiple policies are used, rotation will occur if any
      policy's conditions are met.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          No rotation policy is used and log rotation will not occur.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation parent-path="/"
        relation-name="log-rotation-policy" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-rotation-policy</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="retention-policy" multi-valued="true">
    <adm:synopsis>
      The retention policy to use for the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:description>
      When multiple policies are used, log files are cleaned when
      any of the policy's conditions are met.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          No retention policy is used and log files are never cleaned.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation parent-path="/"
        relation-name="log-retention-policy" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-retention-policy</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="log-format">
    <adm:synopsis>
      Specifies how log records should be formatted and written to the HTTP
      access log.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>cs-host c-ip cs-username x-datetime cs-method cs-uri-query
        cs-version sc-status cs(User-Agent) x-connection-id x-etime</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
     <adm:string>
       <adm:pattern>
        <adm:regex>[a-zA-Z0-9-()]+( [a-zA-Z0-9-()]+)*</adm:regex>
        <adm:usage>FORMAT</adm:usage>
          <adm:synopsis>
            A space separated list of fields describing the extended log format
            to be used for logging HTTP accesses. Available values are listed on
            the W3C working draft http://www.w3.org/TR/WD-logfile.html
            and Microsoft website
            http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/676400bc-8969-4aa7-851a-9319490a9bbb.mspx?mfr=true
            OpenDJ supports the following standard fields: "c-ip", "c-port",
            "cs-host", "cs-method", "cs-uri-query", "cs(User-Agent)",
            "cs-username", "cs-version", "s-computername", "s-ip", "s-port",
            "sc-status".
            OpenDJ supports the following application specific field extensions:
            "x-connection-id"  displays the internal connection ID assigned to
            the HTTP client connection, "x-datetime"  displays the completion
            date and time for the logged HTTP request and its ouput is
            controlled by the "ds-cfg-log-record-time-format" property,
            "x-etime"  displays the total execution time for the logged HTTP
            request.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-log-format</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="log-record-time-format">
    <adm:synopsis>
      Specifies the format string that is used to generate log record
      timestamps.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>dd/MMM/yyyy:HH:mm:ss Z</adm:value>
      </adm:defined>
    </adm:default-behavior>
   <adm:syntax>
     <adm:string>
       <adm:pattern>
        <adm:regex>.*</adm:regex>
        <adm:usage>STRING</adm:usage>
          <adm:synopsis>
            Any valid format string that can be used with the
            java.text.SimpleDateFormat class.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-log-record-time-format</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FileBasedKeyManagerProviderConfiguration.xml
New file
@@ -0,0 +1,128 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2013 ForgeRock AS
  ! -->
<adm:managed-object name="file-based-key-manager-provider"
  plural-name="file-based-key-manager-providers"
  package="org.forgerock.opendj.admin" extends="key-manager-provider"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    can be used to obtain the server certificate from a key store file on
    the local file system.
  </adm:synopsis>
  <adm:description>
    Multiple file formats may be supported, depending on the providers
    supported by the underlying Java runtime environment.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-file-based-key-manager-provider</ldap:name>
      <ldap:superior>ds-cfg-key-manager-provider</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.FileBasedKeyManagerProvider
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="key-store-file" mandatory="true">
    <adm:TODO>Should use a file-based property definition?</adm:TODO>
    <adm:synopsis>
      Specifies the path to the file that contains the private key
      information. This may be an absolute path, or a path that is
      relative to the
      <adm:product-name />
      instance root.
    </adm:synopsis>
    <adm:description>
      Changes to this property will take effect the next
      time that the key manager is accessed.
    </adm:description>
    <adm:syntax>
     <adm:string>
        <adm:pattern>
         <adm:regex>.*</adm:regex>
         <adm:usage>FILE</adm:usage>
          <adm:synopsis>
            A path to an existing file that is readable by the server.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-key-store-file</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="key-store-type">
    <adm:TODO>
      Can we restrict this to an enumeration? How can the client guess
      which values are possible? What is the default value?
    </adm:TODO>
    <adm:synopsis>
      Specifies the format for the data in the key store file.
    </adm:synopsis>
    <adm:description>
      Valid values should always include 'JKS' and 'PKCS12', but
      different implementations may allow other values as well. If no
      value is provided, the JVM-default value is used.
      Changes to this configuration attribute will take effect the next
      time that the key manager is accessed.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
     <adm:string>
        <adm:pattern>
         <adm:regex>.*</adm:regex>
         <adm:usage>STRING</adm:usage>
           <adm:synopsis>
            Any key store format supported by the Java runtime environment.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-key-store-type</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property-reference name="key-store-pin" />
  <adm:property-reference name="key-store-pin-property" />
  <adm:property-reference name="key-store-pin-environment-variable" />
  <adm:property-reference name="key-store-pin-file" />
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FileBasedTrustManagerProviderConfiguration.xml
New file
@@ -0,0 +1,127 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="file-based-trust-manager-provider"
  plural-name="file-based-trust-manager-providers"
  package="org.forgerock.opendj.admin" extends="trust-manager-provider"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The file-based trust manager provider determines whether to trust a
    presented certificate based on whether that certificate exists in a
    server trust store file.
  </adm:synopsis>
  <adm:description>
    The trust store file can be in either JKS
    (the default Java key store format) or PKCS#12 (a standard
    certificate format) form.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-file-based-trust-manager-provider</ldap:name>
      <ldap:superior>ds-cfg-trust-manager-provider</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.FileBasedTrustManagerProvider
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="trust-store-file" mandatory="true">
    <adm:TODO>Should use a file-based property definition?</adm:TODO>
    <adm:synopsis>
      Specifies the path to the file containing the trust information.
      It can be an absolute path or a path that is relative to the
      <adm:product-name />
      instance root.
    </adm:synopsis>
    <adm:description>
      Changes to this configuration attribute take effect the next
      time that the trust manager is accessed.
    </adm:description>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
          <adm:regex>.*</adm:regex>
          <adm:usage>STRING</adm:usage>
          <adm:synopsis>
            An absolute path or a path that is relative to the <adm:product-name /> directory server instance root.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-trust-store-file</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="trust-store-type">
    <adm:TODO>
      Can we restrict this to an enumeration? How can the client guess
      which values are possible? What is the default value?
    </adm:TODO>
    <adm:synopsis>
      Specifies the format for the data in the trust store file.
    </adm:synopsis>
    <adm:description>
      Valid values always include 'JKS' and 'PKCS12', but different
      implementations can allow other values as well. If no value is
      provided, then the JVM default value is used. Changes to this
      configuration attribute take effect the next time that the
      trust manager is accessed.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
        <adm:syntax>
      <adm:string>
        <adm:pattern>
          <adm:regex>.*</adm:regex>
          <adm:usage>STRING</adm:usage>
          <adm:synopsis>
            Any key store format supported by the Java runtime environment. The "JKS" and "PKCS12" formats are typically available in Java environments.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-trust-store-type</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property-reference name="trust-store-pin" />
  <adm:property-reference name="trust-store-pin-property" />
  <adm:property-reference name="trust-store-pin-environment-variable" />
  <adm:property-reference name="trust-store-pin-file" />
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FileCountLogRetentionPolicyConfiguration.xml
New file
@@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="file-count-log-retention-policy"
  plural-name="file-count-log-retention-policies"
  package="org.forgerock.opendj.admin" extends="log-retention-policy"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    Retention policy based on the number of rotated log files on disk.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-file-count-log-retention-policy</ldap:name>
      <ldap:superior>ds-cfg-log-retention-policy</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.loggers.FileNumberRetentionPolicy
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="number-of-files" mandatory="true">
    <adm:synopsis>
      Specifies the number of archived log files to retain before the
      oldest ones are cleaned.
    </adm:synopsis>
    <adm:syntax>
      <adm:integer lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-number-of-files</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FileSystemEntryCacheConfiguration.xml
New file
@@ -0,0 +1,304 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="file-system-entry-cache"
  plural-name="file-system-entry-caches"
  package="org.forgerock.opendj.admin" extends="entry-cache"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    is an entry cache implementation which uses a JE database to keep
    track of the entries.
  </adm:synopsis>
  <adm:description>
    For best performance, the JE database should reside in a memory
    based file system although any file system will do for this cache
    to function. Entries are maintained either by FIFO (default) or LRU-based
    (configurable) list implementation. Cache sizing is based on
    the size of free space available in the file system, such that if
    enough memory is free, then adding an entry to the cache will not
    require purging. If more than the specified size of the file
    system available space is already consumed, then one or more entries
    need to be removed in order to make room for a new entry. It is
    also possible to configure a maximum number of entries for the cache.
    If this is specified, then the number of entries are not allowed
    to exceed this value, but it may not be possible to hold this many
    entries if the available memory fills up first. Other configurable
    parameters for this cache include the maximum length of time to block
    while waiting to acquire a lock, and a set of filters that may be
    used to define criteria for determining which entries are stored in
    the cache. If a set of filters are provided then an entry must match
    at least one of them in order to be stored in the cache.
    JE environment cache size can also be configured either as a percentage
    of the free memory available in the JVM, or as an absolute size in
    bytes. This cache has a persistence property which, if enabled,
    allows for the contents of the cache to persist across server or
    cache restarts.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-file-system-entry-cache</ldap:name>
      <ldap:superior>ds-cfg-entry-cache</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property name="lock-timeout" advanced="true">
    <adm:synopsis>
      The length of time to wait while attempting to acquire a read or
      write lock.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>2000.0ms</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration base-unit="ms" allow-unlimited="true" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-lock-timeout</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="max-memory-size">
    <adm:synopsis>
      The maximum size of the entry cache in bytes.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0b</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:size />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-max-memory-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="max-entries">
    <adm:synopsis>
      The maximum number of entries allowed in the cache.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>2147483647</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-max-entries</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="cache-type">
    <adm:synopsis>
      Specifies the policy which should be used for purging entries from
      the cache.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>fifo</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="fifo">
          <adm:synopsis>FIFO based entry cache.</adm:synopsis>
        </adm:value>
        <adm:value name="lru">
          <adm:synopsis>LRU based entry cache.</adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-cache-type</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="cache-directory">
    <adm:synopsis>
      Specifies the directory in which the JE environment should store
      the cache.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>/tmp/OpenDJ.FSCache</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-cache-directory</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="persistent-cache">
    <adm:synopsis>
      Specifies whether the cache should persist across restarts.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-persistent-cache</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="compact-encoding">
    <adm:synopsis>
      Indicates whether the cache should use a compact form when
      encoding cache entries by compressing the attribute descriptions
      and object class sets.
    </adm:synopsis>
    <adm:description>
      Note that compression does not preserve user-supplied
      capitalization in the object class and attribute type names.
    </adm:description>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changing this property only affects the encoding of the
          cache entries put in the cache after the change is made. It
          will not be retroactively applied to existing cache entries.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-compact-encoding</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-cache-percent">
    <adm:synopsis>
      Specifies the maximum memory usage for the internal JE cache as a percentage
      of the total JVM memory.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>1</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" upper-limit="90" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-cache-percent</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-cache-size">
    <adm:synopsis>
      Specifies the maximum JVM memory usage in bytes for the internal JE cache.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0b</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:size />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-cache-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="je-property" multi-valued="true"
    advanced="true">
    <adm:synopsis>
      Specifies the environment properties for the Berkeley DB Java
      Edition database providing the backend for this entry cache.
    </adm:synopsis>
    <adm:description>
      Any Berkeley DB Java Edition property can be specified using the
      following form: property-name=property-value. Refer to the
      <adm:product-name /> documentation for further information on related
      properties, their implications and range values. The definitive
      identification of all the property parameters available in the
      example.properties file in the Berkeley DB Java Edition distribution.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>je.env.isLocking=false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-je-property</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property-reference name="include-filter" />
  <adm:property-reference name="exclude-filter" />
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.FileSystemEntryCache
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FingerprintCertificateMapperConfiguration.xml
New file
@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="fingerprint-certificate-mapper"
  plural-name="fingerprint-certificate-mappers"
  package="org.forgerock.opendj.admin" extends="certificate-mapper"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    maps client certificates to user entries by looking for the MD5 or
    SHA1 fingerprint in a specified attribute of user entries.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-fingerprint-certificate-mapper</ldap:name>
      <ldap:superior>ds-cfg-certificate-mapper</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.FingerprintCertificateMapper
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="fingerprint-attribute" mandatory="true">
    <adm:synopsis>
      Specifies the attribute in which to look for the fingerprint.
    </adm:synopsis>
    <adm:description>
      Values of the fingerprint attribute should exactly match the MD5
      or SHA1 representation of the certificate fingerprint.
    </adm:description>
    <adm:syntax>
      <adm:attribute-type />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-fingerprint-attribute</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="fingerprint-algorithm" mandatory="true">
    <adm:synopsis>
      Specifies the name of the digest algorithm to
      compute the fingerprint of client certificates.
    </adm:synopsis>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="md5">
          <adm:synopsis>
            Use the MD5 digest algorithm to compute certificate
            fingerprints.
          </adm:synopsis>
        </adm:value>
        <adm:value name="sha1">
          <adm:synopsis>
            Use the SHA-1 digest algorithm to compute certificate
            fingerprints.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-fingerprint-algorithm</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="user-base-dn" multi-valued="true">
    <adm:synopsis>
      Specifies the set of base DNs below which to search for users.
    </adm:synopsis>
    <adm:description>
      The base DNs are used when performing searches to map the
      client certificates to a user entry.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          The server performs the search in all public naming
          contexts.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:dn />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-user-base-dn</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FixedTimeLogRotationPolicyConfiguration.xml
New file
@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="fixed-time-log-rotation-policy"
  plural-name="fixed-time-log-rotation-policies"
  package="org.forgerock.opendj.admin" extends="log-rotation-policy"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    Rotation policy based on a fixed time of day.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-fixed-time-log-rotation-policy</ldap:name>
      <ldap:superior>ds-cfg-log-rotation-policy</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.loggers.FixedTimeRotationPolicy
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="time-of-day" multi-valued="true"
    mandatory="true">
    <adm:synopsis>
      Specifies the time of day at which log rotation should occur.
    </adm:synopsis>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
          <adm:regex>^(([0-1][0-9])|([2][0-3]))([0-5][0-9])$</adm:regex>
          <adm:usage>HHmm</adm:usage>
          <adm:synopsis>
            24 hour time of day in HHmm format.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-time-of-day</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FractionalLDIFImportPluginConfiguration.xml
New file
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2009 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="fractional-ldif-import-plugin"
  plural-name="fractional-ldif-import-plugins"
  package="org.forgerock.opendj.admin" extends="plugin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    is used internally by the replication plugin to support fractional
    replication.
  </adm:synopsis>
  <adm:description>
    It is used to check fractional configuration consistency with local domain
    one as well as to filter attributes when performing an online import from a
    remote backend to a local backend.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-fractional-ldif-import-plugin</ldap:name>
      <ldap:superior>ds-cfg-plugin</ldap:superior>
    </ldap:object-class>
  </adm:profile>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/FreeDiskSpaceLogRetentionPolicyConfiguration.xml
New file
@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="free-disk-space-log-retention-policy"
  plural-name="free-disk-space-log-retention-policies"
  package="org.forgerock.opendj.admin" extends="log-retention-policy"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    Retention policy based on the free disk space available.
  </adm:synopsis>
  <adm:description>
    This policy is only available on Java 6.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-free-disk-space-log-retention-policy</ldap:name>
      <ldap:superior>ds-cfg-log-retention-policy</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.loggers.FreeDiskSpaceRetentionPolicy
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="free-disk-space" mandatory="true">
    <adm:synopsis>Specifies the minimum amount of free disk space that
      should be available on the file system on which the archived
      log files are stored.
    </adm:synopsis>
    <adm:syntax>
      <adm:size lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-free-disk-space</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/GSSAPISASLMechanismHandlerConfiguration.xml
New file
@@ -0,0 +1,252 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="gssapi-sasl-mechanism-handler"
  plural-name="gssapi-sasl-mechanism-handlers"
  package="org.forgerock.opendj.admin" extends="sasl-mechanism-handler"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The GSSAPI SASL mechanism
    performs all processing related to SASL GSSAPI
    authentication using Kerberos V5.
  </adm:synopsis>
  <adm:description>
    The GSSAPI SASL mechanism provides the ability for clients
    to authenticate themselves to the server using existing
    authentication in a Kerberos environment. This mechanism
    provides the ability to achieve single sign-on for
    Kerberos-based clients.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-gssapi-sasl-mechanism-handler</ldap:name>
      <ldap:superior>ds-cfg-sasl-mechanism-handler</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.GSSAPISASLMechanismHandler
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="realm">
    <adm:synopsis>
      Specifies the realm to be used for GSSAPI authentication.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          The server attempts to determine the realm from the
          underlying system configuration.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-realm</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="kdc-address">
    <adm:synopsis>
      Specifies the address of the KDC that is to be used for Kerberos
      processing.
    </adm:synopsis>
    <adm:description>
      If provided, this property must be a fully-qualified DNS-resolvable name.
      If this property is not provided, then the server attempts to determine it
      from the system-wide Kerberos configuration.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          The server attempts to determine the KDC address from the
          underlying system configuration.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-kdc-address</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="quality-of-protection">
    <adm:synopsis>
     The name of a property that specifies the quality of protection
     the server will support.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>none</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="none">
          <adm:synopsis>
            QOP equals authentication only.
          </adm:synopsis>
        </adm:value>
        <adm:value name="integrity">
          <adm:synopsis>
            Quality of protection equals authentication with integrity
            protection.
          </adm:synopsis>
        </adm:value>
        <adm:value name="confidentiality">
          <adm:synopsis>
            Quality of protection equals authentication with integrity and
            confidentiality protection.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-quality-of-protection</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="principal-name">
    <adm:synopsis>
      Specifies the principal name.
    </adm:synopsis>
    <adm:description>
      It can either be a simple user name or a
      service name such as host/example.com.
      If this property is not provided, then the server attempts to build the
      principal name by appending the fully qualified domain name to the string
      "ldap/".
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          The server attempts to determine the principal name from the
          underlying system configuration.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-principal-name</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="keytab">
    <adm:synopsis>
      Specifies the path to the keytab file that should be used for
      Kerberos processing.
    </adm:synopsis>
    <adm:description>
      If provided, this is either an absolute path or one that is
      relative to the server instance root.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          The server attempts to use the system-wide default keytab.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-keytab</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="server-fqdn">
    <adm:synopsis>
      Specifies the DNS-resolvable fully-qualified domain name for the
      system.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          The server attempts to determine the
          fully-qualified domain name dynamically .
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-server-fqdn</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="identity-mapper" mandatory="true">
    <adm:synopsis>
      Specifies the name of the identity mapper that is to be used
      with this SASL mechanism handler
      to match the Kerberos principal
      included in the SASL bind request to the corresponding
      user in the directory.
    </adm:synopsis>
    <adm:syntax>
      <adm:aggregation relation-name="identity-mapper"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced identity mapper must be enabled when the
            <adm:user-friendly-name />
            is enabled.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-identity-mapper</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/GetConnectionIdExtendedOperationHandlerConfiguration.xml
New file
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="get-connection-id-extended-operation-handler"
  plural-name="get-connection-id-extended-operation-handlers"
  package="org.forgerock.opendj.admin"
  extends="extended-operation-handler"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides a mechanism for clients to obtain the internal connection
    ID that the server uses to reference their client connection.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>
        ds-cfg-get-connection-id-extended-operation-handler
      </ldap:name>
      <ldap:superior>ds-cfg-extended-operation-handler</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.GetConnectionIDExtendedOperation
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/GetSymmetricKeyExtendedOperationHandlerConfiguration.xml
New file
@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="get-symmetric-key-extended-operation-handler"
  plural-name="get-symmetric-key-extended-operation-handlers"
  package="org.forgerock.opendj.admin"
  extends="extended-operation-handler"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    is used by the <adm:product-name /> cryptographic framework for creating and
    obtaining symmetric encryption keys.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>
        ds-cfg-get-symmetric-key-extended-operation-handler
      </ldap:name>
      <ldap:superior>ds-cfg-extended-operation-handler</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.crypto.GetSymmetricKeyExtendedOperation
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/GlobalConfiguration.xml
New file
@@ -0,0 +1,926 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2010 Sun Microsystems, Inc.
  !      Portions Copyright 2011-2012 ForgeRock AS
  ! -->
<adm:managed-object name="global" plural-name="globals"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:user-friendly-name>Global Configuration</adm:user-friendly-name>
  <adm:user-friendly-plural-name>
    Global Configurations
  </adm:user-friendly-plural-name>
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    contains properties that affect the overall
    operation of the <adm:product-name />.
  </adm:synopsis>
  <adm:tag name="core-server" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-root-config</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property name="check-schema" advanced="true">
    <adm:synopsis>
      Indicates whether schema enforcement is active.
    </adm:synopsis>
    <adm:description>
      When schema enforcement is activated, the directory server
      ensures that all operations result in entries are valid
      according to the defined server schema. It is strongly recommended
      that this option be left enabled to prevent the inadvertent
      addition of invalid data into the server.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-check-schema</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="default-password-policy" mandatory="true">
    <adm:synopsis>
      Specifies the name of the password policy that is in effect
      for users whose entries do not specify an alternate password
      policy (either via a real or virtual attribute).
    </adm:synopsis>
    <adm:description>
      In addition, the default password policy will be used for providing
      default parameters for sub-entry based password policies when not
      provided or supported by the sub-entry itself.
      This property must reference a password policy and no other type of
      authentication policy.
    </adm:description>
    <adm:syntax>
      <adm:aggregation relation-name="password-policy" parent-path="/" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-default-password-policy</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="add-missing-rdn-attributes" advanced="true">
    <adm:synopsis>
      Indicates whether the directory server should automatically add
      any attribute values contained in the entry's RDN into that entry
      when processing an add request.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-add-missing-rdn-attributes</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="allow-attribute-name-exceptions"
    advanced="true">
    <adm:synopsis>
      Indicates whether the directory server should allow underscores
      in attribute names and allow attribute names
      to begin with numeric digits (both of which are violations of the
      LDAP standards).
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-allow-attribute-name-exceptions</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="invalid-attribute-syntax-behavior"
    advanced="true">
    <adm:synopsis>
      Specifies how the directory server should handle operations whenever
      an attribute value violates the associated attribute syntax.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>reject</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="accept">
          <adm:synopsis>
            The directory server silently accepts attribute values
            that are invalid according to their associated syntax.
            Matching operations targeting those values may not behave as
            expected.
          </adm:synopsis>
        </adm:value>
        <adm:value name="reject">
          <adm:synopsis>
            The directory server rejects attribute values that are
            invalid according to their associated syntax.
          </adm:synopsis>
        </adm:value>
        <adm:value name="warn">
          <adm:synopsis>
            The directory server accepts attribute values that are
            invalid according to their associated syntax, but also
            logs a warning message to the error log. Matching operations
            targeting those values may not behave as expected.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-invalid-attribute-syntax-behavior</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="server-error-result-code" advanced="true">
    <adm:synopsis>
      Specifies the numeric value of the result code when request
      processing fails due to an internal server error.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>80</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-server-error-result-code</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="single-structural-objectclass-behavior"
    advanced="true">
    <adm:synopsis>
      Specifies how the directory server should handle operations an entry does
      not contain a structural object class or contains multiple structural
      classes.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>reject</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="accept">
          <adm:synopsis>
            The directory server silently accepts entries that do
            not contain exactly one structural object class. Certain
            schema features that depend on the entry's structural class
            may not behave as expected.
          </adm:synopsis>
        </adm:value>
        <adm:value name="reject">
          <adm:synopsis>
            The directory server rejects entries that do not contain
            exactly one structural object class.
          </adm:synopsis>
        </adm:value>
        <adm:value name="warn">
          <adm:synopsis>
            The directory server accepts entries that do not contain
            exactly one structural object class, but also logs a
            warning message to the error log. Certain schema features
            that depend on the entry's structural class may not behave
            as expected.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>
          ds-cfg-single-structural-objectclass-behavior
        </ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="notify-abandoned-operations" advanced="true">
    <adm:synopsis>
      Indicates whether the directory server should send a response to
      any operation that is interrupted via an abandon request.
    </adm:synopsis>
    <adm:description>
      The LDAP specification states that abandoned operations should not
      receive any response, but this may cause problems with client
      applications that always expect to receive a response to each
      request.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-notify-abandoned-operations</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="size-limit">
    <adm:synopsis>
      Specifies the maximum number of entries that can be returned
      to the client during a single search operation.
    </adm:synopsis>
    <adm:description>
      A value of 0 indicates that no size limit is enforced. Note
      that this is the default server-wide limit, but it may be
      overridden on a per-user basis using the ds-rlim-size-limit
      operational attribute.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>1000</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-size-limit</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="time-limit">
    <adm:synopsis>
      Specifies the maximum length of time that should be spent processing
      a single search operation.
    </adm:synopsis>
    <adm:description>
      A value of 0 seconds indicates that no time limit is
      enforced. Note that this is the default server-wide time limit,
      but it may be overridden on a per-user basis using the
      ds-rlim-time-limit operational attribute.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>60 seconds</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration base-unit="s" lower-limit="0" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-time-limit</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="proxied-authorization-identity-mapper"
    mandatory="true">
    <adm:synopsis>
      Specifies the name of the identity mapper to map
      authorization ID values (using the "u:" form) provided in the
      proxied authorization control to the corresponding user entry.
    </adm:synopsis>
    <adm:syntax>
      <adm:aggregation relation-name="identity-mapper"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced identity mapper must be enabled.
          </adm:synopsis>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>
          ds-cfg-proxied-authorization-identity-mapper
        </ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="writability-mode">
    <adm:synopsis>
      Specifies the kinds of write operations the directory server
      can process.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>enabled</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="enabled">
          <adm:synopsis>
            The directory server attempts to process all write
            operations that are requested of it, regardless of their
            origin.
          </adm:synopsis>
        </adm:value>
        <adm:value name="disabled">
          <adm:synopsis>
            The directory server rejects all write operations that
            are requested of it, regardless of their origin.
          </adm:synopsis>
        </adm:value>
        <adm:value name="internal-only">
          <adm:synopsis>
            The directory server attempts to process write
            operations requested as internal operations or through
            synchronization, but rejects any such operations
            requested from external clients.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-writability-mode</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="reject-unauthenticated-requests">
    <adm:synopsis>
      Indicates whether the directory server should reject any request
      (other than bind or StartTLS requests) received from a client that
      has not yet been authenticated, whose last authentication attempt was
      unsuccessful, or whose last authentication attempt used anonymous
      authentication.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-reject-unauthenticated-requests</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="bind-with-dn-requires-password">
    <adm:synopsis>
      Indicates whether the directory server should reject any simple
      bind request that contains a DN but no password.
    </adm:synopsis>
    <adm:description>
      Although such bind requests are technically allowed by the LDAPv3
      specification (and should be treated as anonymous simple
      authentication), they may introduce security problems in
      applications that do not verify that the client actually provided
      a password.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-bind-with-dn-requires-password</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="lookthrough-limit">
    <adm:synopsis>
      Specifies the maximum number of entries that the directory server
      should "look through" in the course of processing a search
      request.
    </adm:synopsis>
    <adm:description>
      This includes any entry that the server must examine in the course
      of processing the request, regardless of whether it actually
      matches the search criteria. A value of 0 indicates that no
      lookthrough limit is enforced. Note that this is the default
      server-wide limit, but it may be overridden on a per-user basis
      using the ds-rlim-lookthrough-limit operational attribute.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>5000</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-lookthrough-limit</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="smtp-server" multi-valued="true">
    <adm:synopsis>
      Specifies the address (and optional port number) for a mail server
      that can be used to send email messages via SMTP.
    </adm:synopsis>
    <adm:description>
      It may be an IP address or resolvable hostname, optionally
      followed by a colon and a port number.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          If no values are defined, then the server cannot send email via SMTP.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
          <adm:regex>^.+(:[0-9]+)?$</adm:regex>
          <adm:usage>HOST[:PORT]</adm:usage>
          <adm:synopsis>
            A hostname, optionally followed by a ":" followed by a port
            number.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-smtp-server</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="allowed-task" advanced="true"
    multi-valued="true">
    <adm:synopsis>
      Specifies the fully-qualified name of a Java class that may be
      invoked in the server.
    </adm:synopsis>
    <adm:description>
      Any attempt to invoke a task not included in the list of allowed
      tasks is rejected.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          If no values are defined, then the server does not allow any
          tasks to be invoked.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-allowed-task</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="disabled-privilege" multi-valued="true">
    <adm:synopsis>
      Specifies the name of a privilege that should not be evaluated by
      the server.
    </adm:synopsis>
    <adm:description>
      If a privilege is disabled, then it is assumed that all
      clients (including unauthenticated clients) have that
      privilege.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          If no values are defined, then the server enforces all
          privileges.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="bypass-lockdown">
          <adm:synopsis>
            Allows the associated user to bypass server lockdown mode.
          </adm:synopsis>
        </adm:value>
        <adm:value name="bypass-acl">
          <adm:synopsis>
            Allows the associated user to bypass access control checks
            performed by the server.
          </adm:synopsis>
        </adm:value>
        <adm:value name="modify-acl">
          <adm:synopsis>
            Allows the associated user to modify the server's access
            control configuration.
          </adm:synopsis>
        </adm:value>
        <adm:value name="config-read">
          <adm:synopsis>
            Allows the associated user to read the server configuration.
          </adm:synopsis>
        </adm:value>
        <adm:value name="config-write">
          <adm:synopsis>
            Allows the associated user to update the server
            configuration. The config-read privilege is also required.
          </adm:synopsis>
        </adm:value>
        <adm:value name="jmx-read">
          <adm:synopsis>
            Allows the associated user to perform JMX read operations.
          </adm:synopsis>
        </adm:value>
        <adm:value name="jmx-write">
          <adm:synopsis>
            Allows the associated user to perform JMX write operations.
          </adm:synopsis>
        </adm:value>
        <adm:value name="jmx-notify">
          <adm:synopsis>
            Allows the associated user to subscribe to receive JMX
            notifications.
          </adm:synopsis>
        </adm:value>
        <adm:value name="ldif-import">
          <adm:synopsis>
            Allows the user to request that the server process LDIF
            import tasks.
          </adm:synopsis>
        </adm:value>
        <adm:value name="ldif-export">
          <adm:synopsis>
            Allows the user to request that the server process LDIF
            export tasks.
          </adm:synopsis>
        </adm:value>
        <adm:value name="backend-backup">
          <adm:synopsis>
            Allows the user to request that the server process backup
            tasks.
          </adm:synopsis>
        </adm:value>
        <adm:value name="backend-restore">
          <adm:synopsis>
            Allows the user to request that the server process restore
            tasks.
          </adm:synopsis>
        </adm:value>
        <adm:value name="server-lockdown">
          <adm:synopsis>
            Allows the user to place and bring the server of lockdown mode.
          </adm:synopsis>
        </adm:value>
        <adm:value name="server-shutdown">
          <adm:synopsis>
            Allows the user to request that the server shut down.
          </adm:synopsis>
        </adm:value>
        <adm:value name="server-restart">
          <adm:synopsis>
            Allows the user to request that the server perform an
            in-core restart.
          </adm:synopsis>
        </adm:value>
        <adm:value name="proxied-auth">
          <adm:synopsis>
            Allows the user to use the proxied authorization control, or
            to perform a bind that specifies an alternate authorization
            identity.
          </adm:synopsis>
        </adm:value>
        <adm:value name="disconnect-client">
          <adm:synopsis>
            Allows the user to terminate other client connections.
          </adm:synopsis>
        </adm:value>
        <adm:value name="cancel-request">
          <adm:synopsis>
            Allows the user to cancel operations in progress on other
            client connections.
          </adm:synopsis>
        </adm:value>
        <adm:value name="password-reset">
          <adm:synopsis>
            Allows the user to reset user passwords.
          </adm:synopsis>
        </adm:value>
        <adm:value name="data-sync">
          <adm:synopsis>
            Allows the user to participate in data synchronization.
          </adm:synopsis>
        </adm:value>
        <adm:value name="update-schema">
          <adm:synopsis>
            Allows the user to make changes to the server schema.
          </adm:synopsis>
        </adm:value>
        <adm:value name="privilege-change">
          <adm:synopsis>
            Allows the user to make changes to the set of defined root
            privileges, as well as to grant and revoke privileges for
            users.
          </adm:synopsis>
        </adm:value>
        <adm:value name="unindexed-search">
          <adm:synopsis>
            Allows the user to request that the server process a search
            that cannot be optimized using server indexes.
          </adm:synopsis>
        </adm:value>
        <adm:value name="subentry-write">
          <adm:synopsis>
            Allows the associated user to perform LDAP subentry write
            operations.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-disabled-privilege</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="return-bind-error-messages">
    <adm:synopsis>
      Indicates whether responses for failed bind operations should
      include a message string providing the reason for the
      authentication failure.
    </adm:synopsis>
    <adm:description>
      Note that these messages may include information that could
      potentially be used by an attacker. If this option is disabled,
      then these messages appears only in the server's access log.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-return-bind-error-messages</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="idle-time-limit">
    <adm:synopsis>
      Specifies the maximum length of time that a client connection may
      remain established since its last completed operation.
    </adm:synopsis>
    <adm:description>
      A value of "0 seconds" indicates that no idle time limit is enforced.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0 seconds</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration base-unit="ms" lower-limit="0" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-idle-time-limit</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="save-config-on-successful-startup">
    <adm:synopsis>
      Indicates whether the directory server should save a copy of its
      configuration whenever the startup process completes successfully.
    </adm:synopsis>
    <adm:description>
      This ensures that the server provides a "last known good"
      configuration, which can be used as a reference (or copied into
      the active config) if the server fails to start with the current
      "active" configuration.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-save-config-on-successful-startup</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="workflow-configuration-mode" hidden="true">
    <adm:synopsis>
      Specifies the workflow configuration mode (auto vs. manual).
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>auto</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="auto">
          <adm:synopsis>
            In the "auto" configuration mode, there is no workflow
            configuration. The workflows are created automatically based
            on the backend configuration. There is one workflow per
            backend base DN.
          </adm:synopsis>
        </adm:value>
        <adm:value name="manual">
          <adm:synopsis>
            In the "manual" configuration mode, each workflow is created
            according to its description in the configuration.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-workflow-configuration-mode</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="etime-resolution" mandatory="false">
    <adm:synopsis>
      Specifies the resolution to use for operation elapsed processing time (etime)
      measurements.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          milliseconds
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="milliseconds">
          <adm:synopsis>
            Use millisecond resolution.
          </adm:synopsis>
        </adm:value>
        <adm:value name="nanoseconds">
          <adm:synopsis>
            Use nanosecond resolution.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-etime-resolution</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="entry-cache-preload" mandatory="false">
    <adm:synopsis>
      Indicates whether or not to preload the entry cache on startup.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:server-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-entry-cache-preload</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="max-allowed-client-connections">
    <adm:synopsis>
      Specifies the maximum number of client connections that may be
      established at any given time
    </adm:synopsis>
    <adm:description>
      A value of 0 indicates that unlimited client connection is allowed.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-max-allowed-client-connections</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="max-psearches">
    <adm:synopsis>
      Defines the maximum number of concurrent persistent searches that
      can be performed on directory server
    </adm:synopsis>
    <adm:description>
      The persistent search mechanism provides an active channel through which entries that change,
      and information about the changes that occur, can be communicated. Because each persistent search
      operation consumes resources, limiting the number of simultaneous persistent searches keeps the
      performance impact minimal. A value of -1 indicates that there is no limit on the persistent searches.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>-1</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" allow-unlimited="true" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-max-psearches</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="max-internal-buffer-size" advanced="true">
    <adm:synopsis>
      The threshold capacity beyond which internal cached buffers used for
      encoding and decoding entries and protocol messages will be trimmed
      after use.
    </adm:synopsis>
    <adm:description>
      Individual buffers may grow very large when encoding and decoding
      large entries and protocol messages and should be reduced in size when
      they are no longer needed. This setting specifies the threshold at which
      a buffer is determined to have grown too big and should be trimmed down
      after use.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>32 KB</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <!--  Upper limit to force 32-bit value -->
      <adm:size lower-limit="512 B" upper-limit="1 GB"/>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-max-internal-buffer-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/GoverningStructureRuleVirtualAttributeConfiguration.xml
New file
@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2009 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="governing-structure-rule-virtual-attribute"
  plural-name="governing-structure-rule-virtual-attributes"
  package="org.forgerock.opendj.admin" extends="virtual-attribute"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
      generates a virtual attribute that specifies the DIT structure rule
      with the schema definitions in effect for the
      entry. This attribute is defined in RFC 4512.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-governing-structure-rule-virtual-attribute</ldap:name>
      <ldap:superior>ds-cfg-virtual-attribute</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.GoverningSturctureRuleVirtualAttributeProvider
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="conflict-behavior" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>virtual-overrides-real</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="attribute-type">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>governingStructureRule</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/GroupImplementationConfiguration.xml
New file
@@ -0,0 +1,88 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="group-implementation"
  plural-name="group-implementations"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    define named collections of users.
  </adm:synopsis>
  <adm:description>
    Different group implementations may have different ways of
    determining membership. For example, some groups may explicitly list the members,
    and/or they may dynamically determine membership.
  </adm:description>
  <adm:tag name="core-server" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-group-implementation</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      is enabled.
    </adm:synopsis>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      Specifies the fully-qualified name of the Java class that provides the
      <adm:user-friendly-name />
      implementation.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>org.opends.server.api.Group</adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/HTTPAccessLogPublisherConfiguration.xml
New file
@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2013 ForgeRock AS
  ! -->
<adm:managed-object name="http-access-log-publisher"
  plural-name="http-access-log-publishers"
  package="org.forgerock.opendj.admin" extends="log-publisher"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    are responsible for distributing HTTP access log messages from the HTTP
    access logger to a destination.
  </adm:synopsis>
  <adm:description>
    HTTP access log messages provide information about the types of HTTP
    requests processed by the server.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-http-access-log-publisher</ldap:name>
      <ldap:superior>ds-cfg-log-publisher</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:property-override name="java-class">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>org.opends.server.api.HTTPAccessLogPublisher</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/HTTPConnectionHandlerConfiguration.xml
New file
@@ -0,0 +1,574 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Portions copyright 2013 ForgeRock AS
  ! -->
<adm:managed-object name="http-connection-handler"
  plural-name="http-connection-handlers"
  package="org.forgerock.opendj.admin" extends="connection-handler"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    is used to interact with clients using HTTP.
  </adm:synopsis>
  <adm:description>
    It provides full support for Rest2LDAP.
  </adm:description>
  <adm:constraint>
    <adm:synopsis>
      A Key Manager Provider must be specified when this
      <adm:user-friendly-name />
      is enabled and it is configured to use SSL.
    </adm:synopsis>
    <adm:condition>
      <adm:implies>
        <adm:contains property="enabled" value="true" />
        <adm:implies>
          <adm:contains property="use-ssl" value="true" />
          <adm:is-present property="key-manager-provider" />
        </adm:implies>
      </adm:implies>
    </adm:condition>
  </adm:constraint>
  <adm:constraint>
    <adm:synopsis>
      A Trust Manager Provider must be specified when this
      <adm:user-friendly-name />
      is enabled and it is configured to use SSL.
    </adm:synopsis>
    <adm:condition>
      <adm:implies>
        <adm:contains property="enabled" value="true" />
        <adm:implies>
          <adm:contains property="use-ssl" value="true" />
          <adm:is-present property="trust-manager-provider" />
        </adm:implies>
      </adm:implies>
    </adm:condition>
  </adm:constraint>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-http-connection-handler</ldap:name>
      <ldap:superior>ds-cfg-connection-handler</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.protocols.http.HTTPConnectionHandler
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-reference name="listen-port" />
  <adm:property-reference name="use-ssl" />
  <adm:property-reference name="ssl-cert-nickname" />
  <adm:property-reference name="use-tcp-keep-alive" />
  <adm:property-reference name="use-tcp-no-delay" />
  <adm:property-reference name="allow-tcp-reuse-address" />
  <adm:property name="key-manager-provider">
    <adm:synopsis>
      Specifies the name of the key manager that should be used with
      this
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately, but
          only for subsequent attempts to access the key manager
          provider for associated client connections.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation relation-name="key-manager-provider"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced key manager provider must be enabled when
            the
            <adm:user-friendly-name />
            is enabled and configured to use SSL.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:and>
              <adm:contains property="enabled" value="true" />
              <adm:contains property="use-ssl" value="true" />
            </adm:and>
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-key-manager-provider</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="trust-manager-provider">
    <adm:synopsis>
      Specifies the name of the trust manager that should be used with
      the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately, but
          only for subsequent attempts to access the trust manager
          provider for associated client connections.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation relation-name="trust-manager-provider"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced trust manager provider must be enabled when
            the
            <adm:user-friendly-name />
            is enabled and configured to use SSL.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:and>
              <adm:contains property="enabled" value="true" />
              <adm:contains property="use-ssl" value="true" />
            </adm:and>
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-trust-manager-provider</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="listen-address" multi-valued="true">
    <adm:synopsis>
      Specifies the address or set of addresses on which this
      <adm:user-friendly-name />
      should listen for connections from HTTP clients.
    </adm:synopsis>
    <adm:description>
      Multiple addresses may be provided as separate values for this
      attribute. If no values are provided, then the
      <adm:user-friendly-name />
      listens on all interfaces.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0.0.0.0</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:ip-address />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-listen-address</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="keep-stats">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      should keep statistics.
    </adm:synopsis>
    <adm:description>
      If enabled, the
      <adm:user-friendly-name />
      maintains statistics about the number and types of operations
      requested over HTTP and the amount of data sent and received.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-keep-stats</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="max-request-size" advanced="true">
    <adm:synopsis>
      Specifies the size in bytes of the largest HTTP request message that will
      be allowed by the <adm:user-friendly-name />.
    </adm:synopsis>
    <adm:description>
      This can help prevent denial-of-service attacks by clients that indicate
      they send extremely large requests to the server causing it to
      attempt to allocate large amounts of memory.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>5 megabytes</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:size upper-limit="2147483647b"></adm:size>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-max-request-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="buffer-size" advanced="true">
    <adm:synopsis>
      Specifies the size in bytes of the HTTP response message write buffer.
    </adm:synopsis>
    <adm:description>
      This property specifies write buffer size allocated by the server for
      each client connection and used to buffer HTTP response messages data
      when writing.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>4096 bytes</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:size lower-limit="1b" upper-limit="2147483647b"></adm:size>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-buffer-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="num-request-handlers" advanced="true">
    <adm:synopsis>
      Specifies the number of request handlers that are used to read
      requests from clients.
    </adm:synopsis>
    <adm:description>
      The
      <adm:user-friendly-name />
      uses one thread to accept new connections from clients, but uses
      one or more additional threads to read requests from existing
      client connections. This ensures that new requests are
      read efficiently and that the connection handler itself does not
      become a bottleneck when the server is under heavy load from many
      clients at the same time.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          Let the server decide.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-num-request-handlers</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="ssl-client-auth-policy">
    <adm:synopsis>
      Specifies the policy that the
      <adm:user-friendly-name />
      should use regarding client SSL certificates.
      Clients can use the SASL EXTERNAL mechanism only if the
      policy is set to "optional" or "required".
    </adm:synopsis>
    <adm:description>
      This is only applicable if clients are allowed to use SSL.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>optional</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="disabled">
          <adm:synopsis>
            Clients must not provide their own
            certificates when performing SSL negotiation.
          </adm:synopsis>
        </adm:value>
        <adm:value name="optional">
          <adm:synopsis>
            Clients are requested to provide their own certificates
            when performing SSL negotiation, but still accept the
            connection even if the client does not provide a
            certificate.
          </adm:synopsis>
        </adm:value>
        <adm:value name="required">
          <adm:synopsis>
            Clients are requested to provide their own certificates
            when performing SSL negotiation. The connection is
            nevertheless accepted if the client does not provide a
            certificate.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-ssl-client-auth-policy</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="accept-backlog" advanced="true">
    <adm:synopsis>
      Specifies the maximum number of pending connection attempts that
      are allowed to queue up in the accept backlog before the
      server starts rejecting new connection attempts.
    </adm:synopsis>
    <adm:description>
      This is primarily an issue for cases in which a large number of
      connections are established to the server in a very short period
      of time (for example, a benchmark utility that creates a large number of
      client threads that each have their own connection to the server)
      and the connection handler is unable to keep up with the rate at
      which the new connections are established.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>128</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="1">
        <adm:unit-synopsis>connections</adm:unit-synopsis>
      </adm:integer>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-accept-backlog</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="ssl-protocol" multi-valued="true">
    <adm:synopsis>
      Specifies the names of the SSL protocols that are allowed for
      use in SSL communication.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately but only
          impact new SSL/TLS-based sessions created after the
          change.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          Uses the default set of SSL protocols provided by the server's
          JVM.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-ssl-protocol</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="ssl-cipher-suite" multi-valued="true">
    <adm:synopsis>
      Specifies the names of the SSL cipher suites that are allowed
      for use in SSL communication.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately but will
          only impact new SSL/TLS-based sessions created after the
          change.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          Uses the default set of SSL cipher suites provided by the
          server's JVM.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-ssl-cipher-suite</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="max-blocked-write-time-limit" advanced="true">
    <adm:synopsis>
      Specifies the maximum length of time that attempts to write data
      to HTTP clients should be allowed to block.
    </adm:synopsis>
    <adm:description>
      If an attempt to write data to a client takes longer than this
      length of time, then the client connection is terminated.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>2 minutes</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration base-unit="ms" lower-limit="0" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-max-blocked-write-time-limit</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="config-file" mandatory="true">
    <adm:synopsis>
      Specifies the name of the configuration file for the <adm:user-friendly-name />.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>config/http-config.json</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
         <adm:regex>.*</adm:regex>
         <adm:usage>FILE</adm:usage>
           <adm:synopsis>
             A path to an existing file that is readable by the server.
           </adm:synopsis>
         </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-config-file</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="authentication-required" mandatory="true">
    <adm:synopsis>
      Specifies whether only authenticated requests can be processed by the
      <adm:user-friendly-name />.
    </adm:synopsis>
    <adm:description>
      If true, only authenticated requests will be processed by the
      <adm:user-friendly-name />. If false, both authenticated requests and
      unauthenticated requests will be processed. All requests are subject
      to ACI limitations and unauthenticated requests are subject to server
      limits like maximum number of entries returned. Note that setting
      ds-cfg-reject-unauthenticated-requests to true will override the current
      setting.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-authentication-required</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="max-concurrent-ops-per-connection">
    <adm:synopsis>
      Specifies the maximum number of internal operations that each
      HTTP client connection can execute concurrently.
    </adm:synopsis>
    <adm:description>
      This property allow to limit the impact that each HTTP request can have on
      the whole server by limiting the number of internal operations that each
      HTTP request can execute concurrently.
      A value of 0 means that no limit is enforced.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          Let the server decide.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0"/>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-max-concurrent-ops-per-connection</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/HasSubordinatesVirtualAttributeConfiguration.xml
New file
@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="has-subordinates-virtual-attribute"
  plural-name="has-subordinates-virtual-attributes"
  package="org.forgerock.opendj.admin" extends="virtual-attribute"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    generates a virtual attribute that indicates whether
    the entry has any subordinate entries.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-has-subordinates-virtual-attribute</ldap:name>
      <ldap:superior>ds-cfg-virtual-attribute</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.HasSubordinatesVirtualAttributeProvider
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="conflict-behavior" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>virtual-overrides-real</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="attribute-type">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>hasSubordinates</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/IdentityMapperConfiguration.xml
New file
@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="identity-mapper"
  plural-name="identity-mappers" package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    are responsible for establishing a mapping between an identifier
    string provided by a client, and the entry for the user that
    corresponds to that identifier. <adm:user-friendly-plural-name />
    are used to process several SASL mechanisms to map an authorization ID
    (e.g., a Kerberos principal when using GSSAPI) to a directory user. They
    are also used when processing requests with the proxied authorization control.
  </adm:synopsis>
  <adm:tag name="security" />
  <adm:tag name="user-management" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-identity-mapper</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      is enabled for use.
    </adm:synopsis>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      Specifies the fully-qualified name of the Java class that provides the
      <adm:user-friendly-name />
      implementation.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>
          org.opends.server.api.IdentityMapper
        </adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/IsMemberOfVirtualAttributeConfiguration.xml
New file
@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="is-member-of-virtual-attribute"
  plural-name="is-member-of-virtual-attributes"
  package="org.forgerock.opendj.admin" extends="virtual-attribute"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    generates the isMemberOf operational attribute,
    which contains the DNs of
    the groups in which the user is a member.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-is-member-of-virtual-attribute</ldap:name>
      <ldap:superior>ds-cfg-virtual-attribute</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.IsMemberOfVirtualAttributeProvider
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="conflict-behavior" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>virtual-overrides-real</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="attribute-type">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>isMemberOf</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/JMXAlertHandlerConfiguration.xml
New file
@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="jmx-alert-handler"
  plural-name="jmx-alert-handlers" package="org.forgerock.opendj.admin"
  extends="alert-handler" xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    is used to generate JMX notifications to alert administrators of
    significant events that occur within the server.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-jmx-alert-handler</ldap:name>
      <ldap:superior>ds-cfg-alert-handler</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.JMXAlertHandler
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/JMXConnectionHandlerConfiguration.xml
New file
@@ -0,0 +1,179 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2009 Sun Microsystems, Inc.
  !      Portions Copyright 2013 ForgeRock AS.
  ! -->
<adm:managed-object name="jmx-connection-handler"
  plural-name="jmx-connection-handlers"
  package="org.forgerock.opendj.admin" extends="connection-handler"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    is used to interact with clients using the Java Management
    Extensions (JMX) protocol.
  </adm:synopsis>
  <adm:constraint>
    <adm:synopsis>
      A Key Manager Provider must be specified when this
      <adm:user-friendly-name />
      is enabled and it is configured to use SSL.
    </adm:synopsis>
    <adm:condition>
      <adm:implies>
        <adm:contains property="enabled" value="true" />
        <adm:implies>
          <adm:contains property="use-ssl" value="true" />
          <adm:is-present property="key-manager-provider" />
        </adm:implies>
      </adm:implies>
    </adm:condition>
  </adm:constraint>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-jmx-connection-handler</ldap:name>
      <ldap:superior>ds-cfg-connection-handler</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.protocols.jmx.JmxConnectionHandler
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="listen-address" multi-valued="true" read-only="true">
    <adm:synopsis>
      Specifies the address or set of addresses on which this
      <adm:user-friendly-name />
      should listen for connections from JMX clients. However JMX/RMI
      doesn't allow this, and this property cannot be set.
    </adm:synopsis>
    <adm:description>
      Multiple addresses may be provided as separate values for this
      attribute. If no values are provided, then the
      <adm:user-friendly-name />
      listens on all interfaces.
    </adm:description>
    <adm:requires-admin-action>
      <adm:server-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0.0.0.0</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:ip-address />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-listen-address</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property-reference name="listen-port" />
  <adm:property-reference name="use-ssl" />
  <adm:property-reference name="ssl-cert-nickname" />
  <adm:property name="key-manager-provider">
    <adm:synopsis>
      Specifies the name of the key manager that should be used with
      this
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately, but
          only for subsequent attempts to access the key manager
          provider for associated client connections.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation relation-name="key-manager-provider"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced key manager provider must be enabled when
            the
            <adm:user-friendly-name />
            is enabled and configured to use SSL.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:and>
              <adm:contains property="enabled" value="true" />
              <adm:contains property="use-ssl" value="true" />
            </adm:and>
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-key-manager-provider</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="rmi-port">
    <adm:synopsis>
        Specifies the port number on which the JMX RMI service
        will listen for connections from clients. A value of 0
        indicates the service to choose a port of its own.
    </adm:synopsis>
    <adm:description>
        If the value provided is different than 0, the value
        will be used as the RMI port. Otherwise, the RMI service
        will choose a port of its own.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" upper-limit="65535" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-rmi-port</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/JPEGAttributeSyntaxConfiguration.xml
New file
@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2012 ForgeRock AS
  ! -->
<adm:managed-object name="jpeg-attribute-syntax"
  plural-name="jpeg-attribute-syntaxes"
  extends="attribute-syntax" package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    define an attribute syntax for storing JPEG information.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-jpeg-attribute-syntax</ldap:name>
      <ldap:superior>ds-cfg-attribute-syntax</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.schema.JPEGSyntax
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="strict-format" advanced="true">
    <adm:synopsis>
      Indicates whether to require JPEG values to strictly
      comply with the standard definition for this syntax.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-strict-format</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/KeyManagerProviderConfiguration.xml
New file
@@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="key-manager-provider"
  plural-name="key-manager-providers"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    are responsible for managing the key material that is used to
    authenticate an SSL connection to its peer.
  </adm:synopsis>
  <adm:description>
     <adm:user-friendly-plural-name />
     essentially provide access to the certificate that is used by the
     server when performing SSL or StartTLS negotiation.
   </adm:description>
  <adm:tag name="security" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-key-manager-provider</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      is enabled for use.
    </adm:synopsis>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      The fully-qualified name of the Java class that provides
      the
      <adm:user-friendly-name />
      implementation.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>
          org.opends.server.api.KeyManagerProvider
        </adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LDAPAttributeDescriptionListPluginConfiguration.xml
New file
@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="ldap-attribute-description-list-plugin"
  plural-name="ldap-attribute-description-list-plugins"
  package="org.forgerock.opendj.admin" extends="plugin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides the ability for clients to include an attribute list in
    a search request that names object classes instead of (or in
    addition to) attributes.
  </adm:synopsis>
  <adm:description>
    For example, if a client wishes to
    retrieve all of the attributes in the inetOrgPerson object class,
    then that client can include "@inetOrgPerson" in the attribute
    list rather than naming all of those attributes individually.
    This behavior is based on the specification contained in RFC 4529.
    The implementation for the LDAP attribute description list plugin
    is contained in the
    org.opends.server.plugins.LDAPADListPlugin class. It must be
    configured with the preParseSearch plugin type, but does not have
    any other custom configuration.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>
        ds-cfg-ldap-attribute-description-list-plugin
      </ldap:name>
      <ldap:superior>ds-cfg-plugin</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.plugins.LDAPADListPlugin
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="plugin-type" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>preparsesearch</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LDAPConnectionHandlerConfiguration.xml
New file
@@ -0,0 +1,607 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2009 Sun Microsystems, Inc.
  !      Portions copyright 2011-2013 ForgeRock AS
  ! -->
<adm:managed-object name="ldap-connection-handler"
  plural-name="ldap-connection-handlers"
  package="org.forgerock.opendj.admin" extends="connection-handler"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    is used to interact with clients using LDAP.
  </adm:synopsis>
  <adm:description>
    It provides full support for LDAPv3 and limited
    support for LDAPv2.
  </adm:description>
  <adm:constraint>
    <adm:synopsis>
      A Key Manager Provider must be specified when this
      <adm:user-friendly-name />
      is enabled and it is configured to use SSL or StartTLS.
    </adm:synopsis>
    <adm:condition>
      <adm:implies>
        <adm:contains property="enabled" value="true" />
        <adm:implies>
          <adm:or>
            <adm:contains property="use-ssl" value="true" />
            <adm:contains property="allow-start-tls" value="true" />
          </adm:or>
          <adm:is-present property="key-manager-provider" />
        </adm:implies>
      </adm:implies>
    </adm:condition>
  </adm:constraint>
  <adm:constraint>
    <adm:synopsis>
      A Trust Manager Provider must be specified when this
      <adm:user-friendly-name />
      is enabled and it is configured to use SSL or StartTLS.
    </adm:synopsis>
    <adm:condition>
      <adm:implies>
        <adm:contains property="enabled" value="true" />
        <adm:implies>
          <adm:or>
            <adm:contains property="use-ssl" value="true" />
            <adm:contains property="allow-start-tls" value="true" />
          </adm:or>
          <adm:is-present property="trust-manager-provider" />
        </adm:implies>
      </adm:implies>
    </adm:condition>
  </adm:constraint>
  <adm:constraint>
    <adm:synopsis>
      A
      <adm:user-friendly-name />
      cannot be configured to support SSL and StartTLS at the same time.
      Either SSL or StartTLS must be disabled in order for this
      <adm:user-friendly-name />
      to be used.
    </adm:synopsis>
    <adm:condition>
      <adm:implies>
        <adm:contains property="enabled" value="true" />
        <adm:not>
          <adm:and>
            <adm:contains property="use-ssl" value="true" />
            <adm:contains property="allow-start-tls" value="true" />
          </adm:and>
        </adm:not>
      </adm:implies>
    </adm:condition>
  </adm:constraint>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-ldap-connection-handler</ldap:name>
      <ldap:superior>ds-cfg-connection-handler</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.protocols.ldap.LDAPConnectionHandler
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-reference name="listen-port" />
  <adm:property-reference name="use-ssl" />
  <adm:property-reference name="ssl-cert-nickname" />
  <adm:property-reference name="use-tcp-keep-alive" />
  <adm:property-reference name="use-tcp-no-delay" />
  <adm:property-reference name="allow-tcp-reuse-address" />
  <adm:property name="key-manager-provider">
    <adm:synopsis>
      Specifies the name of the key manager that should be used with
      this
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately, but
          only for subsequent attempts to access the key manager
          provider for associated client connections.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation relation-name="key-manager-provider"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced key manager provider must be enabled when
            the
            <adm:user-friendly-name />
            is enabled and configured to use SSL or StartTLS.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:and>
              <adm:contains property="enabled" value="true" />
              <adm:or>
                <adm:contains property="use-ssl" value="true" />
                <adm:contains property="allow-start-tls" value="true" />
              </adm:or>
            </adm:and>
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-key-manager-provider</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="trust-manager-provider">
    <adm:synopsis>
      Specifies the name of the trust manager that should be used with
      the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately, but
          only for subsequent attempts to access the trust manager
          provider for associated client connections.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation relation-name="trust-manager-provider"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced trust manager provider must be enabled when
            the
            <adm:user-friendly-name />
            is enabled and configured to use SSL or StartTLS.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:and>
              <adm:contains property="enabled" value="true" />
              <adm:or>
                <adm:contains property="use-ssl" value="true" />
                <adm:contains property="allow-start-tls" value="true" />
              </adm:or>
            </adm:and>
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-trust-manager-provider</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="listen-address" multi-valued="true">
    <adm:synopsis>
      Specifies the address or set of addresses on which this
      <adm:user-friendly-name />
      should listen for connections from LDAP clients.
    </adm:synopsis>
    <adm:description>
      Multiple addresses may be provided as separate values for this
      attribute. If no values are provided, then the
      <adm:user-friendly-name />
      listens on all interfaces.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0.0.0.0</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:ip-address />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-listen-address</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="allow-ldap-v2">
    <adm:synopsis>
      Indicates whether connections from LDAPv2 clients are allowed.
    </adm:synopsis>
    <adm:description>
      If LDAPv2 clients are allowed, then only a minimal degree of
      special support are provided for them to ensure that
      LDAPv3-specific protocol elements (for example, Configuration Guide 25
      controls, extended response messages, intermediate response
      messages, referrals) are not sent to an LDAPv2 client.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-allow-ldap-v2</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="keep-stats">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      should keep statistics.
    </adm:synopsis>
    <adm:description>
      If enabled, the
      <adm:user-friendly-name />
      maintains statistics about the number and types of operations
      requested over LDAP and the amount of data sent and received.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-keep-stats</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="send-rejection-notice" advanced="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      should send a notice of disconnection extended response message to
      the client if a new connection is rejected for some reason.
    </adm:synopsis>
    <adm:description>
      The extended response message may provide an explanation
      indicating the reason that the connection was rejected.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-send-rejection-notice</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="max-request-size" advanced="true">
    <adm:synopsis>
      Specifies the size in bytes of the largest LDAP request message that will
      be allowed by this LDAP Connection handler.
    </adm:synopsis>
    <adm:description>
      This property is analogous to the maxBERSize configuration
      attribute of the Sun Java System Directory Server. This can help
      prevent denial-of-service attacks by clients that indicate they
      send extremely large requests to the server causing it to
      attempt to allocate large amounts of memory.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>5 megabytes</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:size upper-limit="2147483647b"></adm:size>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-max-request-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="buffer-size" advanced="true">
    <adm:synopsis>
      Specifies the size in bytes of the LDAP response message write buffer.
    </adm:synopsis>
    <adm:description>
      This property specifies write buffer size allocated by the server for
      each client connection and used to buffer LDAP response messages data
      when writing.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>4096 bytes</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:size lower-limit="1b" upper-limit="2147483647b"></adm:size>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-buffer-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="num-request-handlers" advanced="true">
    <adm:synopsis>
      Specifies the number of request handlers that are used to read
      requests from clients.
    </adm:synopsis>
    <adm:description>
      The
      <adm:user-friendly-name />
      uses one thread to accept new connections from clients, but uses
      one or more additional threads to read requests from existing
      client connections. This ensures that new requests are
      read efficiently and that the connection handler itself does not
      become a bottleneck when the server is under heavy load from many
      clients at the same time.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          Let the server decide.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-num-request-handlers</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="allow-start-tls">
    <adm:synopsis>
      Indicates whether clients are allowed to use StartTLS.
    </adm:synopsis>
    <adm:description>
      If enabled, the
      <adm:user-friendly-name />
      allows clients to use the StartTLS extended operation to
      initiate secure communication over an otherwise insecure channel.
      Note that this is only allowed if the
      <adm:user-friendly-name />
      is not configured to use SSL, and if the server is configured with
      a valid key manager provider and a valid trust manager provider.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-allow-start-tls</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="ssl-client-auth-policy">
    <adm:synopsis>
      Specifies the policy that the
      <adm:user-friendly-name />
      should use regarding client SSL certificates.
      Clients can use the SASL EXTERNAL mechanism only if the
      policy is set to "optional" or "required".
    </adm:synopsis>
    <adm:description>
      This is only applicable if clients are allowed to use SSL.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>optional</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="disabled">
          <adm:synopsis>
            Clients must not provide their own
            certificates when performing SSL negotiation.
          </adm:synopsis>
        </adm:value>
        <adm:value name="optional">
          <adm:synopsis>
            Clients are requested to provide their own certificates
            when performing SSL negotiation. The connection is
            nevertheless accepted if the client does not provide a
            certificate.
          </adm:synopsis>
        </adm:value>
        <adm:value name="required">
          <adm:synopsis>
            Clients are required to provide their own certificates
            when performing SSL negotiation and are refused access
            if they do not provide a certificate.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-ssl-client-auth-policy</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="accept-backlog" advanced="true">
    <adm:synopsis>
      Specifies the maximum number of pending connection attempts that
      are allowed to queue up in the accept backlog before the
      server starts rejecting new connection attempts.
    </adm:synopsis>
    <adm:description>
      This is primarily an issue for cases in which a large number of
      connections are established to the server in a very short period
      of time (for example, a benchmark utility that creates a large number of
      client threads that each have their own connection to the server)
      and the connection handler is unable to keep up with the rate at
      which the new connections are established.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>128</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="1">
        <adm:unit-synopsis>connections</adm:unit-synopsis>
      </adm:integer>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-accept-backlog</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="ssl-protocol" multi-valued="true">
    <adm:synopsis>
      Specifies the names of the SSL protocols that are allowed for
      use in SSL or StartTLS communication.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately but only
          impact new SSL/TLS-based sessions created after the
          change.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          Uses the default set of SSL protocols provided by the server's
          JVM.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-ssl-protocol</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="ssl-cipher-suite" multi-valued="true">
    <adm:synopsis>
      Specifies the names of the SSL cipher suites that are allowed
      for use in SSL or StartTLS communication.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately but will
          only impact new SSL/TLS-based sessions created after the
          change.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          Uses the default set of SSL cipher suites provided by the
          server's JVM.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-ssl-cipher-suite</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="max-blocked-write-time-limit" advanced="true">
    <adm:synopsis>
      Specifies the maximum length of time that attempts to write data
      to LDAP clients should be allowed to block.
    </adm:synopsis>
    <adm:description>
      If an attempt to write data to a client takes longer than this
      length of time, then the client connection is terminated.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>2 minutes</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration base-unit="ms" lower-limit="0" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-max-blocked-write-time-limit</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LDAPPassThroughAuthenticationPolicyConfiguration.xml
New file
@@ -0,0 +1,664 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="ldap-pass-through-authentication-policy"
  plural-name="ldap-pass-through-authentication-policies" extends="authentication-policy"
  package="org.forgerock.opendj.admin" xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    An authentication policy for users whose credentials are managed
    by a remote LDAP directory service.
  </adm:synopsis>
  <adm:description>
    Authentication attempts will be redirected to the remote LDAP
    directory service based on a combination of the criteria specified in this
    policy and the content of the user's entry in this directory server.
  </adm:description>
  <adm:constraint>
    <adm:synopsis>
      One or more mapped attributes must be specified when using the
      "mapped-bind" or "mapped-search" mapping policies.
    </adm:synopsis>
    <adm:condition>
      <adm:implies>
        <adm:or>
          <adm:contains property="mapping-policy" value="mapped-bind" />
          <adm:contains property="mapping-policy" value="mapped-search" />
        </adm:or>
        <adm:is-present property="mapped-attribute" />
      </adm:implies>
    </adm:condition>
  </adm:constraint>
  <adm:constraint>
    <adm:synopsis>
      One or more search base DNs must be specified when using the
      "mapped-search" mapping policy.
    </adm:synopsis>
    <adm:condition>
      <adm:implies>
        <adm:contains property="mapping-policy" value="mapped-search" />
        <adm:is-present property="mapped-search-base-dn" />
      </adm:implies>
    </adm:condition>
  </adm:constraint>
  <adm:constraint>
    <adm:synopsis>
      The mapped search bind password must be specified when using the
      "mapped-search" mapping policy and a mapped-search-bind-dn is defined.
    </adm:synopsis>
    <adm:condition>
      <adm:implies>
        <adm:and>
          <adm:contains property="mapping-policy" value="mapped-search" />
          <adm:is-present property="mapped-search-bind-dn" />
        </adm:and>
        <adm:or>
          <adm:is-present property="mapped-search-bind-password" />
          <adm:is-present property="mapped-search-bind-password-property" />
          <adm:is-present property="mapped-search-bind-password-environment-variable" />
          <adm:is-present property="mapped-search-bind-password-file" />
        </adm:or>
      </adm:implies>
    </adm:condition>
  </adm:constraint>
  <adm:constraint>
    <adm:synopsis>
      The cached password storage scheme must be specified when password
      caching is enabled.
    </adm:synopsis>
    <adm:condition>
      <adm:implies>
        <adm:contains property="use-password-caching" value="true" />
        <adm:is-present property="cached-password-storage-scheme" />
      </adm:implies>
    </adm:condition>
  </adm:constraint>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-ldap-pass-through-authentication-policy</ldap:name>
      <ldap:superior>ds-cfg-authentication-policy</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.LDAPPassThroughAuthenticationPolicyFactory
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="primary-remote-ldap-server" multi-valued="true"
    mandatory="true">
    <adm:synopsis>
      Specifies the primary list of remote LDAP servers which should
      be used for pass through authentication.
    </adm:synopsis>
    <adm:description>
      If more than one LDAP server is specified then operations
      may be distributed across them. If all of the primary LDAP servers are
      unavailable then operations will fail-over to the set of secondary LDAP
      servers, if defined.
    </adm:description>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
          <adm:regex>^.+:[0-9]+$</adm:regex>
          <adm:usage>HOST:PORT</adm:usage>
          <adm:synopsis>
            A host name followed by a ":" and a port number.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-primary-remote-ldap-server</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="secondary-remote-ldap-server" multi-valued="true">
    <adm:synopsis>
      Specifies the secondary list of remote LDAP servers which
      should be used for pass through authentication in the event that the
      primary LDAP servers are unavailable.
    </adm:synopsis>
    <adm:description>
      If more than one LDAP server is specified then operations
      may be distributed across them. Operations will be rerouted to the primary
      LDAP servers as soon as they are determined to be available.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>No secondary LDAP servers.</adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
          <adm:regex>^.+:[0-9]+$</adm:regex>
          <adm:usage>HOST:PORT</adm:usage>
          <adm:synopsis>
            A host name followed by a ":" and a port number.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-secondary-remote-ldap-server</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="connection-timeout">
    <adm:synopsis>
      Specifies the timeout used when connecting to remote LDAP
      directory servers, performing SSL negotiation, and for individual search
      and bind requests.
    </adm:synopsis>
    <adm:description>
      If the timeout expires then the current operation will be
      aborted and retried against another LDAP server if one is available.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>3 seconds</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration base-unit="ms" lower-limit="0" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-connection-timeout</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property-reference name="use-ssl" />
  <adm:property name="trust-manager-provider">
    <adm:synopsis>
      Specifies the name of the trust manager that should be used
      when negotiating SSL connections with remote LDAP directory servers.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately, but only
          impact subsequent SSL connection negotiations.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          By default, no trust manager is specified indicating that only
          certificates signed by the authorities associated with this JVM will
          be accepted.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation relation-name="trust-manager-provider"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced trust manager provider must be enabled
            when SSL is enabled.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:and>
              <adm:contains property="use-ssl" value="true" />
            </adm:and>
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-trust-manager-provider</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="mapping-policy" mandatory="true">
    <adm:synopsis>
      Specifies the mapping algorithm for obtaining the bind DN from
      the user's entry.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>unmapped</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="unmapped">
          <adm:synopsis>
            Bind to the remote LDAP directory service using the DN
            of the user's entry in this directory server.
          </adm:synopsis>
        </adm:value>
        <adm:value name="mapped-bind">
          <adm:synopsis>
            Bind to the remote LDAP directory service using a DN
            obtained from an attribute in the user's entry. This policy will
            check each attribute named in the "mapped-attribute" property. If
            more than one attribute or value is present then the first one will
            be used.
          </adm:synopsis>
        </adm:value>
        <adm:value name="mapped-search">
          <adm:synopsis>
            Bind to the remote LDAP directory service using the DN
            of an entry obtained using a search against the remote LDAP
            directory service. The search filter will comprise of an equality
            matching filter whose attribute type is the "mapped-attribute"
            property, and whose assertion value is the attribute value obtained
            from the user's entry. If more than one attribute or value is
            present then the filter will be composed of multiple equality
            filters combined using a logical OR (union).
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-mapping-policy</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="mapped-attribute" multi-valued="true">
    <adm:synopsis>
      Specifies one or more attributes in the user's entry whose
      value(s) will determine the bind DN used when authenticating to the remote
      LDAP directory service. This property is mandatory when using the
      "mapped-bind" or "mapped-search" mapping policies.
    </adm:synopsis>
    <adm:description>
      At least one value must be provided. All values must refer
      to the name or OID of an attribute type defined in the directory server
      schema. At least one of the named attributes must exist in a user's
      local entry in order for authentication to proceed. When multiple
      attributes or values are found in the user's entry then the behavior is
      determined by the mapping policy.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:attribute-type />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-mapped-attribute</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="mapped-search-bind-dn">
    <adm:synopsis>
      Specifies the bind DN which should be used to perform user
      searches in the remote LDAP directory service.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>Searches will be performed anonymously.</adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:dn />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-mapped-search-bind-dn</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="mapped-search-bind-password">
    <adm:synopsis>
      Specifies the bind password which should be used to perform
      user searches in the remote LDAP directory service.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:password />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-mapped-search-bind-password</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="mapped-search-bind-password-property">
    <adm:synopsis>
      Specifies the name of a Java property containing the bind password which
      should be used to perform user searches in the remote LDAP directory
      service.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-mapped-search-bind-password-property</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="mapped-search-bind-password-environment-variable">
    <adm:synopsis>
      Specifies the name of an environment variable containing the bind
      password which should be used to perform user searches in the remote LDAP
      directory service.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>
          ds-cfg-mapped-search-bind-password-environment-variable
        </ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="mapped-search-bind-password-file">
    <adm:synopsis>
      Specifies the name of a file containing the bind
      password which should be used to perform user searches in the remote LDAP
      directory service.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-mapped-search-bind-password-file</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="mapped-search-base-dn" multi-valued="true">
    <adm:synopsis>
      Specifies the set of base DNs below which to search for users
      in the remote LDAP directory service. This property is mandatory when
      using the "mapped-search" mapping policy.
    </adm:synopsis>
    <adm:description>
      If multiple values are given, searches are performed below
      all specified base DNs.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:dn />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-mapped-search-base-dn</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="use-tcp-keep-alive" advanced="true">
    <adm:synopsis>
      Indicates whether LDAP connections should use TCP keep-alive.
    </adm:synopsis>
    <adm:description>
      If enabled, the SO_KEEPALIVE socket option is used to
      indicate that TCP keepalive messages should periodically be sent to the
      client to verify that the associated connection is still valid. This may
      also help prevent cases in which intermediate network hardware
      could silently drop an otherwise idle client connection, provided
      that the keepalive interval configured in the underlying operating
      system is smaller than the timeout enforced by the network hardware.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-use-tcp-keep-alive</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="use-tcp-no-delay" advanced="true">
    <adm:synopsis>
      Indicates whether LDAP connections should use TCP no-delay.
    </adm:synopsis>
    <adm:description>
      If enabled, the TCP_NODELAY socket option is used to ensure
      that response messages to the client are sent immediately rather
      than potentially waiting to determine whether additional response
      messages can be sent in the same packet. In most cases, using the
      TCP_NODELAY socket option provides better performance and
      lower response times, but disabling it may help for some cases in
      which the server sends a large number of entries to a client
      in response to a search request.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-use-tcp-no-delay</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="ssl-protocol" multi-valued="true" advanced="true">
    <adm:synopsis>
      Specifies the names of the SSL protocols which are allowed for
      use in SSL based LDAP connections.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately but will
          only impact new SSL LDAP connections created after the
          change.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          Uses the default set of SSL protocols provided by the
          server's JVM.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-ssl-protocol</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="ssl-cipher-suite" multi-valued="true"
    advanced="true">
    <adm:synopsis>
      Specifies the names of the SSL cipher suites that are allowed
      for use in SSL based LDAP connections.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately but will
          only impact new SSL LDAP connections created after the
          change.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          Uses the default set of SSL cipher suites provided by the
          server's JVM.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-ssl-cipher-suite</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="use-password-caching" mandatory="true">
    <adm:synopsis>
      Indicates whether passwords should be cached locally within the user's
      entry.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-use-password-caching</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="cached-password-storage-scheme">
    <adm:synopsis>
      Specifies the name of a password storage scheme which should be used
      for encoding cached passwords.
    </adm:synopsis>
    <adm:description>
      Changing the password storage scheme will cause all existing cached
      passwords to be discarded.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined/>
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation relation-name="password-storage-scheme"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced password storage schemes must be enabled.
          </adm:synopsis>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-cached-password-storage-scheme</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="cached-password-ttl">
    <adm:synopsis>
      Specifies the maximum length of time that a locally cached password may
      be used for authentication before it is refreshed from the remote LDAP
      service.
    </adm:synopsis>
    <adm:description>
      This property represents a cache timeout. Increasing the timeout period
      decreases the frequency that bind operations are delegated to the
      remote LDAP service, but increases the risk of users authenticating
      using stale passwords.
      Note that authentication attempts which fail because the provided password
      does not match the locally cached password will always be retried against
      the remote LDAP service.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>8 hours</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration base-unit="s"/>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-cached-password-ttl</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LDIFBackendConfiguration.xml
New file
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="ldif-backend" plural-name="ldif-backends"
  package="org.forgerock.opendj.admin" extends="backend"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides a mechanism for interacting with data
    stored in an LDIF file.
  </adm:synopsis>
  <adm:description>
    All basic LDAP operations are supported in the LDIF backend
    although it has minimal support for custom controls.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-ldif-backend</ldap:name>
      <ldap:superior>ds-cfg-backend</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>org.opends.server.backends.LDIFBackend</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="writability-mode">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>enabled</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="ldif-file" mandatory="true">
    <adm:synopsis>
      Specifies the path to the LDIF file containing the data for
      this backend.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-ldif-file</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="is-private-backend">
    <adm:synopsis>
      Indicates whether the backend should be considered a private
      backend, which indicates that it is used for storing operational
      data rather than user-defined information.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-is-private-backend</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LDIFConnectionHandlerConfiguration.xml
New file
@@ -0,0 +1,104 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="ldif-connection-handler"
  plural-name="ldif-connection-handlers"
  package="org.forgerock.opendj.admin" extends="connection-handler"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    is used to process changes in the server using internal
    operations, where the changes to process are read from an LDIF file.
  </adm:synopsis>
  <adm:description>
    The connection handler periodically looks for the existence of a
    new file, processes the changes contained in that file as
    internal operations, and writes the result to an output file
    with comments indicating the result of the processing. NOTE: By
    default
    <adm:user-friendly-name />
    operations are not logged because they are internal operations. If
    you want to log these operations, allow internal logging in the
    access log publisher.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-ldif-connection-handler</ldap:name>
      <ldap:superior>ds-cfg-connection-handler</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.protocols.LDIFConnectionHandler
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="ldif-directory" mandatory="true">
    <adm:synopsis>
      Specifies the path to the directory in which the LDIF files should
      be placed.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>config/auto-process-ldif</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-ldif-directory</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="poll-interval" mandatory="true">
    <adm:synopsis>
      Specifies how frequently the LDIF connection handler should check
      the LDIF directory to determine whether a new LDIF file has been
      added.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>5 seconds</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration base-unit="ms" lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-poll-interval</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LastModPluginConfiguration.xml
New file
@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="last-mod-plugin"
  plural-name="last-mod-plugins" package="org.forgerock.opendj.admin"
  extends="plugin" xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    is used to ensure that the creatorsName and createTimestamp
    attributes are included in an entry whenever it is added to the
    server and also to ensure that the modifiersName and modifyTimestamp
    attributes are updated whenever an entry is modified or renamed.
  </adm:synopsis>
  <adm:description>
    This behavior is described in RFC 4512. The implementation for
    the LastMod plugin is contained in the
    org.opends.server.plugins.LastModPlugin class. It must be
    configured with the preOperationAdd, preOperationModify, and
    preOperationModifyDN plugin types, but it does not have any
    other custom configuration.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-last-mod-plugin</ldap:name>
      <ldap:superior>ds-cfg-plugin</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>org.opends.server.plugins.LastModPlugin</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="plugin-type" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>preoperationadd</adm:value>
        <adm:value>preoperationmodify</adm:value>
        <adm:value>preoperationmodifydn</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LengthBasedPasswordValidatorConfiguration.xml
New file
@@ -0,0 +1,114 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="length-based-password-validator"
  plural-name="length-based-password-validators"
  package="org.forgerock.opendj.admin" extends="password-validator"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:TODO>
    Use constraints to enforce max-password-length >=
    min-password-length
  </adm:TODO>
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    is used to determine whether a proposed password is acceptable based
    on whether the number of characters it contains falls within an
    acceptable range of values.
  </adm:synopsis>
  <adm:description>
    Both upper and lower bounds may be
    defined.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-length-based-password-validator</ldap:name>
      <ldap:superior>ds-cfg-password-validator</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.LengthBasedPasswordValidator
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="max-password-length">
    <adm:synopsis>
      Specifies the maximum number of characters that can be included in
      a proposed password.
    </adm:synopsis>
    <adm:description>
      A value of zero indicates that there will be no upper bound
      enforced. If both minimum and maximum lengths
      are defined, then the minimum length must be less than or equal to
      the maximum length.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" upper-limit="2147483647"/>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-max-password-length</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="min-password-length">
    <adm:synopsis>
      Specifies the minimum number of characters that must be included
      in a proposed password.
    </adm:synopsis>
    <adm:description>
      A value of zero indicates that there will be no lower bound
      enforced.
      If both minimum and maximum lengths
      are defined, then the minimum length must be less than or equal to
      the maximum length.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>6</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" upper-limit="2147483647"/>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-min-password-length</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LocalBackendWorkflowElementConfiguration.xml
New file
@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2009 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="local-backend-workflow-element"
  plural-name="local-backend-workflow-elements"
  package="org.forgerock.opendj.admin" extends="workflow-element"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides access to a backend.
  </adm:synopsis>
  <adm:tag name="user-management" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-local-backend-workflow-element</ldap:name>
      <ldap:superior>ds-cfg-workflow-element</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.workflowelement.localbackend.LocalBackendWorkflowElement
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="backend" mandatory="true" read-only="true">
    <adm:synopsis>
      Identifies the backend accessed by the workflow element.
    </adm:synopsis>
    <adm:syntax>
      <adm:aggregation relation-name="backend" parent-path="/">
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-backend</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LocalDBBackendConfiguration.xml
New file
@@ -0,0 +1,1078 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2010 Sun Microsystems, Inc.
  !      Portions Copyright 2010-2013 ForgeRock AS.
  ! -->
<adm:managed-object name="local-db-backend"
  plural-name="local-db-backends" package="org.forgerock.opendj.admin"
  extends="backend" xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    uses the Berkeley DB Java Edition to store user-provided data in a local
    repository.
  </adm:synopsis>
  <adm:description>
    It is the traditional "directory server" backend and is similar to
    the backends provided by the Sun Java System Directory Server. The
    <adm:user-friendly-name />
    stores the entries in an encoded form and also provides indexes that
    can be used to quickly locate target entries based on different
    kinds of criteria.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-local-db-backend</ldap:name>
      <ldap:superior>ds-cfg-backend</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:relation name="local-db-index">
    <adm:one-to-many naming-property="attribute">
      <adm:default-managed-object name="aci">
        <adm:property name="index-type">
          <adm:value>presence</adm:value>
        </adm:property>
        <adm:property name="attribute">
          <adm:value>aci</adm:value>
        </adm:property>
      </adm:default-managed-object>
      <adm:default-managed-object name="entryUUID">
        <adm:property name="index-type">
          <adm:value>equality</adm:value>
        </adm:property>
        <adm:property name="attribute">
          <adm:value>entryUUID</adm:value>
        </adm:property>
      </adm:default-managed-object>
      <adm:default-managed-object name="objectClass">
        <adm:property name="index-type">
          <adm:value>equality</adm:value>
        </adm:property>
        <adm:property name="attribute">
          <adm:value>objectClass</adm:value>
        </adm:property>
      </adm:default-managed-object>
      <adm:default-managed-object name="ds-sync-hist">
        <adm:property name="index-type">
          <adm:value>ordering</adm:value>
        </adm:property>
        <adm:property name="attribute">
          <adm:value>ds-sync-hist</adm:value>
        </adm:property>
      </adm:default-managed-object>
      <adm:default-managed-object name="ds-sync-conflict">
        <adm:property name="index-type">
          <adm:value>equality</adm:value>
        </adm:property>
        <adm:property name="attribute">
          <adm:value>ds-sync-conflict</adm:value>
        </adm:property>
      </adm:default-managed-object>
    </adm:one-to-many>
    <adm:profile name="ldap">
      <ldap:rdn-sequence>cn=Index</ldap:rdn-sequence>
    </adm:profile>
    <adm:profile name="cli">
      <cli:relation>
        <cli:default-property name="index-type" />
        <cli:default-property name="index-entry-limit" />
        <cli:default-property name="index-extensible-matching-rule" />
      </cli:relation>
    </adm:profile>
  </adm:relation>
  <adm:relation name="local-db-vlv-index">
    <adm:one-to-many naming-property="name" />
    <adm:profile name="ldap">
      <ldap:rdn-sequence>cn=VLV Index</ldap:rdn-sequence>
    </adm:profile>
    <adm:profile name="cli">
      <cli:relation>
        <cli:default-property name="base-dn" />
        <cli:default-property name="scope" />
        <cli:default-property name="filter" />
        <cli:default-property name="sort-order" />
      </cli:relation>
    </adm:profile>
  </adm:relation>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.backends.jeb.BackendImpl
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="writability-mode">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>enabled</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="db-directory" mandatory="true">
    <adm:TODO>Default this to the db/backend-id</adm:TODO>
    <adm:synopsis>
      Specifies the path to the filesystem directory that is used
      to hold the Berkeley DB Java Edition database files containing the
      data for this backend.
    </adm:synopsis>
    <adm:description>
      The path may be either an absolute path or a path relative to the
      directory containing the base of the <adm:product-name /> directory server
      installation. The path may be any valid directory path in which
      the server has appropriate permissions to read and write files and
      has sufficient space to hold the database contents.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>db</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-directory</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="compact-encoding">
    <adm:synopsis>
      Indicates whether the backend should use a compact form when
      encoding entries by compressing the attribute descriptions and
      object class sets.
    </adm:synopsis>
    <adm:description>
      Note that this property applies only to the entries themselves and
      does not impact the index data.
    </adm:description>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this setting take effect only for writes that
          occur after the change is made. It is not retroactively
          applied to existing data.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-compact-encoding</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="entries-compressed" advanced="true">
    <adm:synopsis>
      Indicates whether the backend should attempt to compress entries
      before storing them in the database.
    </adm:synopsis>
    <adm:description>
      Note that this property applies only to the entries themselves and
      does not impact the index data. Further, the effectiveness of the
      compression is based on the type of data contained in the
      entry.
    </adm:description>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this setting take effect only for writes that
          occur after the change is made. It is not retroactively
          applied to existing data.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-entries-compressed</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="import-queue-size" advanced="true">
    <adm:synopsis>
      This parameter has been deprecated in OpenDS 2.1 and will be removed
      in <adm:product-name /> 3.0. It is only being kept for migration ease and is ignored
      in OpenDS versions after 2.0.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
      This parameter has been deprecated in OpenDS 2.1 and will be removed
      in <adm:product-name /> 3.0. It is only being kept for migration ease and is ignored
      in OpenDS versions after 2.0.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>100</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="1" upper-limit="2147483647" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-import-queue-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="import-thread-count" advanced="true">
    <adm:synopsis>
      This parameter has been deprecated in OpenDS 2.1 and will be removed
      in <adm:product-name /> 3.0. It is only being kept for migration ease and is ignored
      in OpenDS versions after 2.0.
    </adm:synopsis>
    <adm:description>
        This parameter has been deprecated in OpenDS 2.1 and will be removed
      in <adm:product-name /> 3.0. It is only being kept for migration ease and is ignored
      in OpenDS versions after 2.0.
    </adm:description>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes do not take effect for any import that may already
          be in progress.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>8</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="1" upper-limit="2147483647" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-import-thread-count</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="index-entry-limit">
    <adm:synopsis>
      Specifies the maximum number of entries that is allowed to
      match a given index key before that particular index key is no
      longer maintained.
    </adm:synopsis>
    <adm:description>
      This property is analogous to the ALL IDs threshold in the Sun
      Java System Directory Server. Note that this is the default limit
      for the backend, and it may be overridden on a per-attribute
      basis.A value of 0 means there is no limit.
    </adm:description>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          If any index keys have already reached this limit, indexes
          need to be rebuilt before they are allowed to use the
          new limit.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>4000</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" upper-limit="2147483647" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-index-entry-limit</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-directory-permissions" advanced="true">
    <adm:synopsis>
      Specifies the permissions that should be applied to the directory
      containing the server database files.
    </adm:synopsis>
    <adm:description>
      They should be expressed as three-digit octal values, which is the
      traditional representation for UNIX file permissions. The three
      digits represent the permissions that are available for the
      directory's owner, group members, and other users (in that order),
      and each digit is the octal representation of the read, write, and
      execute bits. Note that this only impacts permissions on the
      database directory and not on the files written into that
      directory. On UNIX systems, the user's umask controls
      permissions given to the database files.
    </adm:description>
    <adm:requires-admin-action>
      <adm:server-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>700</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
          <adm:regex>^7[0-7][0-7]$</adm:regex>
          <adm:usage>MODE</adm:usage>
          <adm:synopsis>
            Any octal value between 700 and 777 (the owner must always
            have read, write, and execute permissions on the directory).
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-directory-permissions</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="preload-time-limit" advanced="true">
    <adm:synopsis>
      Specifies the length of time that the backend is allowed to
      spend "pre-loading" data when it is initialized.
    </adm:synopsis>
    <adm:description>
      The pre-load process is used to pre-populate the database
      cache, so that it can be more quickly available when the server is
      processing requests. A duration of zero means there is no
      pre-load.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0s</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration base-unit="ms" lower-limit="0" upper-limit="2147483647" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-preload-time-limit</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-cache-percent">
    <adm:synopsis>
      Specifies the percentage of JVM memory to allocate to the database cache.
    </adm:synopsis>
    <adm:description>
      Specifies the percentage of memory available to the JVM that
      should be used for caching database contents. Note that this is
      only used if the value of the db-cache-size property is set to
      "0 MB". Otherwise, the value of that property is used instead
      to control the cache size configuration.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>50</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="1" upper-limit="90" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-cache-percent</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-cache-size">
    <adm:synopsis>
      The amount of JVM memory to allocate to the database cache.
    </adm:synopsis>
    <adm:description>
      Specifies the amount of memory that should be used for caching
      database contents. A value of "0 MB" indicates that the
      db-cache-percent property should be used instead to specify the
      cache size.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0 MB</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:size lower-limit="0 MB" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-cache-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-cleaner-min-utilization" advanced="true">
    <adm:synopsis>
      Specifies the minimum percentage of "live" data that the database
      cleaner attempts to keep in database log files.
    </adm:synopsis>
    <adm:description>
      If the amount of live data in any database log file drops below
      this percentage, then the cleaner moves the remaining live
      data in that file to the end of the database and deletes the
      original file in order to keep the database relatively compact.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>50</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" upper-limit="90" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-cleaner-min-utilization</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-run-cleaner" advanced="true">
    <adm:synopsis>
      Indicates whether the database cleaner threads should be
      enabled.
    </adm:synopsis>
    <adm:description>
      The cleaner threads are used to periodically compact the
      database by identifying database files with a low (that is, less than
      the amount specified by the db-cleaner-min-utilization property)
      percentage of live data, moving the remaining live data to the end
      of the log and deleting that file.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-run-cleaner</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-evictor-lru-only" advanced="true">
    <adm:synopsis>
      Indicates whether the database should evict existing data from the
      cache based on an LRU policy (where the least recently used
      information will be evicted first).
    </adm:synopsis>
    <adm:description>
      If set to "false", then the eviction keeps internal nodes of the underlying
      Btree in the cache over leaf nodes, even if the leaf nodes have
      been accessed more recently. This may be a better configuration
      for databases in which only a very small portion of the data is
      cached.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-evictor-lru-only</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-evictor-nodes-per-scan" advanced="true">
    <adm:synopsis>
      Specifies the number of Btree nodes that should be evicted from
      the cache in a single pass if it is determined that it is
      necessary to free existing data in order to make room for new
      information.
    </adm:synopsis>
    <adm:description>
      Changes to this property do not take effect until the backend is
      restarted. It is recommended that you also change this property
      when you set db-evictor-lru-only to false. This setting controls
      the number of Btree nodes that are considered, or sampled, each
      time a node is evicted. A setting of 10 often produces good
      results, but this may vary from application to application. The
      larger the nodes per scan, the more accurate the algorithm.
      However, don't set it too high. When considering larger numbers of
      nodes for each eviction, the evictor may delay the completion of a
      given database operation, which impacts the response time of the
      application thread. In JE 4.1 and later, setting this value too high
      in an application that is largely CPU bound can reduce the
      effectiveness of cache eviction. It's best to start with the default
      value, and increase it gradually to see if it is beneficial for your
      application.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>10</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="1" upper-limit="1000" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-evictor-nodes-per-scan</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-evictor-core-threads" advanced="true">
    <adm:synopsis>
      Specifies the core number of threads in the eviction thread pool.
    </adm:synopsis>
    <adm:description>
      Specifies the core number of threads in the eviction thread pool.
      These threads help keep memory usage within cache bounds,
      offloading work from application threads. db-evictor-core-threads,
      db-evictor-max-threads and db-evictor-keep-alive are used to configure
      the core, max and keepalive attributes for the eviction thread pool.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>1</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" upper-limit="2147483647" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-evictor-core-threads</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-evictor-max-threads" advanced="true">
    <adm:synopsis>
      Specifies the maximum number of threads in the eviction thread pool.
    </adm:synopsis>
    <adm:description>
      Specifies the maximum number of threads in the eviction thread pool.
      These threads help keep memory usage within cache bounds,
      offloading work from application threads. db-evictor-core-threads,
      db-evictor-max-threads and db-evictor-keep-alive are used to configure
      the core, max and keepalive attributes for the eviction thread pool.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>10</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="1" upper-limit="2147483647" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-evictor-max-threads</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-evictor-keep-alive" advanced="true">
    <adm:synopsis>
      The duration that excess threads in the eviction thread pool will
      stay idle. After this period, idle threads will terminate.
    </adm:synopsis>
    <adm:description>
      The duration that excess threads in the eviction thread pool will
      stay idle. After this period, idle threads will terminate.
      db-evictor-core-threads, db-evictor-max-threads and
      db-evictor-keep-alive are used to configure the core, max and
      keepalive attributes for the eviction thread pool.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>600s</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration base-unit="s" lower-limit="1" upper-limit="86400" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-evictor-keep-alive</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-log-file-max" advanced="true">
    <adm:synopsis>
      Specifies the maximum size for a database log file.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>100mb</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:size lower-limit="1mb" upper-limit="4gib" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-log-file-max</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-log-filecache-size" advanced="true">
    <adm:synopsis>
      Specifies the size of the file handle cache.
    </adm:synopsis>
    <adm:description>
      The file handle cache is used to keep as much opened log files
      as possible. When the cache is smaller than the number of logs,
      the database needs to close some handles and open log files it needs,
      resulting in less optimal performances. Ideally, the size of the cache
      should be higher than the number of files contained in the database.
      Make sure the OS number of open files per process is also tuned
      appropriately.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>100</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="3" upper-limit="2147483647" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-log-filecache-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-logging-file-handler-on" advanced="true">
    <adm:synopsis>
      Indicates whether the database should maintain a je.info file in
      the same directory as the database log directory.
    </adm:synopsis>
    <adm:description>
      This file contains information about the internal processing
      performed by the underlying database.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-logging-file-handler-on</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-logging-level" advanced="true">
    <adm:TODO>Use an enumeration</adm:TODO>
    <adm:synopsis>
      Specifies the log level that should be used by the database
      when it is writing information into the je.info file.
    </adm:synopsis>
    <adm:description>
      The database trace logging level is (in increasing order of
      verbosity) chosen from: OFF, SEVERE, WARNING, INFO, CONFIG, FINE,
      FINER, FINEST, ALL.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>CONFIG</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-logging-level</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-checkpointer-bytes-interval" advanced="true">
    <adm:synopsis>
      Specifies the maximum number of bytes that may be written to the
      database before it is forced to perform a checkpoint.
    </adm:synopsis>
    <adm:description>
      This can be used to bound the recovery time that may be required
      if the database environment is opened without having been properly
      closed. If this property is set to a non-zero value, the
      checkpointer wakeup interval is not used. To use time-based
      checkpointing, set this property to zero.
    </adm:description>
    <adm:requires-admin-action>
      <adm:server-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>500mb</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:size lower-limit="0b" upper-limit="9223372036854775807b" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-checkpointer-bytes-interval</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-checkpointer-wakeup-interval"
    advanced="true">
    <adm:synopsis>
      Specifies the maximum length of time that may pass between
      checkpoints.
    </adm:synopsis>
    <adm:description>
      Note that this is only used if the value of the checkpointer
      bytes interval is zero.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>30s</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration base-unit="s" lower-limit="1" upper-limit="4294" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-checkpointer-wakeup-interval</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-num-lock-tables" advanced="true">
    <adm:synopsis>
      Specifies the number of lock tables that are used by the underlying database.
    </adm:synopsis>
    <adm:description>
      This can be particularly important to help improve scalability by
      avoiding contention on systems with large numbers of CPUs. The
      value of this configuration property should be set to a prime
      number that is less than or equal to the number of worker threads
      configured for use in the server.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          Let the server decide.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="1" upper-limit="32767" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-num-lock-tables</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-num-cleaner-threads" advanced="true">
    <adm:synopsis>
      Specifies the number of threads that the backend should maintain
      to keep the database log files at or near the desired utilization.
    </adm:synopsis>
    <adm:description>
      In environments with high write throughput, multiple cleaner
      threads may be required to maintain the desired utilization.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          Let the server decide.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-num-cleaner-threads</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-txn-no-sync" advanced="true">
    <adm:synopsis>
      Indicates whether database writes should be primarily written to
      an internal buffer but not immediately written to disk.
    </adm:synopsis>
    <adm:description>
      Setting the value of this configuration attribute to "true" may
      improve write performance but could cause the most
      recent changes to be lost if the <adm:product-name /> directory server or the
      underlying JVM exits abnormally, or if an OS or hardware failure
      occurs (a behavior similar to running with transaction durability
      disabled in the Sun Java System Directory Server).
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-txn-no-sync</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="db-txn-write-no-sync" advanced="true">
    <adm:synopsis>
      Indicates whether the database should synchronously flush data as
      it is written to disk.
    </adm:synopsis>
    <adm:description>
      If this value is set to "false", then all data written to disk
      is synchronously flushed to persistent storage and thereby
      providing full durability. If it is set to "true", then data may
      be cached for a period of time by the underlying operating system
      before actually being written to disk. This may improve
      performance, but could cause the most recent
      changes to be lost in the event of an underlying OS or hardware
      failure (but not in the case that the <adm:product-name /> directory server or
      the JVM exits abnormally).
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-db-txn-write-no-sync</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="disk-low-threshold" advanced="true">
      <adm:synopsis>
        Low disk threshold to limit database updates
      </adm:synopsis>
      <adm:description>
        Specifies the "low" free space on the disk. When the available
        free space on the disk used by this database instance falls below the
        value specified, protocol updates on this database are permitted only
        by a user with the BYPASS_LOCKDOWN privilege.
      </adm:description>
      <adm:default-behavior>
          <adm:defined>
              <adm:value>200 megabytes</adm:value>
          </adm:defined>
      </adm:default-behavior>
      <adm:syntax>
          <adm:size lower-limit="0" />
      </adm:syntax>
      <adm:profile name="ldap">
          <ldap:attribute>
              <ldap:name>ds-cfg-disk-low-threshold</ldap:name>
          </ldap:attribute>
      </adm:profile>
  </adm:property>
  <adm:property name="disk-full-threshold" advanced="true">
      <adm:synopsis>
        Full disk threshold to limit database updates
      </adm:synopsis>
      <adm:description>
        When the available free space on the disk used by this database
        instance falls below the value specified, no updates
        are permitted and the server returns an UNWILLING_TO_PERFORM error.
        Updates are allowed again as soon as free space rises above the
        threshold.
      </adm:description>
      <adm:default-behavior>
          <adm:defined>
              <adm:value>100 megabytes</adm:value>
          </adm:defined>
      </adm:default-behavior>
      <adm:syntax>
          <adm:size lower-limit="0" />
      </adm:syntax>
      <adm:profile name="ldap">
          <ldap:attribute>
              <ldap:name>ds-cfg-disk-full-threshold</ldap:name>
          </ldap:attribute>
      </adm:profile>
  </adm:property>
  <adm:property name="je-property" advanced="true"
    multi-valued="true">
    <adm:synopsis>
      Specifies the database and environment properties for the Berkeley
      DB Java Edition database serving the data for this backend.
    </adm:synopsis>
    <adm:description>
      Any Berkeley DB Java Edition property can be specified using the
      following form: property-name=property-value. Refer to <adm:product-name />
      documentation for further information on related properties, their
      implications, and range values. The definitive identification of
      all the property parameters is available in the example.properties
      file of Berkeley DB Java Edition distribution.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-je-property</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="index-filter-analyzer-enabled" advanced="true">
    <adm:synopsis>
      Indicates whether to gather statistical information about the search
        filters processed by the directory server while evaluating the usage of
        indexes.
    </adm:synopsis>
    <adm:description>
      Analyzing indexes requires gathering search filter usage patterns from
        user requests, especially for values as specified in the filters and
        subsequently looking the status of those values into the index files.
        When a search requests is processed, internal or user generated, a
        first phase uses indexes to find potential entries to be returned.
        Depending on the search filter, if the index of one of the specified
        attributes matches too many entries (exceeds the index entry limit),
        the search becomes non-indexed. In any case, all entries thus
        gathered (or the entire DIT) are matched against the filter for
        actually returning the search result.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-index-filter-analyzer-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="index-filter-analyzer-max-filters" advanced="true">
    <adm:synopsis>
      The maximum number of search filter statistics to keep.
    </adm:synopsis>
    <adm:description>
      When the maximum number of search filter is reached, the least used one
      will be deleted.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>25</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-index-filter-analyzer-max-filters</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="subordinate-indexes-enabled" advanced="true">
    <adm:synopsis>
      Indicates whether id2children and id2subtree indexes should be used for
      this backend. These indexes are used for constraining filtered searches
      to the search request's scope as well as for generating values for the
      hasSubordinates and numSubordinates virtual attributes.
    </adm:synopsis>
    <adm:description>
      Subordinate indexing is enabled by default and should only be disabled
      for specialized use cases. A typical use case is where the backend is
      to be subjected to heavy add/delete load beneath the same parent entry
      such as when used as a session database. Disabling the subordinate
      indexes means that the numSubordinates and hasSubordinates virtual
      attributes will not be supported.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-subordinate-indexes-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LocalDBIndexConfiguration.xml
New file
@@ -0,0 +1,232 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2009 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="local-db-index" plural-name="local-db-indexes"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    are used to store information that makes it possible to locate
    entries very quickly when processing search operations.
  </adm:synopsis>
  <adm:description>
    Indexing is performed on a per-attribute level and different types
    of indexing may be performed for different kinds of attributes, based
    on how they are expected to be accessed during search operations.
  </adm:description>
  <adm:tag name="database" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-local-db-index</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property name="attribute" mandatory="true" read-only="true">
    <adm:synopsis>
      Specifies the name of the attribute for which the index is to
      be maintained.
    </adm:synopsis>
    <adm:syntax>
      <adm:attribute-type />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-attribute</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="index-entry-limit">
    <adm:synopsis>
      Specifies the maximum number of entries that are allowed
      to match a given index key before that particular index key is no
      longer maintained.
    </adm:synopsis>
    <adm:description>
      This is analogous to the ALL IDs threshold in the Sun Java System
      Directory Server. If this is specified, its value overrides the JE
      backend-wide configuration. For no limit, use 0 for the value.
    </adm:description>
    <adm:requires-admin-action>
      <adm:other>
        <adm:synopsis>
          If any index keys have already reached this limit, indexes
          must be rebuilt before they will be allowed to use the
          new limit.
        </adm:synopsis>
      </adm:other>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:inherited>
        <adm:relative property-name="index-entry-limit" offset="1"
          managed-object-name="local-db-backend" />
      </adm:inherited>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" upper-limit="2147483647">
        <adm:unit-synopsis>Number of entries</adm:unit-synopsis>
      </adm:integer>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-index-entry-limit</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="index-type" mandatory="true"
    multi-valued="true">
    <adm:synopsis>
      Specifies the type(s) of indexing that should be performed
      for the associated attribute.
    </adm:synopsis>
    <adm:description>
      For equality, presence, and substring index types, the associated
      attribute type must have a corresponding matching rule.
    </adm:description>
    <adm:requires-admin-action>
      <adm:other>
        <adm:synopsis>
          If any new index types are added for an attribute, and
          values for that attribute already exist in the
          database, the index must be rebuilt before it
          will be accurate.
        </adm:synopsis>
      </adm:other>
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="equality">
          <adm:synopsis>
            This index type is used to improve the efficiency
            of searches using equality search filters.
          </adm:synopsis>
        </adm:value>
        <adm:value name="ordering">
          <adm:synopsis>
            This index type is used to improve the efficiency
            of searches using "greater than or equal to" or "less then
            or equal to" search filters.
          </adm:synopsis>
        </adm:value>
        <adm:value name="presence">
          <adm:synopsis>
            This index type is used to improve the efficiency
            of searches using the presence search filters.
          </adm:synopsis>
        </adm:value>
        <adm:value name="substring">
          <adm:synopsis>
            This index type is used to improve the efficiency
            of searches using substring search filters.
          </adm:synopsis>
        </adm:value>
        <adm:value name="approximate">
          <adm:synopsis>
            This index type is used to improve the efficiency
            of searches using approximate matching search filters.
          </adm:synopsis>
        </adm:value>
        <adm:value name="extensible">
         <adm:synopsis>
            This index type is used to improve the efficiency
            of searches using extensible matching search filters.
         </adm:synopsis>
      </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-index-type</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="substring-length" advanced="true">
    <adm:synopsis>
      The length of substrings in a substring index.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:other>
        <adm:synopsis>
          The index must be rebuilt before it will reflect the
          new value.
        </adm:synopsis>
      </adm:other>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>6</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="3" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-substring-length</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="index-extensible-matching-rule" multi-valued="true">
    <adm:synopsis>
      The extensible matching rule in an extensible index.
    </adm:synopsis>
    <adm:description>
      An extensible matching rule must be specified using either LOCALE or OID of the matching rule.
    </adm:description>
    <adm:requires-admin-action>
      <adm:other>
        <adm:synopsis>
          The index must be rebuilt before it will reflect the
          new value.
        </adm:synopsis>
      </adm:other>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          No extensible matching rules will be indexed.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
 <adm:syntax>
     <adm:string>
       <adm:pattern>
          <adm:regex>([a-z][a-z](-[A-Z][A-Z]){0,2}(.(([a-z]{2,3})|\\d))?)|(^\\d.((\\d)+.)+\\d$)</adm:regex>
          <adm:usage>LOCALE | OID</adm:usage>
          <adm:synopsis>
            A Locale or an OID.
          </adm:synopsis>
        </adm:pattern>
       </adm:string>
   </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-index-extensible-matching-rule</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LocalDBVLVIndexConfiguration.xml
New file
@@ -0,0 +1,232 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="local-db-vlv-index"
  plural-name="local-db-vlv-indexes"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    are used to store information about a specific search request that
    makes it possible to efficiently process them using the VLV control.
  </adm:synopsis>
  <adm:description>
    A VLV index effectively notifies the server that a virtual list
    view, with specific query and sort parameters, will be performed.
    This index also allows the server to collect and maintain the
    information required to make using the virtual list view faster.
  </adm:description>
  <adm:tag name="database" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-local-db-vlv-index</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property name="base-dn" mandatory="true">
    <adm:synopsis>
      Specifies the base DN used in the search query that is being
      indexed.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:other>
        <adm:synopsis>
          The index must be rebuilt after modifying this
          property.
        </adm:synopsis>
      </adm:other>
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:dn />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-base-dn</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="scope" mandatory="true">
    <adm:synopsis>
      Specifies the LDAP scope of the query that is being indexed.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:other>
        <adm:synopsis>
          The index must be rebuilt after modifying this
          property.
        </adm:synopsis>
      </adm:other>
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="base-object">
          <adm:synopsis>Search the base object only.</adm:synopsis>
        </adm:value>
        <adm:value name="single-level">
          <adm:synopsis>
            Search the immediate children of the base object but do not
            include any of their descendants or the base object itself.
          </adm:synopsis>
        </adm:value>
        <adm:value name="subordinate-subtree">
          <adm:synopsis>
            Search the entire subtree below the base object but do not
            include the base object itself.
          </adm:synopsis>
        </adm:value>
        <adm:value name="whole-subtree">
          <adm:synopsis>
            Search the base object and the entire subtree below the base
            object.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-scope</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="filter" mandatory="true">
    <adm:synopsis>
      Specifies the LDAP filter used in the query that is being indexed.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:other>
        <adm:synopsis>
          The index must be rebuilt after modifying this
          property.
        </adm:synopsis>
      </adm:other>
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
        <adm:regex>.*</adm:regex>
        <adm:usage>STRING</adm:usage>
          <adm:synopsis>
            A valid LDAP search filter.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-filter</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="sort-order" mandatory="true">
    <adm:synopsis>
      Specifies the names of the attributes that are used to sort the
      entries for the query being indexed.
    </adm:synopsis>
    <adm:description>
      Multiple attributes can be used to determine the sort order by
      listing the attribute names from highest to lowest precedence.
      Optionally, + or - can be prefixed to the attribute name to sort
      the attribute in ascending order or descending order respectively.
    </adm:description>
    <adm:requires-admin-action>
      <adm:other>
        <adm:synopsis>
          The index must be rebuilt after modifying this
          property.
        </adm:synopsis>
      </adm:other>
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:string>
        <adm:pattern>
        <adm:regex>.*</adm:regex>
        <adm:usage>STRING</adm:usage>
          <adm:synopsis>
            Valid attribute types defined in the schema, separated by a
            space and optionally prefixed by + or -.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-sort-order</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="name" mandatory="true" read-only="true">
    <adm:synopsis>
      Specifies a unique name for this VLV index.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          The VLV index name cannot be altered after the index is created.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-name</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="max-block-size" read-only="true"
    advanced="true">
    <adm:synopsis>
      Specifies the number of entry IDs to store in a single sorted
      set before it must be split.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          The blocks are resized lazily the next time the index is
          modified.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>4000</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer>
        <adm:unit-synopsis>Number of entry IDs</adm:unit-synopsis>
      </adm:integer>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-max-block-size</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LogPublisherConfiguration.xml
New file
@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions copyright 2013 ForgeRock AS
  ! -->
<adm:managed-object name="log-publisher" plural-name="log-publishers"
  package="org.forgerock.opendj.admin" abstract="true"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    are responsible for distributing log messages from different loggers
    to a destination.
  </adm:synopsis>
  <adm:tag name="logging" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-log-publisher</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      is enabled for use.
    </adm:synopsis>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      The fully-qualified name of the Java class that provides the
      <adm:user-friendly-name />
      implementation.
    </adm:synopsis>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>
          org.opends.server.api.LogPublisher
        </adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LogRetentionPolicyConfiguration.xml
New file
@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="log-retention-policy"
  plural-name="log-retention-policies"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    are used to specify when log files should be cleaned.
  </adm:synopsis>
  <adm:tag name="logging" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-log-retention-policy</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      Specifies the fully-qualified name of the Java class that provides the
      <adm:user-friendly-name />
      implementation.
    </adm:synopsis>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>
          org.opends.server.loggers.RetentionPolicy
        </adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/LogRotationPolicyConfiguration.xml
New file
@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="log-rotation-policy"
  plural-name="log-rotation-policies"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    are used to specify when log files should be rotated.
  </adm:synopsis>
  <adm:tag name="logging" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-log-rotation-policy</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      Specifies the fully-qualified name of the Java class that provides the
      <adm:user-friendly-name />
      implementation.
    </adm:synopsis>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>
          org.opends.server.loggers.RotationPolicy
        </adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/MD5PasswordStorageSchemeConfiguration.xml
New file
@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="md5-password-storage-scheme"
  plural-name="md5-password-storage-schemes"
  package="org.forgerock.opendj.admin"
  extends="password-storage-scheme"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides a mechanism for encoding user passwords using an unsalted
    form of the MD5 message digest algorithm. Because the implementation
    does not use any kind of salting mechanism, a given password always
    has the same encoded form.
  </adm:synopsis>
  <adm:description>
    This scheme contains only an implementation for the user password
    syntax, with a storage scheme name of "MD5". Although the MD5 digest
    algorithm is relatively secure, recent cryptanalysis work has
    identified mechanisms for generating MD5 collisions. This does not
    impact the security of this algorithm as it is used in <adm:product-name />,
    but it is recommended that the MD5 password storage scheme only be used if
    client applications require it for compatibility purposes, and that a
    stronger digest like SSHA or SSHA256 be used for environments in which
    MD5 support is not required.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-md5-password-storage-scheme</ldap:name>
      <ldap:superior>ds-cfg-password-storage-scheme</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.MD5PasswordStorageScheme
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/MatchingRuleConfiguration.xml
New file
@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="matching-rule" plural-name="matching-rules"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    define a set of rules for performing matching operations against
    assertion values.
  </adm:synopsis>
  <adm:description>
    Matching rules are frequently associated with an attribute syntax
    and are used to compare values according to that syntax. For example,
    the distinguishedNameEqualityMatch matching rule can be used to
    determine whether two DNs are equal and can ignore unnecessary spaces
    around commas and equal signs, differences in capitalization in
    attribute names, an so on.
  </adm:description>
  <adm:tag name="core-server" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-matching-rule</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      is enabled for use.
    </adm:synopsis>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      Specifies the fully-qualified name of the Java class that provides the
      <adm:user-friendly-name />
      implementation.
    </adm:synopsis>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>
          org.opends.server.api.MatchingRuleFactory
        </adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/MemberVirtualAttributeConfiguration.xml
New file
@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="member-virtual-attribute"
  plural-name="user-defined-virtual-attributes"
  package="org.forgerock.opendj.admin" extends="virtual-attribute"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    generates a member or uniqueMember attribute whose values are
    the DNs of the members of a specified virtual static group.
  </adm:synopsis>
  <adm:description>
    This component is used to implement virtual static group
    functionality, in which it is possible to create an entry
    that looks like a static group but obtains all of its
    membership from a dynamic group (or some other type of
    group, including another static group).
    This implementation is most efficient when attempting to
    determine whether a given user is a member of a group
    (for example, with a filter like
    "(uniqueMember=uid=john.doe,ou=People,dc=example,dc=com)")
    when the search does not actually return the membership
    attribute. Although it works to generate the entire set of
    values for the member or uniqueMember attribute, this can be
    an expensive operation for a large group.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-member-virtual-attribute</ldap:name>
      <ldap:superior>ds-cfg-virtual-attribute</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.MemberVirtualAttributeProvider
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="conflict-behavior">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>virtual-overrides-real</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="allow-retrieving-membership" mandatory="true">
    <adm:synopsis>
      Indicates whether to handle requests that request all values for
      the virtual attribute.
    </adm:synopsis>
    <adm:description>
      This operation can be very expensive in some cases and is not
      consistent with the primary function of virtual static groups, which
      is to make it possible to use static group idioms to determine
      whether a given user is a member.
      If this attribute is set to false, attempts to retrieve the entire
      set of values receive an empty set, and only attempts to determine
      whether the attribute has a specific value or set of values
      (which is the primary anticipated use for virtual static groups)
      are handled properly.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-allow-retrieving-membership</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/MemoryBackendConfiguration.xml
New file
@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="memory-backend" plural-name="memory-backends"
  package="org.forgerock.opendj.admin" extends="backend"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides a directory server backend
    implementation that stores entries in memory.
  </adm:synopsis>
  <adm:description>
    There is no persistence of any kind, and the backend contents are
    cleared whenever the backend is brought online or offline and when
    the server is restarted.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-memory-backend</ldap:name>
      <ldap:superior>ds-cfg-backend</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>org.opends.server.backends.MemoryBackend</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="writability-mode">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>enabled</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/MemoryUsageMonitorProviderConfiguration.xml
New file
@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="memory-usage-monitor-provider"
  plural-name="memory-usage-monitor-providers"
  package="org.forgerock.opendj.admin" extends="monitor-provider"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    can be used to publish information about memory consumption and
    garbage collection activity in the JVM.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-memory-usage-monitor-provider</ldap:name>
      <ldap:superior>ds-cfg-monitor-provider</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.monitors.MemoryUsageMonitorProvider
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/MonitorBackendConfiguration.xml
New file
@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="monitor-backend"
  plural-name="monitor-backends" package="org.forgerock.opendj.admin"
  extends="backend" advanced="true"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    allows clients to access the information made
    available by directory server monitor providers.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-monitor-backend</ldap:name>
      <ldap:superior>ds-cfg-backend</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>org.opends.server.backends.MonitorBackend</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="writability-mode">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>disabled</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/MonitorProviderConfiguration.xml
New file
@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="monitor-provider"
  plural-name="monitor-providers" package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    can be used to provide information about the state of the server or
    one of its components.
  </adm:synopsis>
  <adm:description>
    This information is useful for monitoring or troubleshooting.
  </adm:description>
  <adm:tag name="core-server" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-monitor-provider</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      is enabled for use.
    </adm:synopsis>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      Specifies the fully-qualified name of the Java class that provides the
      <adm:user-friendly-name />
      implementation.
    </adm:synopsis>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>
          org.opends.server.api.MonitorProvider
        </adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/NetworkGroupConfiguration.xml
New file
@@ -0,0 +1,301 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2009 Sun Microsystems, Inc.
  !      Portions copyright 2013 ForgeRock AS.
  ! -->
<adm:managed-object name="network-group"
  plural-name="network-groups"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name/>
    is used to classify incoming client connections and route requests to
    workflows.
  </adm:synopsis>
  <adm:tag name="core-server"/>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-network-group</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:relation name="network-group-qos-policy"
                managed-object-name="qos-policy"
                hidden="true">
    <adm:synopsis>
      Specifies the set of quality of service (QoS) policies enforced by
      the
      <adm:user-friendly-name/>
      .
    </adm:synopsis>
    <adm:description>
      All client connections belonging to the
      <adm:user-friendly-name/>
      will comply with its policies.
    </adm:description>
    <adm:one-to-many unique="true"
      plural-name="network-group-qos-policies"/>
    <adm:profile name="ldap">
      <ldap:rdn-sequence>cn=QoS Policies</ldap:rdn-sequence>
    </adm:profile>
  </adm:relation>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name/>
      is enabled for use in the server.
    </adm:synopsis>
    <adm:description>
      If a
      <adm:user-friendly-name/>
      is not enabled then its workflows will not be accessible when
      processing operations.
    </adm:description>
    <adm:syntax>
      <adm:boolean/>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="priority" mandatory="true">
    <adm:synopsis>
      Specifies the priority for this <adm:user-friendly-name/>.
    </adm:synopsis>
    <adm:description>
      A client connection is first compared against the
      <adm:user-friendly-name/>
      with the lowest priority. If the client connection does not match
      its connection criteria, then the client connection is compared against
      the
      <adm:user-friendly-name/>
      with next lowest priority, and so on. If no
      <adm:user-friendly-name/>
      is selected then the client connection is rejected.
    </adm:description>
    <adm:syntax>
      <adm:integer lower-limit="0"/>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-priority</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="workflow" multi-valued="true">
    <adm:synopsis>
      Specifies a set of workflows which should be accessible from this
      <adm:user-friendly-name/>
      .
    </adm:synopsis>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>No workflows will be accessible.</adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation relation-name="workflow"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced workflows must be enabled.
          </adm:synopsis>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true"/>
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-workflow</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="allowed-auth-method" multi-valued="true">
    <adm:synopsis>
      Specifies a set of allowed authorization methods that clients
      must use in order to establish connections to this
      <adm:user-friendly-name/>.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately and do not
          interfere with connections that may have already been
          established.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          All authorization methods are allowed.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="anonymous">
          <adm:synopsis>
            Unauthorized clients.
          </adm:synopsis>
        </adm:value>
        <adm:value name="simple">
          <adm:synopsis>
            Clients who bind using simple authentication (name and password).
          </adm:synopsis>
        </adm:value>
        <adm:value name="sasl">
          <adm:synopsis>
            Clients who bind using SASL/external certificate based
            authentication.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-allowed-auth-method</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="allowed-protocol" multi-valued="true">
    <adm:synopsis>
      Specifies a set of allowed supported protocols that clients
      must use in order to establish connections to this
      <adm:user-friendly-name/>.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately and do not
          interfere with connections that may have already been
          established.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          All supported protocols are allowed.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="ldap">
          <adm:synopsis>
            Clients using LDAP are allowed.
          </adm:synopsis>
        </adm:value>
        <adm:value name="ldaps">
          <adm:synopsis>
            Clients using LDAPS are allowed.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-allowed-protocol</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="allowed-bind-dn" multi-valued="true">
    <adm:synopsis>
      Specifies a set of bind DN patterns that determine the
      clients that are allowed to establish connections to this
      <adm:user-friendly-name/>.
    </adm:synopsis>
    <adm:description>
      Valid bind DN filters are strings composed of zero or more
      wildcards. A double wildcard ** replaces one or more RDN
      components (as in uid=dmiller,**,dc=example,dc=com). A simple
      wildcard * replaces either a whole RDN, or a whole type, or a
      value substring (as in uid=bj*,ou=people,dc=example,dc=com).
    </adm:description>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately and do not
          interfere with connections that may have already been
          established.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          All bind DNs are allowed.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-allowed-bind-dn</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property-reference name="allowed-client" />
  <adm:property-reference name="denied-client" />
  <adm:property name="is-security-mandatory">
    <adm:synopsis>
      Specifies whether or not a secured client connection
      is required in order for clients to establish connections
      to this <adm:user-friendly-name/>.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately and do not
          interfere with connections that may have already been
          established.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-is-security-mandatory</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/NetworkGroupPluginConfiguration.xml
New file
@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2009 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="network-group-plugin"
  plural-name="network-group-plugins" package="org.forgerock.opendj.admin"
  extends="plugin" xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  hidden="true">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    allows to group connections into different network groups and
    enforce specific resource limit policies for each network group.
  </adm:synopsis>
  <adm:description>
    The
    <adm:user-friendly-name />
    creates network groups based on client connection criteria. Each network
    group defines resource limit policies applied to all its connections.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-network-group-plugin</ldap:name>
      <ldap:superior>ds-cfg-plugin</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.core.networkgroups.NetworkGroupPlugin
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="plugin-type" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>postconnect</adm:value>
        <adm:value>preparseadd</adm:value>
        <adm:value>preparsebind</adm:value>
        <adm:value>preparsecompare</adm:value>
        <adm:value>preparsedelete</adm:value>
        <adm:value>preparseextended</adm:value>
        <adm:value>preparsemodify</adm:value>
        <adm:value>preparsemodifydn</adm:value>
        <adm:value>preparsesearch</adm:value>
        <adm:value>preparseunbind</adm:value>
        <adm:value>postresponsebind</adm:value>
        <adm:value>postresponseextended</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/NullBackendConfiguration.xml
New file
@@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2009 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="null-backend" plural-name="null-backends"
  package="org.forgerock.opendj.admin" advanced="true" extends="backend"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name/>
    provides a directory server backend that implements a /dev/null like
    behavior for development and testing.
  </adm:synopsis>
  <adm:description>
    The
    <adm:user-friendly-name/>
    behaves as follows: all search operations return success but no
    data; all write operations do nothing; bind operations fail with
    invalid credentials; compare operations are only possible on
    objectClass and return true for top, nullBackendObject, and
    extensibleObject. In addition controls are supported although this
    implementation does not provide any specific emulation for controls.
    Generally known request controls are accepted and default response
    controls returned where applicable. Searches within a
    <adm:user-friendly-name/>
    are always considered indexed.
    <adm:user-friendly-plural-name/>
    are for development and testing only.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-null-backend</ldap:name>
      <ldap:superior>ds-cfg-backend</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>org.opends.server.backends.NullBackend</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="writability-mode">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>enabled</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/NumSubordinatesVirtualAttributeConfiguration.xml
New file
@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="num-subordinates-virtual-attribute"
  plural-name="num-subordinates-virtual-attributes"
  package="org.forgerock.opendj.admin" extends="virtual-attribute"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    generates a virtual attribute that specifies the
    number of immediate child entries that exist below the entry.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-num-subordinates-virtual-attribute</ldap:name>
      <ldap:superior>ds-cfg-virtual-attribute</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.NumSubordinatesVirtualAttributeProvider
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="conflict-behavior" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>virtual-overrides-real</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="attribute-type">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>numSubordinates</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PBKDF2PasswordStorageSchemeConfiguration.xml
New file
@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2013 ForgeRock AS.
  ! -->
<adm:managed-object name="pbkdf2-password-storage-scheme"
  plural-name="pbkdf2-password-storage-schemes"
  package="org.forgerock.opendj.admin"
  extends="password-storage-scheme"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides a mechanism for encoding user passwords using the
    PBKDF2 message digest algorithm.
  </adm:synopsis>
  <adm:description>
    This scheme contains an implementation for the user password syntax,
    with a storage scheme name of "PBKDF2".
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-pbkdf2-password-storage-scheme</ldap:name>
      <ldap:superior>ds-cfg-password-storage-scheme</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.PBKDF2PasswordStorageScheme
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="pbkdf2-iterations" advanced="false">
    <adm:synopsis>
      The number of algorithm iterations to make. NIST recommends
      at least 1000.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>10000</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="1" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-pbkdf2-iterations</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PKCS11KeyManagerProviderConfiguration.xml
New file
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2013 ForgeRock AS
  ! -->
<adm:managed-object name="pkcs11-key-manager-provider"
  plural-name="pkcs11-key-manager-providers"
  package="org.forgerock.opendj.admin" extends="key-manager-provider"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    enables the server to access the private
    key information through the PKCS11 interface.
  </adm:synopsis>
  <adm:description>
    This standard interface is used by cryptographic accelerators and
    hardware security modules.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-pkcs11-key-manager-provider</ldap:name>
      <ldap:superior>ds-cfg-key-manager-provider</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.PKCS11KeyManagerProvider
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-reference name="key-store-pin" />
  <adm:property-reference name="key-store-pin-property" />
  <adm:property-reference name="key-store-pin-environment-variable" />
  <adm:property-reference name="key-store-pin-file" />
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/Package.xml
New file
@@ -0,0 +1,578 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2009 Sun Microsystems, Inc.
  !      Portions Copyright 2011-2013 ForgeRock AS
  ! -->
<adm:package name="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    Core <adm:product-name /> directory server administrative components.
  </adm:synopsis>
  <adm:property name="listen-port" mandatory="true">
    <adm:synopsis>
      Specifies the port number on which the
      <adm:user-friendly-name />
      will listen for connections from clients.
    </adm:synopsis>
    <adm:description>
      Only a single port number may be provided.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:integer lower-limit="1" upper-limit="65535" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-listen-port</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="use-ssl">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      should use SSL.
    </adm:synopsis>
    <adm:description>
      If enabled, the
      <adm:user-friendly-name />
      will use SSL to encrypt communication with the clients.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-use-ssl</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="ssl-cert-nickname">
    <adm:TODO>Need a better default description.</adm:TODO>
    <adm:synopsis>
      Specifies the nickname (also called the alias) of the certificate
      that the
      <adm:user-friendly-name />
      should use when performing SSL communication.
    </adm:synopsis>
    <adm:description>
      This is only applicable when the
      <adm:user-friendly-name />
      is configured to use SSL.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>Let the server decide.</adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:string></adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-ssl-cert-nickname</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="key-store-pin">
    <adm:synopsis>
      Specifies the clear-text PIN needed to access the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property will take effect the next time that
          the
          <adm:user-friendly-name />
          is accessed.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-key-store-pin</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="key-store-pin-property">
    <adm:TODO>Better syntax for property name?</adm:TODO>
    <adm:synopsis>
      Specifies the name of the Java property that contains the
      clear-text PIN needed to access the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property will take effect the next time that
          the
          <adm:user-friendly-name />
          is accessed.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
     <adm:string>
        <adm:pattern>
         <adm:regex>.*</adm:regex>
         <adm:usage>STRING</adm:usage>
          <adm:synopsis>
            The name of a defined Java property.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-key-store-pin-property</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="key-store-pin-environment-variable">
    <adm:synopsis>
      Specifies the name of the environment variable that contains the
      clear-text PIN needed to access the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property will take effect the next time that
          the
          <adm:user-friendly-name />
          is accessed.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
     <adm:string>
        <adm:pattern>
         <adm:regex>.*</adm:regex>
         <adm:usage>STRING</adm:usage>
          <adm:synopsis>
            The name of a defined environment variable that contains the
            clear-text PIN required to access the contents of the key store.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-key-store-pin-environment-variable</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="key-store-pin-file">
    <adm:TODO>Should use a file-based property definition?</adm:TODO>
    <adm:synopsis>
      Specifies the path to the text file whose only contents should be
      a single line containing the clear-text PIN needed to access the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property will take effect the next time that
          the
          <adm:user-friendly-name />
          is accessed.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
     <adm:string>
        <adm:pattern>
         <adm:regex>.*</adm:regex>
         <adm:usage>FILE</adm:usage>
          <adm:synopsis>
            A path to an existing file that is readable by the server.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-key-store-pin-file</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="trust-store-pin">
    <adm:synopsis>
      Specifies the clear-text PIN needed to access the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property will take effect the next time that
          the
          <adm:user-friendly-name />
          is accessed.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-trust-store-pin</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="trust-store-pin-property">
    <adm:TODO>Better syntax for property name?</adm:TODO>
    <adm:synopsis>
      Specifies the name of the Java property that contains the
      clear-text PIN needed to access the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property will take effect the next time that
          the
          <adm:user-friendly-name />
          is accessed.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-trust-store-pin-property</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="trust-store-pin-environment-variable">
    <adm:synopsis>
      Specifies the name of the environment variable that contains the
      clear-text PIN needed to access the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property will take effect the next time that
          the
          <adm:user-friendly-name />
          is accessed.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>
          ds-cfg-trust-store-pin-environment-variable
        </ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="trust-store-pin-file">
    <adm:TODO>Should use a file-based property definition?</adm:TODO>
    <adm:synopsis>
      Specifies the path to the text file whose only contents should be
      a single line containing the clear-text PIN needed to access the
      <adm:user-friendly-name />
      .
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property will take effect the next time that
          the
          <adm:user-friendly-name />
          is accessed.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-trust-store-pin-file</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="include-filter" multi-valued="true">
    <adm:synopsis>
      The set of filters that define the entries that should be included
      in the cache.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-include-filter</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="exclude-filter" multi-valued="true">
    <adm:synopsis>
      The set of filters that define the entries that should be excluded
      from the cache.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:string />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-exclude-filter</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="allowed-client" multi-valued="true">
    <adm:synopsis>
      Specifies a set of host names or address masks that determine the
      clients that are allowed to establish connections to this
      <adm:user-friendly-name/>.
    </adm:synopsis>
    <adm:description>
      Valid values include a host name, a fully qualified domain name, a
      domain name, an IP address, or a subnetwork with subnetwork mask.
    </adm:description>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately and do not
          interfere with connections that may have already been
          established.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          All clients with addresses that do not match an address on the
          deny list are allowed. If there is no deny list, then all
          clients are allowed.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:ip-address-mask />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-allowed-client</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="denied-client" multi-valued="true">
    <adm:synopsis>
      Specifies a set of host names or address masks that determine
      the clients that are not allowed to establish connections to this
      <adm:user-friendly-name/>.
    </adm:synopsis>
    <adm:description>
      Valid values include a host name, a fully qualified domain name, a
      domain name, an IP address, or a subnetwork with subnetwork mask.
      If both allowed and denied client masks are defined and a client
      connection matches one or more masks in both lists, then the
      connection is denied. If only a denied list is specified,
      then any client not matching a mask in that list is allowed.
    </adm:description>
    <adm:requires-admin-action>
      <adm:none>
        <adm:synopsis>
          Changes to this property take effect immediately and do not
          interfere with connections that may have already been
          established.
        </adm:synopsis>
      </adm:none>
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          If an allow list is specified, then only clients with
          addresses on the allow list are allowed. Otherwise, all
          clients are allowed.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:ip-address-mask />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-denied-client</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="use-tcp-keep-alive" advanced="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      should use TCP keep-alive.
    </adm:synopsis>
    <adm:description>
      If enabled, the SO_KEEPALIVE socket option is used to indicate that TCP
      keepalive messages should periodically be sent to the client to
      verify that the associated connection is still valid. This may
      also help prevent cases in which intermediate network hardware
      could silently drop an otherwise idle client connection, provided
      that the keepalive interval configured in the underlying operating
      system is smaller than the timeout enforced by the network
      hardware.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-use-tcp-keep-alive</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="use-tcp-no-delay" advanced="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      should use TCP no-delay.
    </adm:synopsis>
    <adm:description>
      If enabled, the TCP_NODELAY socket option is used to ensure
      that response messages to the client are sent immediately rather
      than potentially waiting to determine whether additional response
      messages can be sent in the same packet. In most cases, using the
      TCP_NODELAY socket option provides better performance and
      lower response times, but disabling it may help for some cases in
      which the server sends a large number of entries to a client
      in response to a search request.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-use-tcp-no-delay</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="allow-tcp-reuse-address" advanced="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      should reuse socket descriptors.
    </adm:synopsis>
    <adm:description>
      If enabled, the SO_REUSEADDR socket option is used on the
      server listen socket to potentially allow the reuse of socket
      descriptors for clients in a TIME_WAIT state. This may help the
      server avoid temporarily running out of socket descriptors in
      cases in which a very large number of short-lived connections have
      been established from the same client system.
    </adm:description>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-allow-tcp-reuse-address</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:package>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ParallelWorkQueueConfiguration.xml
New file
@@ -0,0 +1,91 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2009 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="parallel-work-queue"
  plural-name="parallel-work-queues" extends="work-queue"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    is a type of work queue that uses a number of worker threads that
    watch a queue and pick up an operation to process whenever one
    becomes available.
  </adm:synopsis>
  <adm:description>
    The parallel work queue is a FIFO queue serviced by a fixed
    number of worker threads. This fixed number of threads can be
    changed on the fly, with the change taking effect as soon as
    it is made. This work queue implementation is unbound ie it
    does not block after reaching certain queue size and as such
    should only be used on a very well tuned server configuration
    to avoid potential out of memory errors.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-parallel-work-queue</ldap:name>
      <ldap:superior>ds-cfg-work-queue</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.ParallelWorkQueue
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="num-worker-threads">
    <adm:synopsis>
      Specifies the number of worker threads to be used for processing
      operations placed in the queue.
  </adm:synopsis>
  <adm:description>
      If the value is increased,
      the additional worker threads are created immediately. If the
      value is reduced, the appropriate number of threads are destroyed
      as operations complete processing.
    </adm:description>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          Let the server decide.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="1" upper-limit="2147483647" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-num-worker-threads</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PasswordExpirationTimeVirtualAttributeConfiguration.xml
New file
@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
  ! or http://forgerock.org/license/CDDLv1.0.html.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2012 profiq s.r.o.
  ! -->
<adm:managed-object name="password-expiration-time-virtual-attribute"
  plural-name="password-expiration-time-virtual-attribute"
  package="org.forgerock.opendj.admin" extends="virtual-attribute"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    generates a virtual attribute which shows the password expiration date.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>
        ds-cfg-password-expiration-time-virtual-attribute
      </ldap:name>
      <ldap:superior>ds-cfg-virtual-attribute</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.PasswordExpirationTimeVirtualAttributeProvider
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="conflict-behavior" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>virtual-overrides-real</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="attribute-type">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>ds-pwp-password-expiration-time</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PasswordGeneratorConfiguration.xml
New file
@@ -0,0 +1,91 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="password-generator"
  plural-name="password-generators"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    are used by the password modify extended operation to construct a
    new password for the user.
  </adm:synopsis>
  <adm:description>
      The server allows any number of password validators to be defined.
      This can impose any kinds of restrictions on the characteristics
      of valid passwords. Therefore, it is not feasible for the server
      to attempt to generate a password on its own that will meet all
      the requirements of all the validators. The password generator
      makes it possible to provide custom logic for creating a new password.
  </adm:description>
  <adm:tag name="user-management" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-password-generator</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      is enabled for use.
    </adm:synopsis>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      Specifies the fully-qualified name of the Java class that provides the
      <adm:user-friendly-name />
      implementation.
    </adm:synopsis>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>
          org.opends.server.api.PasswordGenerator
        </adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PasswordModifyExtendedOperationHandlerConfiguration.xml
New file
@@ -0,0 +1,97 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="password-modify-extended-operation-handler"
  plural-name="password-modify-extended-operation-handlers"
  package="org.forgerock.opendj.admin"
  extends="extended-operation-handler"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    allows end users to change their own passwords, or
    administrators to reset user passwords.
  </adm:synopsis>
  <adm:description>
    The password modify extended operation is defined in RFC 3062. It
    includes the ability for users to provide their current password for
    further confirmation of their identity when changing the password,
    and it also includes the ability to generate a new password if the
    user does not provide one.
  </adm:description>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>
        ds-cfg-password-modify-extended-operation-handler
      </ldap:name>
      <ldap:superior>ds-cfg-extended-operation-handler</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.PasswordModifyExtendedOperation
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="identity-mapper" mandatory="true">
    <adm:synopsis>
      Specifies the name of the identity mapper that should be used in
      conjunction with the password modify extended operation.
    </adm:synopsis>
    <adm:description>
      This property is used to identify a user based on an
      authorization ID in the 'u:' form. Changes to this property take effect immediately.
    </adm:description>
    <adm:syntax>
      <adm:aggregation relation-name="identity-mapper"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced identity mapper must be enabled when the
            <adm:user-friendly-name />
            is enabled.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-identity-mapper</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PasswordPolicyConfiguration.xml
New file
@@ -0,0 +1,942 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2009 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="password-policy"
  plural-name="password-policies"
  extends="authentication-policy"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    define a number of password management rules, as well as
    requirements for authentication processing.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-password-policy</ldap:name>
      <ldap:superior>ds-cfg-authentication-policy</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.core.PasswordPolicyFactory
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="password-attribute" mandatory="true">
    <adm:synopsis>
      Specifies the attribute type used to hold user passwords.
    </adm:synopsis>
    <adm:description>
      This attribute type must be defined in the server schema, and it
      must have either the user password or auth password syntax.
    </adm:description>
    <adm:syntax>
      <adm:attribute-type />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-password-attribute</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="default-password-storage-scheme" mandatory="true"
    multi-valued="true">
    <adm:synopsis>
      Specifies the names of the password storage schemes that are used
      to encode clear-text passwords for this password policy.
    </adm:synopsis>
    <adm:syntax>
      <adm:aggregation relation-name="password-storage-scheme"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced password storage schemes must be enabled.
          </adm:synopsis>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-default-password-storage-scheme</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="deprecated-password-storage-scheme"
    multi-valued="true">
    <adm:synopsis>
      Specifies the names of the password storage schemes that are
      considered deprecated for this password policy.
    </adm:synopsis>
    <adm:description>
      If a user with this password policy authenticates to the server
      and his/her password is encoded with a deprecated scheme, those
      values are removed and replaced with values encoded using the
      default password storage scheme(s).
    </adm:description>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation relation-name="password-storage-scheme"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced password storage schemes must be enabled.
          </adm:synopsis>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-deprecated-password-storage-scheme</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="password-validator" multi-valued="true">
    <adm:synopsis>
      Specifies the names of the password validators that are used
      with the associated password storage scheme.
    </adm:synopsis>
    <adm:description>
      The password validators are invoked when a user attempts to provide
      a new password, to determine whether the new password is acceptable.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation relation-name="password-validator"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced password validators must be enabled.
          </adm:synopsis>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-password-validator</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="account-status-notification-handler"
    multi-valued="true">
    <adm:synopsis>
      Specifies the names of the account status notification handlers
      that are used with the associated password storage scheme.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation
        relation-name="account-status-notification-handler"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced account status notification handlers must be
            enabled.
          </adm:synopsis>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>
          ds-cfg-account-status-notification-handler
        </ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="allow-user-password-changes">
    <adm:synopsis>
      Indicates whether users can change their own
      passwords.
    </adm:synopsis>
    <adm:description>
      This check is made in addition to access control evaluation.
      Both must allow the password change for it to occur.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>true</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-allow-user-password-changes</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="password-change-requires-current-password">
    <adm:synopsis>
      Indicates whether user password changes must use
      the password modify extended operation and must include the user's
      current password before the change is allowed.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>
          ds-cfg-password-change-requires-current-password
        </ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="force-change-on-add">
    <adm:synopsis>
      Indicates whether users are forced to change their passwords
      upon first authenticating to the directory server after their
      account has been created.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-force-change-on-add</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="force-change-on-reset">
    <adm:synopsis>
      Indicates whether users are forced to change their passwords
      if they are reset by an administrator.
    </adm:synopsis>
    <adm:description>
      For this purpose, anyone with permission to change a given user's
      password other than that user is considered an administrator.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-force-change-on-reset</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="skip-validation-for-administrators"
    advanced="true">
    <adm:synopsis>
      Indicates whether passwords set by administrators are allowed
      to bypass the password validation process that is required
      for user password changes.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-skip-validation-for-administrators</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="password-generator">
    <adm:synopsis>
      Specifies the name of the password generator that is used
      with the associated password policy.
    </adm:synopsis>
    <adm:description>
      This is used in conjunction with the password modify extended
      operation to generate a new password for a user when none was
      provided in the request.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation relation-name="password-generator"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced password generator must be enabled.
          </adm:synopsis>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-password-generator</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="require-secure-authentication">
    <adm:synopsis>
      Indicates whether users with the associated password policy are
      required to authenticate in a secure manner.
    </adm:synopsis>
    <adm:description>
      This might mean either using a secure communication channel
      between the client and the server, or using a SASL mechanism that
      does not expose the credentials.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-require-secure-authentication</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="require-secure-password-changes">
    <adm:synopsis>
      Indicates whether users with the associated password policy are
      required to change their password in a secure manner that does
      not expose the credentials.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-require-secure-password-changes</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="allow-multiple-password-values" advanced="true">
    <adm:synopsis>
      Indicates whether user entries can have multiple
      distinct values for the password attribute.
    </adm:synopsis>
    <adm:description>
      This is potentially dangerous because many mechanisms used to
      change the password do not work well with such a configuration. If
      multiple password values are allowed, then any of them can be used
      to authenticate, and they are all subject to the same policy
      constraints.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-allow-multiple-password-values</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="allow-pre-encoded-passwords" advanced="true">
    <adm:synopsis>
      Indicates whether users can change their passwords
      by providing a pre-encoded value.
    </adm:synopsis>
    <adm:description>
      This can cause a security risk because the clear-text version of
      the password is not known and therefore validation checks cannot
      be applied to it.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-allow-pre-encoded-passwords</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="min-password-age">
    <adm:synopsis>
      Specifies the minimum length of time after a
      password change before the user is allowed to change the
      password again.
    </adm:synopsis>
    <adm:description>
      The value of this attribute is an integer followed by a
      unit of seconds, minutes, hours, days, or weeks. This setting can
      be used to prevent users from changing their passwords repeatedly
      over a short period of time to flush an old password from the
      history so that it can be re-used.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0 seconds</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration lower-limit="0" upper-limit="2147483647" base-unit="s"/>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-min-password-age</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="max-password-age">
    <adm:synopsis>
      Specifies the maximum length of time that a user can continue
      using the same password before it must be changed (that is, the
      password expiration interval).
    </adm:synopsis>
    <adm:description>
      The value of this attribute is an integer followed by a
      unit of seconds, minutes, hours, days, or weeks. A value of 0
      seconds disables password expiration.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0 seconds</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration lower-limit="0" upper-limit="2147483647" base-unit="s"/>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-max-password-age</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="max-password-reset-age">
    <adm:synopsis>
      Specifies the maximum length of time that users have to change
      passwords after they have been reset by an administrator before
      they become locked.
    </adm:synopsis>
    <adm:description>
      The value of this attribute is an integer followed by a
      unit of seconds, minutes, hours, days, or weeks. A value of 0
      seconds disables this feature.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0 seconds</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration lower-limit="0" upper-limit="2147483647" base-unit="s"/>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-max-password-reset-age</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="password-expiration-warning-interval">
    <adm:synopsis>
      Specifies the maximum length of time before a user's password
      actually expires that the server begins to include warning
      notifications in bind responses for that user.
    </adm:synopsis>
    <adm:description>
      The value of this attribute is an integer followed by a
      unit of seconds, minutes, hours, days, or weeks. A value of 0
      seconds disables the warning interval.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>5 days</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>
          ds-cfg-password-expiration-warning-interval
        </ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="expire-passwords-without-warning">
    <adm:synopsis>
      Indicates whether the directory server allows a user's
      password to expire even if that user has never seen an expiration
      warning notification.
    </adm:synopsis>
    <adm:description>
      If this property is true, accounts always expire when the
      expiration time arrives. If this property is false or disabled, the user
      always receives at least one warning notification, and the
      password expiration is set to the warning time plus the
      warning interval.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-expire-passwords-without-warning</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="allow-expired-password-changes">
    <adm:synopsis>
      Indicates whether a user whose password is expired is still
      allowed to change that password using the password modify extended
      operation.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-allow-expired-password-changes</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="grace-login-count">
    <adm:synopsis>
      Specifies the number of grace logins that a user is allowed
      after the account has expired to allow that user to choose a new
      password.
    </adm:synopsis>
    <adm:description>
      A value of 0 indicates that no grace logins are allowed.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" upper-limit="2147483647" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-grace-login-count</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="lockout-failure-count">
    <adm:synopsis>
      Specifies the maximum number of authentication failures that a
      user is allowed before the account is locked out.
    </adm:synopsis>
    <adm:description>
      A value of 0 indicates that accounts are never locked out
      due to failed attempts.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" upper-limit="2147483647"/>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-lockout-failure-count</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="lockout-duration">
    <adm:synopsis>
      Specifies the length of time that an account is locked
      after too many authentication failures.
    </adm:synopsis>
    <adm:description>
      The value of this attribute is an integer followed by a
      unit of seconds, minutes, hours, days, or weeks. A value of 0
      seconds indicates that the account must remain locked until an
      administrator resets the password.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0 seconds</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration lower-limit="0" upper-limit="2147483647" base-unit="s"/>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-lockout-duration</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="lockout-failure-expiration-interval">
    <adm:synopsis>
      Specifies the length of time before an
      authentication failure is no longer counted against a user for the
      purposes of account lockout.
    </adm:synopsis>
    <adm:description>
      The value of this attribute is an integer followed by a
      unit of seconds, minutes, hours, days, or weeks. A value of 0
      seconds indicates that the authentication failures must never
      expire. The failure count is always cleared upon a successful
      authentication.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0 seconds</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration lower-limit="0" upper-limit="2147483647" base-unit="s"/>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>
          ds-cfg-lockout-failure-expiration-interval
        </ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="require-change-by-time">
    <adm:synopsis>
      Specifies the time by which all users with the associated password
      policy must change their passwords.
    </adm:synopsis>
    <adm:description>
      The value is expressed in a generalized time format. If
      this time is equal to the current time or is in the past, then all
      users are required to change their passwords immediately. The
      behavior of the server in this mode is identical to the
      behavior observed when users are forced to change their passwords
      after an administrative reset.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
     <adm:string>
       <adm:pattern>
        <adm:regex>.*</adm:regex>
        <adm:usage>STRING</adm:usage>
          <adm:synopsis>
            A valid timestamp in generalized time form (for example,
            a value of "20070409185811Z" indicates a value of April 9,
            2007 at 6:58:11 pm GMT).
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-require-change-by-time</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="last-login-time-attribute">
    <adm:synopsis>
      Specifies the name or OID of the attribute type that is
      used to hold the last login time for users with the associated
      password policy.
    </adm:synopsis>
    <adm:description>
      This attribute type must be defined in the directory server schema
      and must either be defined as an operational attribute or must be
      allowed by the set of objectClasses for all users with the
      associated password policy.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
    <adm:syntax>
      <adm:attribute-type />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-last-login-time-attribute</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="last-login-time-format">
    <adm:synopsis>
      Specifies the format string that is used to generate the
      last login time value for users with the associated password
      policy.
    </adm:synopsis>
    <adm:description>
      This format string conforms to the syntax described in the
      API documentation for the java.text.SimpleDateFormat class.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
   <adm:syntax>
     <adm:string>
       <adm:pattern>
        <adm:regex>.*</adm:regex>
        <adm:usage>STRING</adm:usage>
          <adm:synopsis>
            Any valid format string that can be used with the
            java.text.SimpleDateFormat class.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-last-login-time-format</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="previous-last-login-time-format"
    multi-valued="true">
    <adm:synopsis>
      Specifies the format string(s) that might have been used with the
      last login time at any point in the past for users associated with
      the password policy.
    </adm:synopsis>
    <adm:description>
      These values are used to make it possible to parse previous
      values, but are not used to set new values. The format
      strings conform to the syntax described in the API
      documentation for the java.text.SimpleDateFormat class.
    </adm:description>
    <adm:default-behavior>
      <adm:undefined />
    </adm:default-behavior>
   <adm:syntax>
     <adm:string>
       <adm:pattern>
        <adm:regex>.*</adm:regex>
        <adm:usage>STRING</adm:usage>
          <adm:synopsis>
            Any valid format string that can be used with the
            java.text.SimpleDateFormat class.
          </adm:synopsis>
        </adm:pattern>
      </adm:string>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-previous-last-login-time-format</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="idle-lockout-interval">
    <adm:synopsis>
      Specifies the maximum length of time that an account may remain
      idle (that is, the associated user does not authenticate to the
      server) before that user is locked out.
    </adm:synopsis>
    <adm:description>
      The value of this attribute is an integer followed by a
      unit of seconds, minutes, hours, days, or weeks. A value of 0
      seconds indicates that idle accounts are not automatically
      locked out. This feature is available only if the last login
      time is maintained.
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0 seconds</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration lower-limit="0" upper-limit="2147483647"/>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-idle-lockout-interval</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="state-update-failure-policy" advanced="true">
    <adm:synopsis>
      Specifies how the server deals with the inability to update
      password policy state information during an authentication
      attempt.
    </adm:synopsis>
    <adm:description>
      In particular, this property can be used to control whether an otherwise
      successful bind operation fails if a failure occurs while
      attempting to update password policy state information (for example, to
      clear a record of previous authentication failures or to update
      the last login time). It can also be used to control whether to
      reject a bind request if it is known ahead of time that it will not be
      possible to update the authentication failure times in the event of an
      unsuccessful bind attempt (for example, if the backend writability mode
      is disabled).
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>reactive</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:enumeration>
        <adm:value name="ignore">
          <adm:synopsis>
            If a bind attempt would otherwise be successful, then do not
            reject it if a problem occurs while attempting to update the
            password policy state information for the user.
          </adm:synopsis>
        </adm:value>
        <adm:value name="reactive">
          <adm:synopsis>
            Even if a bind attempt would otherwise be successful, reject
            it if a problem occurs while attempting to update the
            password policy state information for the user.
          </adm:synopsis>
        </adm:value>
        <adm:value name="proactive">
          <adm:synopsis>
            Proactively reject any bind attempt if it is known ahead of
            time that it would not be possible to update the user's
            password policy state information.
          </adm:synopsis>
        </adm:value>
      </adm:enumeration>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-state-update-failure-policy</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="password-history-count">
    <adm:synopsis>
      Specifies the maximum number of former passwords to maintain in
      the password history.
    </adm:synopsis>
    <adm:description>
      When choosing a new password, the proposed password is
      checked to ensure that it does not match the current password, nor
      any other password in the history list. A value of zero indicates
      that either no password history is to be maintained (if the
      password history duration has a value of zero seconds), or that
      there is no maximum number of passwords to maintain in the history
      (if the password history duration has a value greater than zero
      seconds).
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:integer lower-limit="0" upper-limit="2147483647" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-password-history-count</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="password-history-duration">
    <adm:synopsis>
      Specifies the maximum length of time that passwords remain
      in the password history.
    </adm:synopsis>
    <adm:description>
      When choosing a new password, the proposed password is
      checked to ensure that it does not match the current password, nor
      any other password in the history list. A value of zero seconds
      indicates that either no password history is to be maintained (if
      the password history count has a value of zero), or that there is
      no maximum duration for passwords in the history (if the password
      history count has a value greater than zero).
    </adm:description>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>0 seconds</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
      <adm:duration base-unit="s" lower-limit="0"
        upper-limit="2147483647" allow-unlimited="false" />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-password-history-duration</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PasswordPolicyImportPluginConfiguration.xml
New file
@@ -0,0 +1,159 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  !      Portions Copyright 2011 ForgeRock AS
  ! -->
<adm:managed-object name="password-policy-import-plugin"
  plural-name="password-policy-import-plugins"
  package="org.forgerock.opendj.admin" extends="plugin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    ensures that clear-text passwords contained in LDIF
    entries are properly encoded before they are stored in the
    appropriate directory server backend.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-password-policy-import-plugin</ldap:name>
      <ldap:superior>ds-cfg-plugin</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.plugins.PasswordPolicyImportPlugin
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="plugin-type" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>ldifimport</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="invoke-for-internal-operations">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>false</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="default-user-password-storage-scheme"
    multi-valued="true">
    <adm:synopsis>
      Specifies the names of the password storage schemes to be
      used for encoding passwords contained in attributes with the user
      password syntax for entries that do not include the
      ds-pwp-password-policy-dn attribute specifying which password
      policy is to be used to govern them.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          If the default password policy uses the attribute with the
          user password syntax, then the server uses the default
          password storage schemes for that password policy. Otherwise,
          it encodes user password values using the "SSHA" scheme.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation relation-name="password-storage-scheme"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced password storage schemes must be enabled when the
            <adm:user-friendly-name />
            is enabled.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>
          ds-cfg-default-user-password-storage-scheme
        </ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="default-auth-password-storage-scheme"
    multi-valued="true">
    <adm:synopsis>
      Specifies the names of password storage schemes that to be used
      for encoding passwords contained in attributes with the auth
      password syntax for entries that do not include the
      ds-pwp-password-policy-dn attribute specifying which password
      policy should be used to govern them.
    </adm:synopsis>
    <adm:default-behavior>
      <adm:alias>
        <adm:synopsis>
          If the default password policy uses an attribute with the auth
          password syntax, then the server uses the default password
          storage schemes for that password policy. Otherwise, it
          encodes auth password values using the "SHA1" scheme.
        </adm:synopsis>
      </adm:alias>
    </adm:default-behavior>
    <adm:syntax>
      <adm:aggregation relation-name="password-storage-scheme"
        parent-path="/">
        <adm:constraint>
          <adm:synopsis>
            The referenced password storage schemes must be enabled when
            the Password Policy Import plug-in is enabled.
          </adm:synopsis>
          <adm:target-needs-enabling-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-needs-enabling-condition>
          <adm:target-is-enabled-condition>
            <adm:contains property="enabled" value="true" />
          </adm:target-is-enabled-condition>
        </adm:constraint>
      </adm:aggregation>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>
          ds-cfg-default-auth-password-storage-scheme
        </ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PasswordPolicyStateExtendedOperationHandlerConfiguration.xml
New file
@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object
  name="password-policy-state-extended-operation-handler"
  plural-name="password-policy-state-extended-operation-handlers"
  package="org.forgerock.opendj.admin"
  extends="extended-operation-handler"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    provides the ability for administrators to request and optionally
    alter password policy state information for a specified user.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>
        ds-cfg-password-policy-state-extended-operation-handler
      </ldap:name>
      <ldap:superior>ds-cfg-extended-operation-handler</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.PasswordPolicyStateExtendedOperation
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PasswordPolicySubentryVirtualAttributeConfiguration.xml
New file
@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2010 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="password-policy-subentry-virtual-attribute"
  plural-name="password-policy-subentry-virtual-attributes"
  package="org.forgerock.opendj.admin" extends="virtual-attribute"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap">
  <adm:synopsis>
    The
    <adm:user-friendly-name />
    generates a virtual attribute that points to the Password Policy
    subentry in effect for the entry.
  </adm:synopsis>
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>
        ds-cfg-password-policy-subentry-virtual-attribute
      </ldap:name>
      <ldap:superior>ds-cfg-virtual-attribute</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:property-override name="java-class" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>
          org.opends.server.extensions.PasswordPolicySubentryVirtualAttributeProvider
        </adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="conflict-behavior" advanced="true">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>virtual-overrides-real</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property-override name="attribute-type">
    <adm:default-behavior>
      <adm:defined>
        <adm:value>pwdPolicySubentry</adm:value>
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PasswordStorageSchemeConfiguration.xml
New file
@@ -0,0 +1,89 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="password-storage-scheme"
  plural-name="password-storage-schemes"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    encode new passwords provided by users so that they are stored in an
    encoded manner. This makes it difficult or impossible for someone to
    determine the clear-text passwords from the encoded values.
  </adm:synopsis>
  <adm:description>
    <adm:user-friendly-plural-name />
    also determine whether a clear-text password provided by a client
    matches the encoded value stored in the server.
  </adm:description>
  <adm:tag name="user-management" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-password-storage-scheme</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the
      <adm:user-friendly-name />
      is enabled for use.
    </adm:synopsis>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      Specifies the fully-qualified name of the Java class that provides the
      <adm:user-friendly-name />
      implementation.
    </adm:synopsis>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>
          org.opends.server.api.PasswordStorageScheme
        </adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PasswordValidatorConfiguration.xml
New file
@@ -0,0 +1,96 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
  ! CDDL HEADER START
  !
  ! The contents of this file are subject to the terms of the
  ! Common Development and Distribution License, Version 1.0 only
  ! (the "License").  You may not use this file except in compliance
  ! with the License.
  !
  ! You can obtain a copy of the license at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! When distributing Covered Code, include this CDDL HEADER in each
  ! file and include the License file at
  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
  ! add the following below this CDDL HEADER, with the fields enclosed
  ! by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CDDL HEADER END
  !
  !
  !      Copyright 2007-2008 Sun Microsystems, Inc.
  ! -->
<adm:managed-object name="password-validator"
  plural-name="password-validators"
  package="org.forgerock.opendj.admin"
  xmlns:adm="http://www.opends.org/admin"
  xmlns:ldap="http://www.opends.org/admin-ldap"
  xmlns:cli="http://www.opends.org/admin-cli">
  <adm:synopsis>
    <adm:user-friendly-plural-name />
    are responsible for determining whether a proposed password is
    acceptable for use and could include checks like ensuring it
    meets minimum length requirements, that it has an appropriate
    range of characters, or that it is not in the history.
  </adm:synopsis>
  <adm:description>
    The password policy for a user specifies the set of password
    validators that should be used whenever that user provides a
    new password. In order to activate a password validator, the
    corresponding configuration entry must be enabled, and the DN
    of that entry should be included in the password-validator
    attribute of the password policy in which you want that
    validator active. All password validator configuration entries
    must contain the password-validator structural objectclass.
  </adm:description>
  <adm:tag name="user-management" />
  <adm:profile name="ldap">
    <ldap:object-class>
      <ldap:name>ds-cfg-password-validator</ldap:name>
      <ldap:superior>top</ldap:superior>
    </ldap:object-class>
  </adm:profile>
  <adm:profile name="cli">
    <cli:managed-object custom="true" />
  </adm:profile>
  <adm:property name="enabled" mandatory="true">
    <adm:synopsis>
      Indicates whether the
      password validator is enabled for use.
    </adm:synopsis>
    <adm:syntax>
      <adm:boolean />
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-enabled</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
  <adm:property name="java-class" mandatory="true">
    <adm:synopsis>
      Specifies the fully-qualified name of the Java class that provides the
      password validator implementation.
    </adm:synopsis>
    <adm:requires-admin-action>
      <adm:component-restart />
    </adm:requires-admin-action>
    <adm:syntax>
      <adm:java-class>
        <adm:instance-of>
          org.opends.server.api.PasswordValidator
        </adm:instance-of>
      </adm:java-class>
    </adm:syntax>
    <adm:profile name="ldap">
      <ldap:attribute>
        <ldap:name>ds-cfg-java-class</ldap:name>
      </ldap:attribute>
    </adm:profile>
  </adm:property>
</adm:managed-object>
Diff truncated after the above file
opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PlainSASLMechanismHandlerConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PluginConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/PluginRootConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ProfilerPluginConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/QOSPolicyConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/RC4PasswordStorageSchemeConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/RandomPasswordGeneratorConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ReferentialIntegrityPluginConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/RegularExpressionIdentityMapperConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/RepeatedCharactersPasswordValidatorConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ReplicationDomainConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ReplicationServerConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ReplicationSynchronizationProviderConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/RequestFilteringQOSPolicyConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/ResourceLimitsQOSPolicyConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/RootConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/RootDNConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/RootDNUserConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/RootDSEBackendConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SASLMechanismHandlerConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SHA1PasswordStorageSchemeConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SMTPAccountStatusNotificationHandlerConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SMTPAlertHandlerConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SNMPConnectionHandlerConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SaltedMD5PasswordStorageSchemeConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SaltedSHA1PasswordStorageSchemeConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SaltedSHA256PasswordStorageSchemeConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SaltedSHA384PasswordStorageSchemeConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SaltedSHA512PasswordStorageSchemeConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SambaPasswordPluginConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SchemaBackendConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SevenBitCleanPluginConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SimilarityBasedPasswordValidatorConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SizeLimitLogRetentionPolicyConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SizeLimitLogRotationPolicyConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SoftReferenceEntryCacheConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/StackTraceMonitorProviderConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/StartTLSExtendedOperationHandlerConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/StaticGroupImplementationConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/StructuralObjectClassVirtualAttributeConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SubjectAttributeToUserAttributeCertificateMapperConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SubjectDNToUserAttributeCertificateMapperConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SubjectEqualsDNCertificateMapperConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SubschemaSubentryVirtualAttributeConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SynchronizationProviderConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/SystemInfoMonitorProviderConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/TaskBackendConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/TelephoneNumberAttributeSyntaxConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/TimeLimitLogRotationPolicyConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/TraditionalWorkQueueConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/TripleDESPasswordStorageSchemeConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/TrustManagerProviderConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/TrustStoreBackendConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/UniqueAttributePluginConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/UniqueCharactersPasswordValidatorConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/UserDefinedVirtualAttributeConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/VersionMonitorProviderConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/VirtualAttributeConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/VirtualStaticGroupImplementationConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/WhoAmIExtendedOperationHandlerConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/WorkQueueConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/WorkflowConfiguration.xml opendj-admin/src/main/resources/definitions/org/forgerock/opendj/admin/WorkflowElementConfiguration.xml opendj-admin/src/main/resources/stylesheets/abbreviations.xsl opendj-admin/src/main/resources/stylesheets/admin-cli.xsd opendj-admin/src/main/resources/stylesheets/admin-ldap.xsd opendj-admin/src/main/resources/stylesheets/admin-preprocessor.xsd opendj-admin/src/main/resources/stylesheets/admin.xsd opendj-admin/src/main/resources/stylesheets/cliMOProfile.xsl opendj-admin/src/main/resources/stylesheets/clientMO.xsl opendj-admin/src/main/resources/stylesheets/conditions.xsl opendj-admin/src/main/resources/stylesheets/java-utilities.xsl opendj-admin/src/main/resources/stylesheets/ldapMOProfile.xsl opendj-admin/src/main/resources/stylesheets/manifestMO.xsl opendj-admin/src/main/resources/stylesheets/messagesMO.xsl opendj-admin/src/main/resources/stylesheets/metaMO.xsl opendj-admin/src/main/resources/stylesheets/package-info.xsl opendj-admin/src/main/resources/stylesheets/preprocessor.xsl opendj-admin/src/main/resources/stylesheets/property-types.xsl opendj-admin/src/main/resources/stylesheets/property-types/aci.xsl opendj-admin/src/main/resources/stylesheets/property-types/aggregation.xsl opendj-admin/src/main/resources/stylesheets/property-types/attribute-type.xsl opendj-admin/src/main/resources/stylesheets/property-types/boolean.xsl opendj-admin/src/main/resources/stylesheets/property-types/dn.xsl opendj-admin/src/main/resources/stylesheets/property-types/duration.xsl opendj-admin/src/main/resources/stylesheets/property-types/enumeration.xsl opendj-admin/src/main/resources/stylesheets/property-types/extensible-matching-rule-type.xsl opendj-admin/src/main/resources/stylesheets/property-types/integer.xsl opendj-admin/src/main/resources/stylesheets/property-types/ip-address-mask.xsl opendj-admin/src/main/resources/stylesheets/property-types/ip-address.xsl opendj-admin/src/main/resources/stylesheets/property-types/java-class.xsl opendj-admin/src/main/resources/stylesheets/property-types/oid.xsl opendj-admin/src/main/resources/stylesheets/property-types/password.xsl opendj-admin/src/main/resources/stylesheets/property-types/size.xsl opendj-admin/src/main/resources/stylesheets/property-types/string.xsl opendj-admin/src/main/resources/stylesheets/serverMO.xsl opendj-admin/src/main/resources/stylesheets/text-utilities.xsl opendj-admin/src/main/resources/stylesheets/xml.xsd