Upgrade embedded Jetty to 8.1.7.v20120910
Bug: issue 1619
Change-Id: Ica04d0c19306da9afcadf3919581632f7df93483
diff --git a/gerrit-launcher/src/main/java/com/google/gerrit/launcher/GerritLauncher.java b/gerrit-launcher/src/main/java/com/google/gerrit/launcher/GerritLauncher.java
index 9cca559..b3d1cd5 100644
--- a/gerrit-launcher/src/main/java/com/google/gerrit/launcher/GerritLauncher.java
+++ b/gerrit-launcher/src/main/java/com/google/gerrit/launcher/GerritLauncher.java
@@ -248,7 +248,7 @@
move(jars, "javax.inject-1.jar", extapi);
move(jars, "aopalliance-1.0.jar", extapi);
move(jars, "guice-servlet-", extapi);
- move(jars, "servlet-api-", extapi);
+ move(jars, "tomcat-servlet-api-", extapi);
ClassLoader parent = ClassLoader.getSystemClassLoader();
if (!extapi.isEmpty()) {
diff --git a/gerrit-pgm/pom.xml b/gerrit-pgm/pom.xml
index 5e25350..f73a2b0 100644
--- a/gerrit-pgm/pom.xml
+++ b/gerrit-pgm/pom.xml
@@ -65,6 +65,12 @@
<groupId>com.google.gerrit</groupId>
<artifactId>gerrit-server</artifactId>
<version>${project.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.tomcat</groupId>
+ <artifactId>servlet-api</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
@@ -92,7 +98,7 @@
<dependency>
<groupId>org.apache.tomcat</groupId>
- <artifactId>servlet-api</artifactId>
+ <artifactId>tomcat-servlet-api</artifactId>
</dependency>
<dependency>
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/http/jetty/JettyServer.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/http/jetty/JettyServer.java
index dded71b..3a7a874 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/http/jetty/JettyServer.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/http/jetty/JettyServer.java
@@ -42,10 +42,10 @@
import org.eclipse.jetty.server.ssl.SslSelectChannelConnector;
import org.eclipse.jetty.servlet.DefaultServlet;
import org.eclipse.jetty.servlet.FilterHolder;
-import org.eclipse.jetty.servlet.FilterMapping;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.util.resource.Resource;
+import org.eclipse.jetty.util.ssl.SslContextFactory;
import org.eclipse.jetty.util.thread.QueuedThreadPool;
import org.eclipse.jetty.util.thread.ThreadPool;
import org.eclipse.jgit.lib.Config;
@@ -60,6 +60,7 @@
import java.net.URISyntaxException;
import java.net.URL;
import java.util.ArrayList;
+import java.util.EnumSet;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.List;
@@ -67,6 +68,8 @@
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
+import javax.servlet.DispatcherType;
+
@Singleton
public class JettyServer {
static class Lifecycle implements LifecycleListener {
@@ -161,23 +164,23 @@
defaultPort = 80;
c = new SelectChannelConnector();
} else if ("https".equals(u.getScheme())) {
- final SslSelectChannelConnector ssl = new SslSelectChannelConnector();
+ SslContextFactory ssl = new SslContextFactory();
final File keystore = getFile(cfg, "sslkeystore", "etc/keystore");
String password = cfg.getString("httpd", null, "sslkeypassword");
if (password == null) {
password = "gerrit";
}
- ssl.setKeystore(keystore.getAbsolutePath());
- ssl.setTruststore(keystore.getAbsolutePath());
- ssl.setKeyPassword(password);
- ssl.setTrustPassword(password);
+ ssl.setKeyStorePath(keystore.getAbsolutePath());
+ ssl.setTrustStore(keystore.getAbsolutePath());
+ ssl.setKeyStorePassword(password);
+ ssl.setTrustStorePassword(password);
if (AuthType.CLIENT_SSL_CERT_LDAP.equals(authType)) {
ssl.setNeedClientAuth(true);
}
defaultPort = 443;
- c = ssl;
+ c = new SslSelectChannelConnector(ssl);
} else if ("proxy-http".equals(u.getScheme())) {
defaultPort = 8080;
@@ -336,7 +339,9 @@
// already have built.
//
GuiceFilter filter = env.webInjector.getInstance(GuiceFilter.class);
- app.addFilter(new FilterHolder(filter), "/*", FilterMapping.DEFAULT);
+ app.addFilter(new FilterHolder(filter), "/*", EnumSet.of(
+ DispatcherType.REQUEST,
+ DispatcherType.ASYNC));
app.addEventListener(new GuiceServletContextListener() {
@Override
protected Injector getInjector() {
diff --git a/gerrit-war/pom.xml b/gerrit-war/pom.xml
index ed473c6..3becf84 100644
--- a/gerrit-war/pom.xml
+++ b/gerrit-war/pom.xml
@@ -37,8 +37,7 @@
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>servlet-api</artifactId>
- <!-- compile, not provided. our embedded Jetty needs this -->
- <scope>compile</scope>
+ <scope>provided</scope>
</dependency>
<dependency>
diff --git a/pom.xml b/pom.xml
index da02e83..f79e1a6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -54,7 +54,7 @@
<bouncyCastleVersion>140</bouncyCastleVersion>
<slf4jVersion>1.6.1</slf4jVersion>
<guiceVersion>3.0</guiceVersion>
- <jettyVersion>7.2.1.v20101111</jettyVersion>
+ <jettyVersion>8.1.7.v20120910</jettyVersion>
<gwt.compileReport>false</gwt.compileReport>
@@ -786,8 +786,8 @@
<exclusions>
<exclusion>
<!-- use Apache javax.servlet not CDDL -->
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
+ <groupId>org.eclipse.jetty.orbit</groupId>
+ <artifactId>javax.servlet</artifactId>
</exclusion>
</exclusions>
</dependency>
@@ -805,6 +805,12 @@
</dependency>
<dependency>
+ <groupId>org.apache.tomcat</groupId>
+ <artifactId>tomcat-servlet-api</artifactId>
+ <version>7.0.32</version>
+ </dependency>
+
+ <dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-servlet</artifactId>
<version>${gwtVersion}</version>