| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Copyright 2013 ForgeRock AS |
| | | * Portions Copyright 2013-2014 ForgeRock AS |
| | | * Portions Copyright 2014 ForgeRock AS |
| | | */ |
| | | package org.opends.server.protocols.http; |
| | |
| | | import org.glassfish.grizzly.ssl.SSLEngineConfigurator; |
| | | import org.glassfish.grizzly.strategies.SameThreadIOStrategy; |
| | | import org.glassfish.grizzly.utils.Charsets; |
| | | import org.opends.messages.Message; |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.opends.server.admin.server.ConfigurationChangeListener; |
| | | import org.opends.server.admin.std.server.ConnectionHandlerCfg; |
| | | import org.opends.server.admin.std.server.HTTPConnectionHandlerCfg; |
| | |
| | | { |
| | | // Create variables to include in the response. |
| | | boolean adminActionRequired = false; |
| | | List<Message> messages = new ArrayList<Message>(); |
| | | List<LocalizableMessage> messages = new ArrayList<LocalizableMessage>(); |
| | | |
| | | if (anyChangeRequiresRestart(config)) |
| | | { |
| | |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public void finalizeConnectionHandler(Message finalizeReason) |
| | | public void finalizeConnectionHandler(LocalizableMessage finalizeReason) |
| | | { |
| | | shutdownRequested = true; |
| | | // Unregister this as a change listener. |
| | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public boolean isConfigurationAcceptable(ConnectionHandlerCfg configuration, |
| | | List<Message> unacceptableReasons) |
| | | List<LocalizableMessage> unacceptableReasons) |
| | | { |
| | | HTTPConnectionHandlerCfg config = (HTTPConnectionHandlerCfg) configuration; |
| | | |
| | |
| | | { |
| | | // Attempt to bind to the listen port on all configured addresses to |
| | | // verify whether the connection handler will be able to start. |
| | | Message errorMessage = |
| | | LocalizableMessage errorMessage = |
| | | checkAnyListenAddressInUse(config.getListenAddress(), config |
| | | .getListenPort(), config.isAllowTCPReuseAddress(), config.dn()); |
| | | if (errorMessage != null) |
| | |
| | | * @return an error message if at least one of the address is already in use, |
| | | * null otherwise. |
| | | */ |
| | | private Message checkAnyListenAddressInUse( |
| | | private LocalizableMessage checkAnyListenAddressInUse( |
| | | Collection<InetAddress> listenAddresses, int listenPort, |
| | | boolean allowReuseAddress, DN configEntryDN) |
| | | { |
| | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public boolean isConfigurationChangeAcceptable( |
| | | HTTPConnectionHandlerCfg configuration, List<Message> unacceptableReasons) |
| | | HTTPConnectionHandlerCfg configuration, List<LocalizableMessage> unacceptableReasons) |
| | | { |
| | | return isConfigurationAcceptable(configuration, unacceptableReasons); |
| | | } |
| | |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public void processServerShutdown(Message reason) |
| | | public void processServerShutdown(LocalizableMessage reason) |
| | | { |
| | | shutdownRequested = true; |
| | | } |
| | |
| | | // encountered a failure. Rather than enter a potential |
| | | // infinite loop of failures, disable this acceptor and |
| | | // log an error. |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_CONNHANDLER_CONSECUTIVE_ACCEPT_FAILURES.get(friendlyName, |
| | | String.valueOf(currentConfig.dn()), |
| | | stackTraceToSingleLineString(e)); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | ResultCode resCode = DirectoryServer.getServerErrorResultCode(); |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_CONNHANDLER_SSL_CANNOT_INITIALIZE.get(getExceptionMessage(e)); |
| | | throw new DirectoryException(resCode, message, e); |
| | | } |