Commit b9a9655a authored by dwd's avatar dwd

Merge pull request #28 from Flowdalic/jettyupdate

OF-709: Update Jetty from 7.4 to 9.1.5
parents 2a8763e6 5564cd1d
...@@ -16,16 +16,25 @@ dom4j.jar | 1.6.1 ...@@ -16,16 +16,25 @@ dom4j.jar | 1.6.1
concurrentlinkedhashmap-lru | concurrentlinkedhashmap-lru-1.0_jdk5 | Apache 2.0 concurrentlinkedhashmap-lru | concurrentlinkedhashmap-lru-1.0_jdk5 | Apache 2.0
dbutil.jar | Jive Code, no release version. | GPL dbutil.jar | Jive Code, no release version. | GPL
hsqldb.jar | 1.8.0.5 | BSD (http://hsqldb.org/web/hsqlLicense.html) hsqldb.jar | 1.8.0.5 | BSD (http://hsqldb.org/web/hsqlLicense.html)
jetty-continuation.jar | Jetty 7.5.4.v20111024 | Apache 2.0, Eclipse 1.0 jetty-continuation.jar | Jetty 9.1.5.v20140505 | Apache 2.0, Eclipse 1.0
jetty-http.jar | Jetty 7.5.4.v20111024 | Apache 2.0, Eclipse 1.0 jetty-http.jar | Jetty 9.1.5.v20140505 | Apache 2.0, Eclipse 1.0
jetty-io.jar | Jetty 7.5.4.v20111024 | Apache 2.0, Eclipse 1.0 jetty-io.jar | Jetty 9.1.5.v20140505 | Apache 2.0, Eclipse 1.0
jetty-security.jar | Jetty 7.5.4.v20111024 | Apache 2.0, Eclipse 1.0 jetty-security.jar | Jetty 9.1.5.v20140505 | Apache 2.0, Eclipse 1.0
jetty-server.jar | Jetty 7.5.4.v20111024 | Apache 2.0, Eclipse 1.0 jetty-server.jar | Jetty 9.1.5.v20140505 | Apache 2.0, Eclipse 1.0
jetty-servlet.jar | Jetty 7.5.4.v20111024 | Apache 2.0, Eclipse 1.0 jetty-servlet.jar | Jetty 9.1.5.v20140505 | Apache 2.0, Eclipse 1.0
jetty-util.jar | Jetty 7.5.4.v20111024 | Apache 2.0, Eclipse 1.0 jetty-util.jar | Jetty 9.1.5.v20140505 | Apache 2.0, Eclipse 1.0
jetty-webapp.jar | Jetty 7.5.4.v20111024 | Apache 2.0, Eclipse 1.0 jetty-webapp.jar | Jetty 9.1.5.v20140505 | Apache 2.0, Eclipse 1.0
jetty-websocket.jar | Jetty 7.5.4.v20111024 | Apache 2.0, Eclipse 1.0 jetty-websocket.jar | Jetty 9.1.5.v20140505 | Apache 2.0, Eclipse 1.0
jetty-xml.jar | Jetty 7.5.4.v20111024 | Apache 2.0, Eclipse 1.0 jetty-xml.jar | Jetty 9.1.5.v20140505 | Apache 2.0, Eclipse 1.0
spdy-client.jar | Jetty 9.1.5.v20140505 (see #3) | Apache 2.0, Eclipse 1.0
spdy-core.jar | Jetty 9.1.5.v20140505 | Apache 2.0, Eclipse 1.0
spdy-http.jar | Jetty 9.1.5.v20140505 | Apache 2.0, Eclipse 1.0
spdy-http-common.jar | Jetty 9.1.5.v20140505 | Apache 2.0, Eclipse 1.0
spdy-server.jar | Jetty 9.1.5.v20140505 | Apache 2.0, Eclipse 1.0
websocket-api.jar | Jetty 9.1.5.v20140505 | Apache 2.0, Eclipse 1.0
websocket-common.jar | Jetty 9.1.5.v20140505 | Apache 2.0, Eclipse 1.0
websocket-server.jar | Jetty 9.1.5.v20140505 | Apache 2.0, Eclipse 1.0
websocket-servlet.jar | Jetty 9.1.5.v20140505 | Apache 2.0, Eclipse 1.0
jasper-compiler.jar | Jetty 6.1.0 (5.5.15) | jasper-compiler.jar | Jetty 6.1.0 (5.5.15) |
jasper-runtime.jar | Jetty 6.1.0 (5.5.15) | jasper-runtime.jar | Jetty 6.1.0 (5.5.15) |
jaxen.jar | 1.1 beta 4 (from DOM4J 1.6.1) | Apache 1.1 jaxen.jar | 1.1 beta 4 (from DOM4J 1.6.1) | Apache 1.1
...@@ -64,7 +73,9 @@ xmltask.jar | 1.11 ...@@ -64,7 +73,9 @@ xmltask.jar | 1.11
xpp3.jar | XPP_3 1.1.4c | BSD (http://www.extreme.indiana.edu/viewcvs/~checkout~/XPP3/java/LICENSE.txt) xpp3.jar | XPP_3 1.1.4c | BSD (http://www.extreme.indiana.edu/viewcvs/~checkout~/XPP3/java/LICENSE.txt)
Notes Notes
----- -----
1) proxool - patched ProxyConnection to send log message in #registerClosedStatement to debug instead of warn 1) proxool - patched ProxyConnection to send log message in #registerClosedStatement to debug instead of warn
2) mina-filter-ssl - applied patch to resize buffers OF-496 DIRMINA-914. Source code used: https://git-wip-us.apache.org/repos/asf?p=mina.git;a=commit;h=dd6395befe672d7bdb210b28b1b81592a3dc5e64 2) mina-filter-ssl - applied patch to resize buffers OF-496 DIRMINA-914. Source code used: https://git-wip-us.apache.org/repos/asf?p=mina.git;a=commit;h=dd6395befe672d7bdb210b28b1b81592a3dc5e64
3) npn-boot-1.1.7.v20140316.jar added to dist folder
...@@ -33,4 +33,14 @@ ...@@ -33,4 +33,14 @@
<interface></interface> <interface></interface>
</network> </network>
--> -->
<!-- SPDY Protocol is npn.
(note: npn does not work with Java 8)
add -Xbootclasspath/p:/OPENFIRE_HOME/lib/npn-boot.jar to .vmoptions file -->
<!--
<spdy>
<protocol>npn</protocol>
</spdy>
-->
</jive> </jive>
...@@ -104,10 +104,8 @@ public class JMXManager { ...@@ -104,10 +104,8 @@ public class JMXManager {
} }
private void start() { private void start() {
setContainer(new MBeanContainer(ManagementFactory.getPlatformMBeanServer())); setContainer(new MBeanContainer(ManagementFactory.getPlatformMBeanServer()));
getContainer().addBean(org.eclipse.jetty.util.log.Log.getLog());
int jmxPort = JMXManager.getPort(); int jmxPort = JMXManager.getPort();
String jmxUrl = "/jndi/rmi://localhost:" + jmxPort + "/jmxrmi"; String jmxUrl = "/jndi/rmi://localhost:" + jmxPort + "/jmxrmi";
Map<String, Object> env = new HashMap<String, Object>(); Map<String, Object> env = new HashMap<String, Object>();
......
...@@ -33,20 +33,24 @@ import javax.management.remote.JMXPrincipal; ...@@ -33,20 +33,24 @@ import javax.management.remote.JMXPrincipal;
import javax.management.remote.JMXServiceURL; import javax.management.remote.JMXServiceURL;
import javax.security.auth.Subject; import javax.security.auth.Subject;
import org.eclipse.jetty.http.ssl.SslContextFactory;
import org.eclipse.jetty.jmx.ConnectorServer; import org.eclipse.jetty.jmx.ConnectorServer;
import org.eclipse.jetty.jmx.MBeanContainer; import org.eclipse.jetty.jmx.MBeanContainer;
import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.HttpConfiguration;
import org.eclipse.jetty.server.HttpConnectionFactory;
import org.eclipse.jetty.server.SecureRequestCustomizer;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.server.SslConnectionFactory;
import org.eclipse.jetty.server.handler.ContextHandlerCollection; import org.eclipse.jetty.server.handler.ContextHandlerCollection;
import org.eclipse.jetty.server.handler.DefaultHandler; import org.eclipse.jetty.server.handler.DefaultHandler;
import org.eclipse.jetty.server.handler.HandlerCollection; import org.eclipse.jetty.server.handler.HandlerCollection;
import org.eclipse.jetty.server.nio.SelectChannelConnector;
import org.eclipse.jetty.server.ssl.SslSelectChannelConnector;
import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.util.thread.QueuedThreadPool; import org.eclipse.jetty.util.thread.QueuedThreadPool;
import org.eclipse.jetty.util.ssl.SslContextFactory;
import org.eclipse.jetty.webapp.WebAppContext; import org.eclipse.jetty.webapp.WebAppContext;
import org.eclipse.jetty.spdy.server.http.HTTPSPDYServerConnector;
import org.jivesoftware.openfire.JMXManager; import org.jivesoftware.openfire.JMXManager;
import org.jivesoftware.openfire.XMPPServer; import org.jivesoftware.openfire.XMPPServer;
import org.jivesoftware.openfire.admin.AdminManager; import org.jivesoftware.openfire.admin.AdminManager;
...@@ -108,27 +112,32 @@ public class AdminConsolePlugin implements Plugin { ...@@ -108,27 +112,32 @@ public class AdminConsolePlugin implements Plugin {
adminPort = JiveGlobals.getXMLProperty("adminConsole.port", 9090); adminPort = JiveGlobals.getXMLProperty("adminConsole.port", 9090);
adminSecurePort = JiveGlobals.getXMLProperty("adminConsole.securePort", 9091); adminSecurePort = JiveGlobals.getXMLProperty("adminConsole.securePort", 9091);
adminServer = new Server();
final QueuedThreadPool tp = new QueuedThreadPool(254);
tp.setName("Jetty-QTP-AdminConsole");
adminServer = new Server(tp);
if (JMXManager.isEnabled()) { if (JMXManager.isEnabled()) {
JMXManager jmx = JMXManager.getInstance(); JMXManager jmx = JMXManager.getInstance();
adminServer.getContainer().addEventListener(jmx.getContainer());
adminServer.addBean(jmx.getContainer()); adminServer.addBean(jmx.getContainer());
} }
final QueuedThreadPool tp = new QueuedThreadPool(254);
tp.setName("Jetty-QTP-AdminConsole"); ServerConnector httpConnector = null;
adminServer.setThreadPool(tp); ServerConnector httpsConnector = null;
HttpConfiguration httpConfig = null;
// Do not send Jetty info in HTTP headers
adminServer.setSendServerVersion(false);
// Create connector for http traffic if it's enabled. // Create connector for http traffic if it's enabled.
if (adminPort > 0) { if (adminPort > 0) {
Connector httpConnector = new SelectChannelConnector(); httpConfig = new HttpConfiguration();
// Do not send Jetty info in HTTP headers
httpConfig.setSendServerVersion( false );
httpConnector = new ServerConnector(adminServer, new HttpConnectionFactory(httpConfig));
// Listen on a specific network interface if it has been set. // Listen on a specific network interface if it has been set.
String bindInterface = getBindInterface(); String bindInterface = getBindInterface();
httpConnector.setHost(bindInterface); httpConnector.setHost(bindInterface);
httpConnector.setPort(adminPort); httpConnector.setPort(adminPort);
httpConnector.setStatsOn(JMXManager.isEnabled());
adminServer.addConnector(httpConnector); adminServer.addConnector(httpConnector);
} }
...@@ -141,21 +150,35 @@ public class AdminConsolePlugin implements Plugin { ...@@ -141,21 +150,35 @@ public class AdminConsolePlugin implements Plugin {
XMPPServer.getInstance().getServerInfo().getXMPPDomain())) { XMPPServer.getInstance().getServerInfo().getXMPPDomain())) {
Log.warn("Admin console: Using RSA certificates but they are not valid for the hosted domain"); Log.warn("Admin console: Using RSA certificates but they are not valid for the hosted domain");
} }
final SslContextFactory sslContextFactory = new SslContextFactory(SSLConfig.getKeystoreLocation()); final SslContextFactory sslContextFactory = new SslContextFactory();
sslContextFactory.setTrustStorePassword(SSLConfig.gets2sTrustPassword()); sslContextFactory.setTrustStorePassword(SSLConfig.gets2sTrustPassword());
sslContextFactory.setTrustStoreType(SSLConfig.getStoreType()); sslContextFactory.setTrustStoreType(SSLConfig.getStoreType());
sslContextFactory.setTrustStore(SSLConfig.gets2sTruststoreLocation()); sslContextFactory.setKeyStorePath(SSLConfig.getKeystoreLocation());
sslContextFactory.setNeedClientAuth(false); sslContextFactory.setNeedClientAuth(false);
sslContextFactory.setWantClientAuth(false); sslContextFactory.setWantClientAuth(false);
sslContextFactory.setKeyStorePassword(SSLConfig.getKeyPassword()); sslContextFactory.setKeyStorePassword(SSLConfig.getKeyPassword());
sslContextFactory.setKeyStoreType(SSLConfig.getStoreType()); sslContextFactory.setKeyStoreType(SSLConfig.getStoreType());
final SslSelectChannelConnector httpsConnector = new SslSelectChannelConnector(sslContextFactory); if ("npn".equals(JiveGlobals.getXMLProperty("spdy.protocol", "")))
{
httpsConnector = new HTTPSPDYServerConnector(adminServer, sslContextFactory);
} else {
HttpConfiguration httpsConfig = new HttpConfiguration(httpConfig);
httpsConfig.setSecureScheme("https");
httpsConfig.setSecurePort(adminSecurePort);
httpsConfig.addCustomizer(new SecureRequestCustomizer());
HttpConnectionFactory httpConnectionFactory = new HttpConnectionFactory(httpsConfig);
SslConnectionFactory sslConnectionFactory = new SslConnectionFactory(sslContextFactory, org.eclipse.jetty.http.HttpVersion.HTTP_1_1.toString());
httpsConnector = new ServerConnector(adminServer, sslConnectionFactory, httpConnectionFactory);
}
String bindInterface = getBindInterface(); String bindInterface = getBindInterface();
httpsConnector.setHost(bindInterface); httpsConnector.setHost(bindInterface);
httpsConnector.setPort(adminSecurePort); httpsConnector.setPort(adminSecurePort);
httpsConnector.setStatsOn(JMXManager.isEnabled());
adminServer.addConnector(httpsConnector); adminServer.addConnector(httpsConnector);
sslEnabled = true; sslEnabled = true;
...@@ -330,13 +353,19 @@ public class AdminConsolePlugin implements Plugin { ...@@ -330,13 +353,19 @@ public class AdminConsolePlugin implements Plugin {
getBindInterface(); getBindInterface();
boolean isPlainStarted = false; boolean isPlainStarted = false;
boolean isSecureStarted = false; boolean isSecureStarted = false;
boolean isSPDY = false;
for (Connector connector : adminServer.getConnectors()) { for (Connector connector : adminServer.getConnectors()) {
if (connector.getPort() == adminPort) { if (((ServerConnector) connector).getPort() == adminPort) {
isPlainStarted = true; isPlainStarted = true;
} }
else if (connector.getPort() == adminSecurePort) { else if (((ServerConnector) connector).getPort() == adminSecurePort) {
isSecureStarted = true; isSecureStarted = true;
} }
if (connector instanceof HTTPSPDYServerConnector) {
isSPDY = true;
}
} }
if (isPlainStarted && isSecureStarted) { if (isPlainStarted && isSecureStarted) {
...@@ -344,10 +373,10 @@ public class AdminConsolePlugin implements Plugin { ...@@ -344,10 +373,10 @@ public class AdminConsolePlugin implements Plugin {
" http://" + hostname + ":" + " http://" + hostname + ":" +
adminPort + System.getProperty("line.separator") + adminPort + System.getProperty("line.separator") +
" https://" + hostname + ":" + " https://" + hostname + ":" +
adminSecurePort); adminSecurePort + (isSPDY ? " (SPDY)" : ""));
} }
else if (isSecureStarted) { else if (isSecureStarted) {
log(listening + " https://" + hostname + ":" + adminSecurePort); log(listening + " https://" + hostname + ":" + adminSecurePort + (isSPDY ? " (SPDY)" : ""));
} }
else if (isPlainStarted) { else if (isPlainStarted) {
log(listening + " http://" + hostname + ":" + adminPort); log(listening + " http://" + hostname + ":" + adminPort);
......
...@@ -27,19 +27,24 @@ import java.util.HashMap; ...@@ -27,19 +27,24 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.eclipse.jetty.http.ssl.SslContextFactory;
import org.eclipse.jetty.server.AbstractConnector; import org.eclipse.jetty.server.AbstractConnector;
import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.HttpConfiguration;
import org.eclipse.jetty.server.HttpConnectionFactory;
import org.eclipse.jetty.server.SecureRequestCustomizer;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.server.SslConnectionFactory;
import org.eclipse.jetty.server.ForwardedRequestCustomizer;
import org.eclipse.jetty.server.handler.ContextHandlerCollection; import org.eclipse.jetty.server.handler.ContextHandlerCollection;
import org.eclipse.jetty.server.handler.DefaultHandler; import org.eclipse.jetty.server.handler.DefaultHandler;
import org.eclipse.jetty.server.handler.HandlerCollection; import org.eclipse.jetty.server.handler.HandlerCollection;
import org.eclipse.jetty.server.nio.SelectChannelConnector; import org.eclipse.jetty.spdy.server.http.HTTPSPDYServerConnector;
import org.eclipse.jetty.server.ssl.SslSelectChannelConnector;
import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder; import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.util.thread.QueuedThreadPool; import org.eclipse.jetty.util.thread.QueuedThreadPool;
import org.eclipse.jetty.util.ssl.SslContextFactory;
import org.eclipse.jetty.webapp.WebAppContext; import org.eclipse.jetty.webapp.WebAppContext;
import org.jivesoftware.openfire.JMXManager; import org.jivesoftware.openfire.JMXManager;
import org.jivesoftware.openfire.XMPPServer; import org.jivesoftware.openfire.XMPPServer;
...@@ -194,11 +199,13 @@ public final class HttpBindManager { ...@@ -194,11 +199,13 @@ public final class HttpBindManager {
private void createConnector(int port) { private void createConnector(int port) {
httpConnector = null; httpConnector = null;
if (port > 0) { if (port > 0) {
SelectChannelConnector connector = new SelectChannelConnector(); HttpConfiguration httpConfig = new HttpConfiguration();
configureProxiedConnector(httpConfig);
ServerConnector connector = new ServerConnector(httpBindServer, new HttpConnectionFactory(httpConfig));
// Listen on a specific network interface if it has been set. // Listen on a specific network interface if it has been set.
connector.setHost(getBindInterface()); connector.setHost(getBindInterface());
connector.setPort(port); connector.setPort(port);
configureProxiedConnector(connector);
httpConnector = connector; httpConnector = connector;
} }
} }
...@@ -213,10 +220,10 @@ public final class HttpBindManager { ...@@ -213,10 +220,10 @@ public final class HttpBindManager {
"the hosted domain"); "the hosted domain");
} }
final SslContextFactory sslContextFactory = new SslContextFactory(SSLConfig.getKeystoreLocation()); final SslContextFactory sslContextFactory = new SslContextFactory();
sslContextFactory.setTrustStorePassword(SSLConfig.getc2sTrustPassword()); sslContextFactory.setTrustStorePassword(SSLConfig.getc2sTrustPassword());
sslContextFactory.setTrustStoreType(SSLConfig.getStoreType()); sslContextFactory.setTrustStoreType(SSLConfig.getStoreType());
sslContextFactory.setTrustStore(SSLConfig.getc2sTruststoreLocation()); sslContextFactory.setKeyStorePath(SSLConfig.getKeystoreLocation());
sslContextFactory.setKeyStorePassword(SSLConfig.getKeyPassword()); sslContextFactory.setKeyStorePassword(SSLConfig.getKeyPassword());
sslContextFactory.setKeyStoreType(SSLConfig.getStoreType()); sslContextFactory.setKeyStoreType(SSLConfig.getStoreType());
...@@ -232,11 +239,25 @@ public final class HttpBindManager { ...@@ -232,11 +239,25 @@ public final class HttpBindManager {
sslContextFactory.setNeedClientAuth(false); sslContextFactory.setNeedClientAuth(false);
sslContextFactory.setWantClientAuth(false); sslContextFactory.setWantClientAuth(false);
} }
final SslSelectChannelConnector sslConnector = new SslSelectChannelConnector(sslContextFactory); HttpConfiguration httpsConfig = new HttpConfiguration();
httpsConfig.setSecureScheme("https");
httpsConfig.setSecurePort(securePort);
configureProxiedConnector(httpsConfig);
httpsConfig.addCustomizer(new SecureRequestCustomizer());
ServerConnector sslConnector = null;
if ("npn".equals(JiveGlobals.getXMLProperty("spdy.protocol", "")))
{
sslConnector = new HTTPSPDYServerConnector(httpBindServer, sslContextFactory);
} else {
sslConnector = new ServerConnector(httpBindServer, new SslConnectionFactory(sslContextFactory, "http/1.1"),
new HttpConnectionFactory(httpsConfig));
}
sslConnector.setHost(getBindInterface()); sslConnector.setHost(getBindInterface());
sslConnector.setPort(securePort); sslConnector.setPort(securePort);
configureProxiedConnector(sslConnector);
httpsConnector = sslConnector; httpsConnector = sslConnector;
} }
} }
...@@ -244,34 +265,35 @@ public final class HttpBindManager { ...@@ -244,34 +265,35 @@ public final class HttpBindManager {
Log.error("Error creating SSL connector for Http bind", e); Log.error("Error creating SSL connector for Http bind", e);
} }
} }
private void configureProxiedConnector(AbstractConnector connector) { private void configureProxiedConnector(HttpConfiguration httpConfig) {
// Check to see if we are deployed behind a proxy // Check to see if we are deployed behind a proxy
// Refer to http://docs.codehaus.org/display/JETTY/Configuring+Connectors // Refer to http://docs.codehaus.org/display/JETTY/Configuring+Connectors
if (isXFFEnabled()) { if (isXFFEnabled()) {
connector.setForwarded(true); ForwardedRequestCustomizer customizer = new ForwardedRequestCustomizer();
// default: "X-Forwarded-For" // default: "X-Forwarded-For"
String forwardedForHeader = getXFFHeader(); String forwardedForHeader = getXFFHeader();
if (forwardedForHeader != null) { if (forwardedForHeader != null) {
connector.setForwardedForHeader(forwardedForHeader); customizer.setForwardedForHeader(forwardedForHeader);
} }
// default: "X-Forwarded-Server" // default: "X-Forwarded-Server"
String forwardedServerHeader = getXFFServerHeader(); String forwardedServerHeader = getXFFServerHeader();
if (forwardedServerHeader != null) { if (forwardedServerHeader != null) {
connector.setForwardedServerHeader(forwardedServerHeader); customizer.setForwardedServerHeader(forwardedServerHeader);
} }
// default: "X-Forwarded-Host" // default: "X-Forwarded-Host"
String forwardedHostHeader = getXFFHostHeader(); String forwardedHostHeader = getXFFHostHeader();
if (forwardedHostHeader != null) { if (forwardedHostHeader != null) {
connector.setForwardedHostHeader(forwardedHostHeader); customizer.setForwardedHostHeader(forwardedHostHeader);
} }
// default: none // default: none
String hostName = getXFFHostName(); String hostName = getXFFHostName();
if (hostName != null) { if (hostName != null) {
connector.setHostHeader(hostName); customizer.setHostHeader(hostName);
} }
httpConfig.addCustomizer(customizer);
} }
connector.setStatsOn(JMXManager.isEnabled());
} }
private String getBindInterface() { private String getBindInterface() {
...@@ -491,17 +513,15 @@ public final class HttpBindManager { ...@@ -491,17 +513,15 @@ public final class HttpBindManager {
* @param securePort the port to start the TLS (secure) HTTP Bind service on. * @param securePort the port to start the TLS (secure) HTTP Bind service on.
*/ */
private synchronized void configureHttpBindServer(int port, int securePort) { private synchronized void configureHttpBindServer(int port, int securePort) {
httpBindServer = new Server(); final QueuedThreadPool tp = new QueuedThreadPool(JiveGlobals.getIntProperty(HTTP_BIND_THREADS, HTTP_BIND_THREADS_DEFAULT));
tp.setName("Jetty-QTP-BOSH");
httpBindServer = new Server(tp);
if (JMXManager.isEnabled()) { if (JMXManager.isEnabled()) {
JMXManager jmx = JMXManager.getInstance(); JMXManager jmx = JMXManager.getInstance();
httpBindServer.getContainer().addEventListener(jmx.getContainer());
httpBindServer.addBean(jmx.getContainer()); httpBindServer.addBean(jmx.getContainer());
} }
final QueuedThreadPool tp = new QueuedThreadPool(
JiveGlobals.getIntProperty(HTTP_BIND_THREADS, HTTP_BIND_THREADS_DEFAULT));
tp.setName("Jetty-QTP-BOSH");
httpBindServer.setThreadPool(tp);
createConnector(port); createConnector(port);
createSSLConnector(securePort); createSSLConnector(securePort);
if (httpConnector == null && httpsConnector == null) { if (httpConnector == null && httpsConnector == null) {
......
...@@ -22,7 +22,9 @@ package org.jivesoftware.openfire.http; ...@@ -22,7 +22,9 @@ package org.jivesoftware.openfire.http;
import org.jivesoftware.util.JiveConstants; import org.jivesoftware.util.JiveConstants;
import org.eclipse.jetty.continuation.Continuation; import org.eclipse.jetty.continuation.Continuation;
import org.eclipse.jetty.util.log.Log;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.security.cert.X509Certificate; import java.security.cert.X509Certificate;
...@@ -34,7 +36,8 @@ import java.security.cert.X509Certificate; ...@@ -34,7 +36,8 @@ import java.security.cert.X509Certificate;
* @author Alexander Wenckus * @author Alexander Wenckus
*/ */
public class HttpConnection { public class HttpConnection {
private static final Logger Log = LoggerFactory.getLogger(HttpConnection.class);
private static final String RESPONSE_BODY = "response-body"; private static final String RESPONSE_BODY = "response-body";
private static final String CONNECTION_CLOSED = "connection closed"; private static final String CONNECTION_CLOSED = "connection closed";
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Jappix - Forbidden</title> <title>Jitsi Videobridge - Forbidden</title>
</head> </head>
<body> <body>
......
...@@ -51,7 +51,7 @@ import org.eclipse.jetty.server.handler.ContextHandlerCollection; ...@@ -51,7 +51,7 @@ import org.eclipse.jetty.server.handler.ContextHandlerCollection;
import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder; import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.webapp.WebAppContext; import org.eclipse.jetty.webapp.WebAppContext;
import org.eclipse.jetty.http.security.*; import org.eclipse.jetty.util.security.*;
import org.eclipse.jetty.security.*; import org.eclipse.jetty.security.*;
import org.eclipse.jetty.security.authentication.*; import org.eclipse.jetty.security.authentication.*;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment