| | |
| | | import java.util.logging.Level; |
| | | import java.util.logging.Logger; |
| | | |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.forgerock.i18n.slf4j.LocalizedLogger; |
| | | |
| | | import javax.net.ssl.KeyManager; |
| | | import javax.net.ssl.SSLContext; |
| | | import javax.net.ssl.SSLEngine; |
| | |
| | | import org.glassfish.grizzly.ssl.SSLEngineConfigurator; |
| | | import org.glassfish.grizzly.strategies.SameThreadIOStrategy; |
| | | import org.glassfish.grizzly.utils.Charsets; |
| | | 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; |
| | |
| | | import org.opends.server.extensions.NullKeyManagerProvider; |
| | | import org.opends.server.extensions.NullTrustManagerProvider; |
| | | import org.opends.server.loggers.HTTPAccessLogger; |
| | | import org.opends.server.loggers.debug.DebugTracer; |
| | | import org.opends.server.monitors.ClientConnectionMonitorProvider; |
| | | import org.opends.server.types.*; |
| | | import org.opends.server.util.SelectableCertificateKeyManager; |
| | |
| | | import static org.opends.messages.ConfigMessages.*; |
| | | import static org.opends.messages.ProtocolMessages.*; |
| | | import static org.opends.server.loggers.ErrorLogger.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | | |
| | |
| | | { |
| | | |
| | | /** The tracer object for the debug logger. */ |
| | | private static final DebugTracer TRACER = getTracer(); |
| | | private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass(); |
| | | |
| | | /** Default friendly name for this connection handler. */ |
| | | private static final String DEFAULT_FRIENDLY_NAME = "HTTP Connection Handler"; |
| | |
| | | } |
| | | catch (DirectoryException e) |
| | | { |
| | | if (debugEnabled()) |
| | | { |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | logger.traceException(e); |
| | | messages.add(e.getMessageObject()); |
| | | return new ConfigChangeResult(e.getResultCode(), adminActionRequired, |
| | | messages); |
| | |
| | | } |
| | | catch (DirectoryException e) |
| | | { |
| | | if (debugEnabled()) |
| | | { |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | logger.traceException(e); |
| | | throw new InitializationException(e.getMessageObject()); |
| | | } |
| | | |
| | |
| | | } |
| | | catch (DirectoryException e) |
| | | { |
| | | if (debugEnabled()) |
| | | { |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | logger.traceException(e); |
| | | |
| | | unacceptableReasons.add(e.getMessageObject()); |
| | | return false; |
| | |
| | | } |
| | | catch (IOException e) |
| | | { |
| | | if (debugEnabled()) |
| | | { |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | logger.traceException(e); |
| | | return ERR_CONNHANDLER_CANNOT_BIND.get("HTTP", String |
| | | .valueOf(configEntryDN), a.getHostAddress(), listenPort, |
| | | getExceptionMessage(e)); |
| | |
| | | cleanUpHttpServer(); |
| | | |
| | | // error + alert about the horked config |
| | | if (debugEnabled()) |
| | | { |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | logger.traceException(e); |
| | | |
| | | logError(ERR_CONNHANDLER_CANNOT_ACCEPT_CONNECTION.get(friendlyName, |
| | | String.valueOf(currentConfig.dn()), getExceptionMessage(e))); |
| | |
| | | // register servlet as default servlet and also able to serve REST requests |
| | | createAndRegisterServlet("OpenDJ Rest2LDAP servlet", "", "/*"); |
| | | |
| | | TRACER.debugInfo("Starting HTTP server..."); |
| | | logger.trace("Starting HTTP server..."); |
| | | this.httpServer.start(); |
| | | TRACER.debugInfo("HTTP server started"); |
| | | logger.trace("HTTP server started"); |
| | | logError(NOTE_CONNHANDLER_STARTED_LISTENING.get(handlerName)); |
| | | } |
| | | |
| | |
| | | { |
| | | if (this.httpServer != null) |
| | | { |
| | | TRACER.debugInfo("Stopping HTTP server..."); |
| | | logger.trace("Stopping HTTP server..."); |
| | | this.httpServer.shutdownNow(); |
| | | cleanUpHttpServer(); |
| | | TRACER.debugInfo("HTTP server stopped"); |
| | | logger.trace("HTTP server stopped"); |
| | | logError(NOTE_CONNHANDLER_STOPPED_LISTENING.get(handlerName)); |
| | | } |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | if (debugEnabled()) |
| | | { |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | logger.traceException(e); |
| | | ResultCode resCode = DirectoryServer.getServerErrorResultCode(); |
| | | LocalizableMessage message = |
| | | ERR_CONNHANDLER_SSL_CANNOT_INITIALIZE.get(getExceptionMessage(e)); |