| | |
| | | import java.lang.management.ManagementFactory; |
| | | import java.net.InetAddress; |
| | | import java.text.DecimalFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.Collection; |
| | | import java.util.Collections; |
| | |
| | | } |
| | | try |
| | | { |
| | | directoryServer.coreConfigManager = new CoreConfigManager(directoryServer.serverContext); |
| | | directoryServer.coreConfigManager.initializeCoreConfig(); |
| | | } |
| | | catch (Exception e) |
| | |
| | | operatingSystem = OperatingSystem.forName(System.getProperty("os.name")); |
| | | serverContext = new DirectoryServerContext(); |
| | | virtualAttributeConfigManager = new VirtualAttributeConfigManager(serverContext); |
| | | coreConfigManager = new CoreConfigManager(serverContext); |
| | | memoryQuota = new MemoryQuota(); |
| | | diskSpaceMonitor = new DiskSpaceMonitor(); |
| | | } |
| | |
| | | virtualAttributeConfigManager.initializeVirtualAttributes(); |
| | | |
| | | // The core Directory Server configuration. |
| | | coreConfigManager = new CoreConfigManager(serverContext); |
| | | coreConfigManager.initializeCoreConfig(); |
| | | |
| | | initializeCryptoManager(); |
| | |
| | | */ |
| | | public static boolean mailServerConfigured() |
| | | { |
| | | return directoryServer.coreConfigManager != null && directoryServer.coreConfigManager.isMailServerConfigured(); |
| | | return getCoreConfigManager().isMailServerConfigured(); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public static List<Properties> getMailServerPropertySets() |
| | | { |
| | | return directoryServer.coreConfigManager != null ? |
| | | directoryServer.coreConfigManager.getMailServerPropertySets() : new ArrayList<Properties>(0); |
| | | return getCoreConfigManager().getMailServerPropertySets(); |
| | | } |
| | | |
| | | /** |
| | |
| | | // Ensure default policy is synchronized. |
| | | synchronized (directoryServer.authenticationPolicies) |
| | | { |
| | | if (directoryServer.coreConfigManager.getDefaultPasswordPolicyDN().equals(configEntryDN)) |
| | | if (getCoreConfigManager().getDefaultPasswordPolicyDN().equals(configEntryDN)) |
| | | { |
| | | // The correct policy type is enforced by the core config manager. |
| | | directoryServer.defaultPasswordPolicy = (PasswordPolicy) policy; |
| | |
| | | // Ensure default policy is synchronized. |
| | | synchronized (directoryServer.authenticationPolicies) |
| | | { |
| | | if (directoryServer.coreConfigManager.getDefaultPasswordPolicyDN().equals(configEntryDN)) |
| | | if (getCoreConfigManager().getDefaultPasswordPolicyDN().equals(configEntryDN)) |
| | | { |
| | | directoryServer.defaultPasswordPolicy = null; |
| | | } |
| | |
| | | */ |
| | | public static DN getDefaultPasswordPolicyDN() |
| | | { |
| | | synchronized (directoryServer.authenticationPolicies) |
| | | { |
| | | return directoryServer.coreConfigManager.getDefaultPasswordPolicyDN(); |
| | | } |
| | | return getCoreConfigManager().getDefaultPasswordPolicyDN(); |
| | | } |
| | | |
| | | /** |
| | |
| | | // Ensure default policy is synchronized. |
| | | synchronized (directoryServer.authenticationPolicies) |
| | | { |
| | | DN defaultPasswordPolicyDN = directoryServer.coreConfigManager.getDefaultPasswordPolicyDN(); |
| | | DN defaultPasswordPolicyDN = getCoreConfigManager().getDefaultPasswordPolicyDN(); |
| | | assert null != directoryServer.authenticationPolicies |
| | | .get(defaultPasswordPolicyDN) : |
| | | "Internal Error: no default password policy defined."; |
| | |
| | | */ |
| | | public static ResultCode getServerErrorResultCode() |
| | | { |
| | | return directoryServer.coreConfigManager != null ? |
| | | directoryServer.coreConfigManager.getServerErrorResultCode() : ResultCode.OTHER; |
| | | return getCoreConfigManager().getServerErrorResultCode(); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public static boolean addMissingRDNAttributes() |
| | | { |
| | | return directoryServer.coreConfigManager.isAddMissingRDNAttributes(); |
| | | return getCoreConfigManager().isAddMissingRDNAttributes(); |
| | | } |
| | | |
| | | /** |
| | |
| | | @Deprecated |
| | | public static boolean allowAttributeNameExceptions() |
| | | { |
| | | return directoryServer.coreConfigManager != null |
| | | && directoryServer.coreConfigManager.isAllowAttributeNameExceptions(); |
| | | return getCoreConfigManager().isAllowAttributeNameExceptions(); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public static boolean checkSchema() |
| | | { |
| | | return directoryServer.coreConfigManager.isCheckSchema(); |
| | | return getCoreConfigManager().isCheckSchema(); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public static AcceptRejectWarn getSingleStructuralObjectClassPolicy() |
| | | { |
| | | return directoryServer.coreConfigManager.getSingleStructuralObjectClassPolicy(); |
| | | return getCoreConfigManager().getSingleStructuralObjectClassPolicy(); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public static AcceptRejectWarn getSyntaxEnforcementPolicy() |
| | | { |
| | | return directoryServer.coreConfigManager != null ? |
| | | directoryServer.coreConfigManager.getSyntaxEnforcementPolicy() : AcceptRejectWarn.REJECT; |
| | | return getCoreConfigManager().getSyntaxEnforcementPolicy(); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public static boolean notifyAbandonedOperations() |
| | | { |
| | | return directoryServer.coreConfigManager.isNotifyAbandonedOperations(); |
| | | return getCoreConfigManager().isNotifyAbandonedOperations(); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public static IdentityMapper<?> getProxiedAuthorizationIdentityMapper() |
| | | { |
| | | DN dnMapper = directoryServer.coreConfigManager.getProxiedAuthorizationIdentityMapperDN(); |
| | | DN dnMapper = getCoreConfigManager().getProxiedAuthorizationIdentityMapperDN(); |
| | | return dnMapper != null ? directoryServer.identityMappers.get(dnMapper) : null; |
| | | } |
| | | |
| | |
| | | ClientConnection clientConnection = operation.getClientConnection(); |
| | | //Reject or accept the unauthenticated requests based on the configuration settings. |
| | | if (!clientConnection.getAuthenticationInfo().isAuthenticated() && |
| | | (directoryServer.coreConfigManager.isRejectUnauthenticatedRequests() || |
| | | (getCoreConfigManager().isRejectUnauthenticatedRequests() || |
| | | (directoryServer.lockdownMode && !isAllowedInLockDownMode))) |
| | | { |
| | | switch(operation.getOperationType()) |
| | |
| | | directoryServer.synchronizationProviders.remove(provider); |
| | | } |
| | | |
| | | public static CoreConfigManager getCoreConfigManager() |
| | | { |
| | | return directoryServer.coreConfigManager; |
| | | } |
| | | |
| | | /** |
| | | * Retrieves a set containing the names of the allowed tasks that may be |
| | | * invoked in the server. |
| | |
| | | */ |
| | | public static Set<String> getAllowedTasks() |
| | | { |
| | | return directoryServer.coreConfigManager != null ? |
| | | directoryServer.coreConfigManager.getAllowedTasks() : new HashSet<String>(0); |
| | | return getCoreConfigManager().getAllowedTasks(); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public static boolean isDisabled(Privilege privilege) |
| | | { |
| | | return directoryServer.coreConfigManager != null ? |
| | | directoryServer.coreConfigManager.getDisabledPrivileges().contains(privilege) : false; |
| | | return getCoreConfigManager().getDisabledPrivileges().contains(privilege); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public static boolean returnBindErrorMessages() |
| | | { |
| | | return directoryServer.coreConfigManager.isReturnBindErrorMessages(); |
| | | return getCoreConfigManager().isReturnBindErrorMessages(); |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | } |
| | | |
| | | final long maxAllowed = directoryServer.coreConfigManager.getMaxAllowedConnections(); |
| | | final long maxAllowed = getCoreConfigManager().getMaxAllowedConnections(); |
| | | if (0 < maxAllowed && maxAllowed <= directoryServer.currentConnections) |
| | | { |
| | | return -1; |
| | |
| | | */ |
| | | public static int getSizeLimit() |
| | | { |
| | | return directoryServer.coreConfigManager.getSizeLimit(); |
| | | return getCoreConfigManager().getSizeLimit(); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public static int getLookthroughLimit() |
| | | { |
| | | return directoryServer.coreConfigManager.getLookthroughLimit(); |
| | | return getCoreConfigManager().getLookthroughLimit(); |
| | | } |
| | | |
| | | /** |
| | |
| | | public static boolean allowNewPersistentSearch() |
| | | { |
| | | //-1 indicates that there is no limit. |
| | | int max = directoryServer.coreConfigManager.getMaxPSearches(); |
| | | int max = getCoreConfigManager().getMaxPSearches(); |
| | | return max == -1 || directoryServer.activePSearches.get() < max; |
| | | } |
| | | |
| | |
| | | */ |
| | | public static int getTimeLimit() |
| | | { |
| | | return directoryServer.coreConfigManager.getTimeLimit(); |
| | | return getCoreConfigManager().getTimeLimit(); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public static boolean getUseNanoTime() |
| | | { |
| | | return directoryServer.coreConfigManager.isUseNanoTime(); |
| | | return getCoreConfigManager().isUseNanoTime(); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public static WritabilityMode getWritabilityMode() |
| | | { |
| | | return directoryServer.coreConfigManager.getWritabilityMode(); |
| | | return getCoreConfigManager().getWritabilityMode(); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public static boolean bindWithDNRequiresPassword() |
| | | { |
| | | return directoryServer.coreConfigManager.isBindWithDNRequiresPassword(); |
| | | return getCoreConfigManager().isBindWithDNRequiresPassword(); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public static int getMaxInternalBufferSize() |
| | | { |
| | | return directoryServer.coreConfigManager.getMaxInternalBufferSize(); |
| | | return getCoreConfigManager().getMaxInternalBufferSize(); |
| | | } |
| | | |
| | | /** |