-
+
+
+
diff --git a/jetty-fcgi/fcgi-client/pom.xml b/jetty-fcgi/fcgi-client/pom.xml
index 66be03675e0d..1d91abc004f8 100644
--- a/jetty-fcgi/fcgi-client/pom.xml
+++ b/jetty-fcgi/fcgi-client/pom.xml
@@ -3,7 +3,7 @@
org.eclipse.jetty.fcgi
fcgi-parent
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
diff --git a/jetty-fcgi/fcgi-server/pom.xml b/jetty-fcgi/fcgi-server/pom.xml
index 6c4e19fa67f4..7d0bdab29463 100644
--- a/jetty-fcgi/fcgi-server/pom.xml
+++ b/jetty-fcgi/fcgi-server/pom.xml
@@ -3,7 +3,7 @@
org.eclipse.jetty.fcgi
fcgi-parent
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
diff --git a/jetty-fcgi/pom.xml b/jetty-fcgi/pom.xml
index a11798bbc434..5301060db5c2 100644
--- a/jetty-fcgi/pom.xml
+++ b/jetty-fcgi/pom.xml
@@ -3,7 +3,7 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
diff --git a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml
index 490c775a32fb..a49620011476 100644
--- a/jetty-gcloud/jetty-gcloud-session-manager/pom.xml
+++ b/jetty-gcloud/jetty-gcloud-session-manager/pom.xml
@@ -3,7 +3,7 @@
org.eclipse.jetty.gcloud
gcloud-parent
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
@@ -31,32 +31,6 @@
-
-
- io.grpc
- grpc-core
- compile
-
-
- com.google.auto.value
- auto-value
- 1.2
-
-
- com.google.protobuf
- protobuf-java
- 3.2.0
-
-
- com.google.http-client
- google-http-client-jackson2
- 1.21.0
-
-
- com.google.code.findbugs
- jsr305
- 3.0.0
-
org.eclipse.jetty
jetty-webapp
diff --git a/jetty-gcloud/pom.xml b/jetty-gcloud/pom.xml
index e4ce3146b4b3..406af262ae52 100644
--- a/jetty-gcloud/pom.xml
+++ b/jetty-gcloud/pom.xml
@@ -3,7 +3,7 @@
jetty-project
org.eclipse.jetty
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
@@ -13,7 +13,7 @@
Jetty :: GCloud
- 1.0.0
+ 1.105.0
diff --git a/jetty-hazelcast/pom.xml b/jetty-hazelcast/pom.xml
index 7c67b481b31a..d2b894d8b6f4 100644
--- a/jetty-hazelcast/pom.xml
+++ b/jetty-hazelcast/pom.xml
@@ -3,7 +3,7 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
diff --git a/jetty-home/pom.xml b/jetty-home/pom.xml
index 9bb98df7a701..3781a0583001 100644
--- a/jetty-home/pom.xml
+++ b/jetty-home/pom.xml
@@ -3,7 +3,7 @@
jetty-project
org.eclipse.jetty
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-home
diff --git a/jetty-http-spi/pom.xml b/jetty-http-spi/pom.xml
index db510b6af732..8dc9c80fd421 100644
--- a/jetty-http-spi/pom.xml
+++ b/jetty-http-spi/pom.xml
@@ -2,12 +2,11 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-http-spi
Jetty :: Http Service Provider Interface
- http://www.eclipse.org/jetty
${project.groupId}.http.spi
@@ -90,7 +89,7 @@
com.sun.xml.ws
jaxws-rt
- 2.3.0.2
+ 2.3.3
test
diff --git a/jetty-http/pom.xml b/jetty-http/pom.xml
index 1cac9851bda3..5721af22b7aa 100644
--- a/jetty-http/pom.xml
+++ b/jetty-http/pom.xml
@@ -3,12 +3,11 @@
jetty-project
org.eclipse.jetty
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-http
Jetty :: Http Utility
- http://www.eclipse.org/jetty
${project.groupId}.http
diff --git a/jetty-http2/http2-alpn-tests/pom.xml b/jetty-http2/http2-alpn-tests/pom.xml
index a75b7fdf322d..c7072e65f4da 100644
--- a/jetty-http2/http2-alpn-tests/pom.xml
+++ b/jetty-http2/http2-alpn-tests/pom.xml
@@ -3,7 +3,7 @@
org.eclipse.jetty.http2
http2-parent
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
diff --git a/jetty-http2/http2-client/pom.xml b/jetty-http2/http2-client/pom.xml
index dd2f98fe0321..bee654967107 100644
--- a/jetty-http2/http2-client/pom.xml
+++ b/jetty-http2/http2-client/pom.xml
@@ -3,7 +3,7 @@
org.eclipse.jetty.http2
http2-parent
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
diff --git a/jetty-http2/http2-common/pom.xml b/jetty-http2/http2-common/pom.xml
index 3cdccbabd7b4..8cb2fb6af3c4 100644
--- a/jetty-http2/http2-common/pom.xml
+++ b/jetty-http2/http2-common/pom.xml
@@ -3,7 +3,7 @@
org.eclipse.jetty.http2
http2-parent
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
diff --git a/jetty-http2/http2-hpack/pom.xml b/jetty-http2/http2-hpack/pom.xml
index 384f2b48df9f..b7cdd12e889a 100644
--- a/jetty-http2/http2-hpack/pom.xml
+++ b/jetty-http2/http2-hpack/pom.xml
@@ -3,7 +3,7 @@
org.eclipse.jetty.http2
http2-parent
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
diff --git a/jetty-http2/http2-http-client-transport/pom.xml b/jetty-http2/http2-http-client-transport/pom.xml
index dd5673916cc5..8ee2fe0a985e 100644
--- a/jetty-http2/http2-http-client-transport/pom.xml
+++ b/jetty-http2/http2-http-client-transport/pom.xml
@@ -3,7 +3,7 @@
org.eclipse.jetty.http2
http2-parent
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
diff --git a/jetty-http2/http2-server/pom.xml b/jetty-http2/http2-server/pom.xml
index ce608c0c6f24..edb874e50e58 100644
--- a/jetty-http2/http2-server/pom.xml
+++ b/jetty-http2/http2-server/pom.xml
@@ -3,7 +3,7 @@
org.eclipse.jetty.http2
http2-parent
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
diff --git a/jetty-http2/pom.xml b/jetty-http2/pom.xml
index b45d9ecad10c..7f2bcce37658 100644
--- a/jetty-http2/pom.xml
+++ b/jetty-http2/pom.xml
@@ -3,7 +3,7 @@
jetty-project
org.eclipse.jetty
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
diff --git a/jetty-infinispan/infinispan-common/pom.xml b/jetty-infinispan/infinispan-common/pom.xml
index 494aafcfdf91..026b4909d64a 100644
--- a/jetty-infinispan/infinispan-common/pom.xml
+++ b/jetty-infinispan/infinispan-common/pom.xml
@@ -2,12 +2,11 @@
org.eclipse.jetty
infinispan-parent
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
infinispan-common
Jetty :: Infinispan Session Manager Common
- http://www.eclipse.org/jetty
${project.groupId}.infinispan.common
diff --git a/jetty-infinispan/infinispan-embedded-query/pom.xml b/jetty-infinispan/infinispan-embedded-query/pom.xml
index 02f2ce7019f5..846dce0336cc 100644
--- a/jetty-infinispan/infinispan-embedded-query/pom.xml
+++ b/jetty-infinispan/infinispan-embedded-query/pom.xml
@@ -2,12 +2,11 @@
org.eclipse.jetty
infinispan-parent
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
infinispan-embedded-query
Jetty :: Infinispan Session Manager Embedded with Querying
- http://www.eclipse.org/jetty
${project.groupId}.infinispan.embedded.query
diff --git a/jetty-infinispan/infinispan-embedded/pom.xml b/jetty-infinispan/infinispan-embedded/pom.xml
index cac032e7070a..071350d2c1ea 100644
--- a/jetty-infinispan/infinispan-embedded/pom.xml
+++ b/jetty-infinispan/infinispan-embedded/pom.xml
@@ -2,13 +2,12 @@
org.eclipse.jetty
infinispan-parent
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
infinispan-embedded
pom
Jetty :: Infinispan Session Manager Embedded
- http://www.eclipse.org/jetty
${project.groupId}.infinispan.embedded
diff --git a/jetty-infinispan/infinispan-remote-query/pom.xml b/jetty-infinispan/infinispan-remote-query/pom.xml
index 0e2069dbc0de..35bce86e5b71 100644
--- a/jetty-infinispan/infinispan-remote-query/pom.xml
+++ b/jetty-infinispan/infinispan-remote-query/pom.xml
@@ -2,7 +2,7 @@
org.eclipse.jetty
infinispan-parent
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
infinispan-remote-query
diff --git a/jetty-infinispan/infinispan-remote/pom.xml b/jetty-infinispan/infinispan-remote/pom.xml
index e6d377d7e6ca..37421458877e 100644
--- a/jetty-infinispan/infinispan-remote/pom.xml
+++ b/jetty-infinispan/infinispan-remote/pom.xml
@@ -2,13 +2,12 @@
org.eclipse.jetty
infinispan-parent
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
infinispan-remote
pom
Jetty :: Infinispan Session Manager Remote
- http://www.eclipse.org/jetty
${project.groupId}.infinispan.remote
diff --git a/jetty-infinispan/pom.xml b/jetty-infinispan/pom.xml
index acdad92db75e..4c26ebd76c40 100644
--- a/jetty-infinispan/pom.xml
+++ b/jetty-infinispan/pom.xml
@@ -3,7 +3,7 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
diff --git a/jetty-io/pom.xml b/jetty-io/pom.xml
index 2ebb4fd4c885..b01efa5d3f5e 100644
--- a/jetty-io/pom.xml
+++ b/jetty-io/pom.xml
@@ -3,12 +3,11 @@
jetty-project
org.eclipse.jetty
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-io
Jetty :: IO Utility
- http://www.eclipse.org/jetty
${project.groupId}.io
diff --git a/jetty-jaas/pom.xml b/jetty-jaas/pom.xml
index 0b944eb48b02..1148a577e2a4 100644
--- a/jetty-jaas/pom.xml
+++ b/jetty-jaas/pom.xml
@@ -2,7 +2,7 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-jaas
diff --git a/jetty-jaspi/pom.xml b/jetty-jaspi/pom.xml
index 5ded7d5ad040..cef7eb8bd4ba 100644
--- a/jetty-jaspi/pom.xml
+++ b/jetty-jaspi/pom.xml
@@ -2,7 +2,7 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
@@ -62,13 +62,13 @@
javax.xml.bind
jaxb-api
- 2.3.0
+ 2.3.1
test
org.glassfish.jaxb
jaxb-runtime
- 2.3.0.1
+ 2.3.3
test
diff --git a/jetty-jmh/pom.xml b/jetty-jmh/pom.xml
index 5b185ad170fd..975e07f70679 100644
--- a/jetty-jmh/pom.xml
+++ b/jetty-jmh/pom.xml
@@ -2,7 +2,7 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
diff --git a/jetty-jmx/pom.xml b/jetty-jmx/pom.xml
index cff3a342b679..02475b6b5624 100644
--- a/jetty-jmx/pom.xml
+++ b/jetty-jmx/pom.xml
@@ -2,13 +2,12 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-jmx
Jetty :: JMX Management
JMX management artifact for jetty.
- http://www.eclipse.org/jetty
${project.groupId}.jmx
diff --git a/jetty-jndi/pom.xml b/jetty-jndi/pom.xml
index 4a063d93cf01..60a7bb86d90f 100644
--- a/jetty-jndi/pom.xml
+++ b/jetty-jndi/pom.xml
@@ -2,13 +2,12 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-jndi
Jetty :: JNDI Naming
JNDI spi impl for java namespace.
- http://www.eclipse.org/jetty
${project.groupId}.jndi
diff --git a/jetty-jspc-maven-plugin/pom.xml b/jetty-jspc-maven-plugin/pom.xml
index a5d5d6b0d8eb..ad7bda6987bd 100644
--- a/jetty-jspc-maven-plugin/pom.xml
+++ b/jetty-jspc-maven-plugin/pom.xml
@@ -3,7 +3,7 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-jspc-maven-plugin
diff --git a/jetty-maven-plugin/pom.xml b/jetty-maven-plugin/pom.xml
index 063457788c41..1c2591603166 100644
--- a/jetty-maven-plugin/pom.xml
+++ b/jetty-maven-plugin/pom.xml
@@ -2,7 +2,7 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-maven-plugin
@@ -231,6 +231,118 @@
${project.version}
test
zip
+
+
+
+ org.eclipse.jetty
+ jetty-alpn-conscrypt-server
+
+
+ org.eclipse.jetty
+ jetty-alpn-openjdk8-server
+
+
+ org.eclipse.jetty
+ jetty-alpn-server
+
+
+ org.eclipse.jetty
+ jetty-cdi
+
+
+ org.eclipse.jetty
+ jetty-continuation
+
+
+ org.eclipse.jetty.gcloud
+ jetty-gcloud-session-manager
+
+
+ org.eclipse.jetty
+ jetty-hazelcast
+
+
+ org.eclipse.jetty
+ jetty-jaas
+
+
+ org.eclipse.jetty
+ jetty-jaspi
+
+
+ org.eclipse.jetty.memcached
+ jetty-memcached-sessions
+
+
+ org.eclipse.jetty
+ jetty-openid
+
+
+ org.eclipse.jetty.fcgi
+ fcgi-server
+
+
+ org.eclipse.jetty
+ jetty-spring
+
+
+ org.eclipse.jetty
+ jetty-start
+
+
+ org.eclipse.jetty
+ jetty-nosql
+
+
+ org.eclipse.jetty
+ jetty-unixsocket
+
+
+ org.eclipse.jetty
+ jetty-infinispan
+
+
+ org.eclipse.jetty.http2
+ http2-server
+
+
+ org.eclipse.jetty
+ infinispan-embedded
+
+
+ org.eclipse.jetty
+ infinispan-embedded-query
+
+
+ org.eclipse.jetty
+ infinispan-remote
+
+
+ org.eclipse.jetty
+ infinispan-remote-query
+
+
+ org.eclipse.jetty.orbit
+ javax.mail.glassfish
+
+
+ org.eclipse.jetty.orbit
+ javax.security.auth.message
+
+
+ org.ow2.asm
+ asm-tree
+
+
+ org.ow2.asm
+ asm-analysis
+
+
+ org.jboss.logging
+ jboss-logging
+
+
diff --git a/jetty-maven-plugin/src/it/javax-annotation-api/postbuild.groovy b/jetty-maven-plugin/src/it/javax-annotation-api/postbuild.groovy
index 9533c9ecc2c4..9ac4dc4de7f9 100644
--- a/jetty-maven-plugin/src/it/javax-annotation-api/postbuild.groovy
+++ b/jetty-maven-plugin/src/it/javax-annotation-api/postbuild.groovy
@@ -1,21 +1,21 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( 'Started Jetty Server' )
-assert buildLog.text.contains( 'all good guys get a good Beer')
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+File buildLog = new File( basedir, 'build.log' )
+assert buildLog.text.contains( 'Started Jetty Server' )
+assert buildLog.text.contains( 'all good guys get a good Beer')
diff --git a/jetty-maven-plugin/src/it/jetty-deploy-war-mojo-it/postbuild.groovy b/jetty-maven-plugin/src/it/jetty-deploy-war-mojo-it/postbuild.groovy
index b5f4344c4a6c..6a4eba4ef4f2 100644
--- a/jetty-maven-plugin/src/it/jetty-deploy-war-mojo-it/postbuild.groovy
+++ b/jetty-maven-plugin/src/it/jetty-deploy-war-mojo-it/postbuild.groovy
@@ -1,22 +1,22 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( 'Started Jetty Server' )
-assert buildLog.text.contains( 'Running org.eclipse.jetty.maven.plugin.it.TestGetContent')
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+File buildLog = new File( basedir, 'build.log' )
+assert buildLog.text.contains( 'Started Jetty Server' )
+assert buildLog.text.contains( 'Running org.eclipse.jetty.maven.plugin.it.TestGetContent')
assert buildLog.text.contains( 'contentCheck')
\ No newline at end of file
diff --git a/jetty-maven-plugin/src/it/jetty-maven-plugin-provided-module-dep/postbuild.groovy b/jetty-maven-plugin/src/it/jetty-maven-plugin-provided-module-dep/postbuild.groovy
index 4c12de49d832..1468c60c52bd 100644
--- a/jetty-maven-plugin/src/it/jetty-maven-plugin-provided-module-dep/postbuild.groovy
+++ b/jetty-maven-plugin/src/it/jetty-maven-plugin-provided-module-dep/postbuild.groovy
@@ -1,21 +1,21 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( 'Started Jetty Server' )
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+File buildLog = new File( basedir, 'build.log' )
+assert buildLog.text.contains( 'Started Jetty Server' )
assert buildLog.text.contains( 'ClassNotFoundException')
\ No newline at end of file
diff --git a/jetty-maven-plugin/src/it/jetty-run-mojo-it/postbuild.groovy b/jetty-maven-plugin/src/it/jetty-run-mojo-it/postbuild.groovy
index 323b5da5d72b..7d1099f0eef6 100644
--- a/jetty-maven-plugin/src/it/jetty-run-mojo-it/postbuild.groovy
+++ b/jetty-maven-plugin/src/it/jetty-run-mojo-it/postbuild.groovy
@@ -1,23 +1,23 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( 'Started Jetty Server' )
-assert buildLog.text.contains( 'Running org.eclipse.jetty.maven.plugin.it.TestGetContent')
-assert buildLog.text.contains( 'pingServlet ok')
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+File buildLog = new File( basedir, 'build.log' )
+assert buildLog.text.contains( 'Started Jetty Server' )
+assert buildLog.text.contains( 'Running org.eclipse.jetty.maven.plugin.it.TestGetContent')
+assert buildLog.text.contains( 'pingServlet ok')
assert buildLog.text.contains( 'helloServlet')
\ No newline at end of file
diff --git a/jetty-maven-plugin/src/it/jetty-run-mojo-jar-scan-it/postbuild.groovy b/jetty-maven-plugin/src/it/jetty-run-mojo-jar-scan-it/postbuild.groovy
index 87a9e7b26cc4..1e29c1dde2d1 100644
--- a/jetty-maven-plugin/src/it/jetty-run-mojo-jar-scan-it/postbuild.groovy
+++ b/jetty-maven-plugin/src/it/jetty-run-mojo-jar-scan-it/postbuild.groovy
@@ -1,3 +1,3 @@
-File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( 'Started Jetty Server' )
-assert buildLog.text.contains( 'STARTED[class jettyissue.NormalClass]')
+File buildLog = new File( basedir, 'build.log' )
+assert buildLog.text.contains( 'Started Jetty Server' )
+assert buildLog.text.contains( 'STARTED[class jettyissue.NormalClass]')
diff --git a/jetty-maven-plugin/src/it/jetty-run-mojo-jsp/postbuild.groovy b/jetty-maven-plugin/src/it/jetty-run-mojo-jsp/postbuild.groovy
index 4c4b42e2f2f0..20adc1f87f5d 100644
--- a/jetty-maven-plugin/src/it/jetty-run-mojo-jsp/postbuild.groovy
+++ b/jetty-maven-plugin/src/it/jetty-run-mojo-jsp/postbuild.groovy
@@ -1,22 +1,22 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( 'Started Jetty Server' )
-assert buildLog.text.contains( 'Running org.eclipse.jetty.maven.plugin.it.TestGetContent')
-assert buildLog.text.contains( 'contentCheck')
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+File buildLog = new File( basedir, 'build.log' )
+assert buildLog.text.contains( 'Started Jetty Server' )
+assert buildLog.text.contains( 'Running org.eclipse.jetty.maven.plugin.it.TestGetContent')
+assert buildLog.text.contains( 'contentCheck')
diff --git a/jetty-maven-plugin/src/it/jetty-run-war-exploded-mojo-it/postbuild.groovy b/jetty-maven-plugin/src/it/jetty-run-war-exploded-mojo-it/postbuild.groovy
index 323b5da5d72b..7d1099f0eef6 100644
--- a/jetty-maven-plugin/src/it/jetty-run-war-exploded-mojo-it/postbuild.groovy
+++ b/jetty-maven-plugin/src/it/jetty-run-war-exploded-mojo-it/postbuild.groovy
@@ -1,23 +1,23 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( 'Started Jetty Server' )
-assert buildLog.text.contains( 'Running org.eclipse.jetty.maven.plugin.it.TestGetContent')
-assert buildLog.text.contains( 'pingServlet ok')
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+File buildLog = new File( basedir, 'build.log' )
+assert buildLog.text.contains( 'Started Jetty Server' )
+assert buildLog.text.contains( 'Running org.eclipse.jetty.maven.plugin.it.TestGetContent')
+assert buildLog.text.contains( 'pingServlet ok')
assert buildLog.text.contains( 'helloServlet')
\ No newline at end of file
diff --git a/jetty-maven-plugin/src/it/jetty-run-war-mojo-it/postbuild.groovy b/jetty-maven-plugin/src/it/jetty-run-war-mojo-it/postbuild.groovy
index 323b5da5d72b..7d1099f0eef6 100644
--- a/jetty-maven-plugin/src/it/jetty-run-war-mojo-it/postbuild.groovy
+++ b/jetty-maven-plugin/src/it/jetty-run-war-mojo-it/postbuild.groovy
@@ -1,23 +1,23 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( 'Started Jetty Server' )
-assert buildLog.text.contains( 'Running org.eclipse.jetty.maven.plugin.it.TestGetContent')
-assert buildLog.text.contains( 'pingServlet ok')
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+File buildLog = new File( basedir, 'build.log' )
+assert buildLog.text.contains( 'Started Jetty Server' )
+assert buildLog.text.contains( 'Running org.eclipse.jetty.maven.plugin.it.TestGetContent')
+assert buildLog.text.contains( 'pingServlet ok')
assert buildLog.text.contains( 'helloServlet')
\ No newline at end of file
diff --git a/jetty-maven-plugin/src/it/jetty-start-mojo-it/postbuild.groovy b/jetty-maven-plugin/src/it/jetty-start-mojo-it/postbuild.groovy
index 323b5da5d72b..7d1099f0eef6 100644
--- a/jetty-maven-plugin/src/it/jetty-start-mojo-it/postbuild.groovy
+++ b/jetty-maven-plugin/src/it/jetty-start-mojo-it/postbuild.groovy
@@ -1,23 +1,23 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( 'Started Jetty Server' )
-assert buildLog.text.contains( 'Running org.eclipse.jetty.maven.plugin.it.TestGetContent')
-assert buildLog.text.contains( 'pingServlet ok')
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+File buildLog = new File( basedir, 'build.log' )
+assert buildLog.text.contains( 'Started Jetty Server' )
+assert buildLog.text.contains( 'Running org.eclipse.jetty.maven.plugin.it.TestGetContent')
+assert buildLog.text.contains( 'pingServlet ok')
assert buildLog.text.contains( 'helloServlet')
\ No newline at end of file
diff --git a/jetty-maven-plugin/src/it/run-mojo-gwt-it/postbuild.groovy b/jetty-maven-plugin/src/it/run-mojo-gwt-it/postbuild.groovy
index b5f4344c4a6c..6a4eba4ef4f2 100644
--- a/jetty-maven-plugin/src/it/run-mojo-gwt-it/postbuild.groovy
+++ b/jetty-maven-plugin/src/it/run-mojo-gwt-it/postbuild.groovy
@@ -1,22 +1,22 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-File buildLog = new File( basedir, 'build.log' )
-assert buildLog.text.contains( 'Started Jetty Server' )
-assert buildLog.text.contains( 'Running org.eclipse.jetty.maven.plugin.it.TestGetContent')
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+File buildLog = new File( basedir, 'build.log' )
+assert buildLog.text.contains( 'Started Jetty Server' )
+assert buildLog.text.contains( 'Running org.eclipse.jetty.maven.plugin.it.TestGetContent')
assert buildLog.text.contains( 'contentCheck')
\ No newline at end of file
diff --git a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyEffectiveWebXml.java b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyEffectiveWebXml.java
index fcf0cc8ca00b..64768fc9e04c 100644
--- a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyEffectiveWebXml.java
+++ b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyEffectiveWebXml.java
@@ -39,7 +39,7 @@
* files. By default, the web.xml is generated to the console output only. Use the effectiveWebXml parameter
* to provide a file name into which to save the output.
*
- * See http://www.eclipse.org/jetty/documentation for more information on this and other jetty plugins.
+ * See https://www.eclipse.org/jetty/documentation for more information on this and other jetty plugins.
*
* Runs jetty on the unassembled webapp to generate the effective web.xml
*/
diff --git a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunDistro.java b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunDistro.java
index 59d682ec931f..f22810d45e24 100644
--- a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunDistro.java
+++ b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunDistro.java
@@ -78,7 +78,7 @@
*
* This goal does NOT support the scanIntervalSeconds parameter: the webapp will be deployed only once.
*
- * See http://www.eclipse.org/jetty/documentation for more information on this and other jetty plugins.
+ * See https://www.eclipse.org/jetty/documentation for more information on this and other jetty plugins.
*
* Runs unassembled webapp in a locally installed jetty distro
*/
diff --git a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunForkedMojo.java b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunForkedMojo.java
index 82cc6f14afc3..f34891b635b7 100644
--- a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunForkedMojo.java
+++ b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunForkedMojo.java
@@ -62,7 +62,7 @@
* By setting the configuration element waitForChild to false, the plugin will terminate after having forked the jetty process. In this case
* you can use the jetty:stop goal to terminate the process.
*
- * See http://www.eclipse.org/jetty/documentation for more information on this and other jetty plugins.
+ * See https://www.eclipse.org/jetty/documentation for more information on this and other jetty plugins.
*
* Runs Jetty in forked JVM on an unassembled webapp
*/
diff --git a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunMojo.java b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunMojo.java
index a826dc23c17e..0922b0a45b32 100644
--- a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunMojo.java
+++ b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunMojo.java
@@ -25,7 +25,6 @@
import java.nio.file.PathMatcher;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
@@ -40,7 +39,6 @@
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.apache.maven.project.MavenProject;
import org.eclipse.jetty.maven.plugin.utils.MavenProjectHelper;
import org.eclipse.jetty.util.IncludeExcludeSet;
import org.eclipse.jetty.util.StringUtil;
@@ -63,7 +61,7 @@
* You may also specify the location of a jetty.xml file whose contents will be applied before any plugin configuration.
* This can be used, for example, to deploy a static webapp that is not part of your maven build.
*
- * There is a reference guide to the configuration parameters for this plugin.
+ * There is a reference guide to the configuration parameters for this plugin.
*
* Runs jetty directly from a maven project
*/
diff --git a/jetty-memcached/jetty-memcached-sessions/pom.xml b/jetty-memcached/jetty-memcached-sessions/pom.xml
index b6b04adb8e96..5ffd2b236f35 100644
--- a/jetty-memcached/jetty-memcached-sessions/pom.xml
+++ b/jetty-memcached/jetty-memcached-sessions/pom.xml
@@ -3,7 +3,7 @@
org.eclipse.jetty.memcached
memcached-parent
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
diff --git a/jetty-memcached/pom.xml b/jetty-memcached/pom.xml
index b52dc131764c..9e6deade9ca1 100644
--- a/jetty-memcached/pom.xml
+++ b/jetty-memcached/pom.xml
@@ -3,7 +3,7 @@
jetty-project
org.eclipse.jetty
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
diff --git a/jetty-nosql/pom.xml b/jetty-nosql/pom.xml
index 22aeaaa15388..95595558e013 100644
--- a/jetty-nosql/pom.xml
+++ b/jetty-nosql/pom.xml
@@ -2,12 +2,11 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-nosql
Jetty :: NoSQL Session Managers
- http://www.eclipse.org/jetty
${project.groupId}.nosql
diff --git a/jetty-openid/pom.xml b/jetty-openid/pom.xml
index 9ed431a9fb19..7ae1cf409b7e 100644
--- a/jetty-openid/pom.xml
+++ b/jetty-openid/pom.xml
@@ -2,14 +2,13 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-openid
Jetty :: OpenID
Jetty OpenID Connect infrastructure
- http://www.eclipse.org/jetty
${project.groupId}.openid
diff --git a/jetty-osgi/jetty-osgi-alpn/pom.xml b/jetty-osgi/jetty-osgi-alpn/pom.xml
index 682ad197f8c0..467410a8e344 100644
--- a/jetty-osgi/jetty-osgi-alpn/pom.xml
+++ b/jetty-osgi/jetty-osgi-alpn/pom.xml
@@ -2,7 +2,7 @@
org.eclipse.jetty.osgi
jetty-osgi-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-osgi-alpn
diff --git a/jetty-osgi/jetty-osgi-boot-jsp/pom.xml b/jetty-osgi/jetty-osgi-boot-jsp/pom.xml
index 85c6321eb4fd..27159879afac 100644
--- a/jetty-osgi/jetty-osgi-boot-jsp/pom.xml
+++ b/jetty-osgi/jetty-osgi-boot-jsp/pom.xml
@@ -2,13 +2,12 @@
org.eclipse.jetty.osgi
jetty-osgi-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-osgi-boot-jsp
Jetty :: OSGi :: Boot JSP
Jetty OSGi Boot JSP bundle
- http://www.eclipse.org/jetty
${project.groupId}.boot.jsp
diff --git a/jetty-osgi/jetty-osgi-boot-warurl/pom.xml b/jetty-osgi/jetty-osgi-boot-warurl/pom.xml
index 2b0ad4f10e66..6dc3906c46ba 100644
--- a/jetty-osgi/jetty-osgi-boot-warurl/pom.xml
+++ b/jetty-osgi/jetty-osgi-boot-warurl/pom.xml
@@ -2,14 +2,13 @@
org.eclipse.jetty.osgi
jetty-osgi-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
../pom.xml
4.0.0
jetty-osgi-boot-warurl
Jetty :: OSGi :: Boot :: Warurl
Jetty OSGi Boot-Warurl bundle
- http://www.eclipse.org/jetty
${project.groupId}.boot.warurl
diff --git a/jetty-osgi/jetty-osgi-boot/pom.xml b/jetty-osgi/jetty-osgi-boot/pom.xml
index 72bffba05125..a7ac0c209bcd 100644
--- a/jetty-osgi/jetty-osgi-boot/pom.xml
+++ b/jetty-osgi/jetty-osgi-boot/pom.xml
@@ -2,13 +2,12 @@
org.eclipse.jetty.osgi
jetty-osgi-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-osgi-boot
Jetty :: OSGi :: Boot
Jetty OSGi Boot bundle
- http://www.eclipse.org/jetty
${project.groupId}.boot
diff --git a/jetty-osgi/jetty-osgi-httpservice/pom.xml b/jetty-osgi/jetty-osgi-httpservice/pom.xml
index 5f4eaa018b71..7d55bcbc4625 100644
--- a/jetty-osgi/jetty-osgi-httpservice/pom.xml
+++ b/jetty-osgi/jetty-osgi-httpservice/pom.xml
@@ -2,13 +2,12 @@
org.eclipse.jetty.osgi
jetty-osgi-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-httpservice
Jetty :: OSGi :: HttpService
Jetty OSGi HttpService bundle
- http://www.eclipse.org/jetty
${project.groupId}.httpservice
diff --git a/jetty-osgi/pom.xml b/jetty-osgi/pom.xml
index c86cd2b0741a..148acef40968 100644
--- a/jetty-osgi/pom.xml
+++ b/jetty-osgi/pom.xml
@@ -2,14 +2,13 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
org.eclipse.jetty.osgi
jetty-osgi-project
Jetty :: OSGi
- http://www.eclipse.org/jetty
pom
diff --git a/jetty-osgi/test-jetty-osgi-context/pom.xml b/jetty-osgi/test-jetty-osgi-context/pom.xml
index 714aa142cf6a..4c8e809b1b44 100644
--- a/jetty-osgi/test-jetty-osgi-context/pom.xml
+++ b/jetty-osgi/test-jetty-osgi-context/pom.xml
@@ -2,13 +2,12 @@
org.eclipse.jetty.osgi
jetty-osgi-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
test-jetty-osgi-context
Jetty :: OSGi :: Test Context
Test Jetty OSGi bundle with a ContextHandler
- http://www.eclipse.org/jetty
${project.groupId}.testcontext
diff --git a/jetty-osgi/test-jetty-osgi-fragment/pom.xml b/jetty-osgi/test-jetty-osgi-fragment/pom.xml
index 5682917e55a6..5a5bd738ce46 100644
--- a/jetty-osgi/test-jetty-osgi-fragment/pom.xml
+++ b/jetty-osgi/test-jetty-osgi-fragment/pom.xml
@@ -2,14 +2,13 @@
org.eclipse.jetty.osgi
jetty-osgi-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
../pom.xml
4.0.0
test-jetty-osgi-fragment
Jetty :: OSGi :: WebApp Fragment
Test Jetty OSGi Webapp Fragment bundle
- http://www.eclipse.org/jetty
${project.groupId}.webapp.fragment
diff --git a/jetty-osgi/test-jetty-osgi-server/pom.xml b/jetty-osgi/test-jetty-osgi-server/pom.xml
index b42bba43e05f..eed112e3d542 100644
--- a/jetty-osgi/test-jetty-osgi-server/pom.xml
+++ b/jetty-osgi/test-jetty-osgi-server/pom.xml
@@ -2,13 +2,12 @@
org.eclipse.jetty.osgi
jetty-osgi-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
test-jetty-osgi-server
Jetty :: OSGi :: Server
Test Jetty OSGi bundle with a Server
- http://www.eclipse.org/jetty
${project.groupId}.testserver
diff --git a/jetty-osgi/test-jetty-osgi-webapp-resources/pom.xml b/jetty-osgi/test-jetty-osgi-webapp-resources/pom.xml
index e707c35d6c1a..8e443fe13831 100644
--- a/jetty-osgi/test-jetty-osgi-webapp-resources/pom.xml
+++ b/jetty-osgi/test-jetty-osgi-webapp-resources/pom.xml
@@ -3,12 +3,11 @@
org.eclipse.jetty.osgi
jetty-osgi-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
test-jetty-osgi-webapp-resources
OSGi Test :: Webapp With Resources
- http://www.eclipse.org/jetty
war
${project.groupId}.webapp.resources
diff --git a/jetty-osgi/test-jetty-osgi-webapp/pom.xml b/jetty-osgi/test-jetty-osgi-webapp/pom.xml
index 935871ac853f..54c6bd9bd31e 100644
--- a/jetty-osgi/test-jetty-osgi-webapp/pom.xml
+++ b/jetty-osgi/test-jetty-osgi-webapp/pom.xml
@@ -2,14 +2,13 @@
org.eclipse.jetty.osgi
jetty-osgi-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
../pom.xml
4.0.0
test-jetty-osgi-webapp
Jetty :: OSGi :: Test WebApp
Test Jetty OSGi Webapp bundle
- http://www.eclipse.org/jetty
${project.groupId}.webapp
diff --git a/jetty-osgi/test-jetty-osgi/pom.xml b/jetty-osgi/test-jetty-osgi/pom.xml
index ffd1f53eebda..175f5de3c9a0 100644
--- a/jetty-osgi/test-jetty-osgi/pom.xml
+++ b/jetty-osgi/test-jetty-osgi/pom.xml
@@ -2,17 +2,16 @@
org.eclipse.jetty.osgi
jetty-osgi-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
../pom.xml
4.0.0
test-jetty-osgi
Jetty :: OSGi :: Test
Jetty OSGi Integration test
- http://www.eclipse.org/jetty
${project.groupId}.boot.test.osgi
- http://download.eclipse.org/jetty/orbit/
+ https://download.eclipse.org/jetty/orbit/
target/distribution
4.13.1
2.6.1
diff --git a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootHTTP2.java b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootHTTP2.java
index 1f971fd0e33c..eefd5b85be27 100644
--- a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootHTTP2.java
+++ b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootHTTP2.java
@@ -82,7 +82,7 @@ public Option[] config()
options.add(mavenBundle().groupId("org.eclipse.jetty.http2").artifactId("http2-http-client-transport").versionAsInProject().start());
options.add(systemProperty("org.ops4j.pax.logging.DefaultServiceLog.level").value(LOG_LEVEL));
- options.add(systemProperty("org.eclipse.jetty.LEVEL").value("DEBUG"));
+ options.add(systemProperty("org.eclipse.jetty.LEVEL").value("INFO"));
options.add(CoreOptions.cleanCaches(true));
return options.toArray(new Option[0]);
}
@@ -154,7 +154,7 @@ public void testHTTP2() throws Exception
httpClient.start();
ContentResponse response = httpClient.GET("https://localhost:" + port + "/jsp/jstl.jsp");
- assertEquals(response.toString(), response.getStatus(), HttpStatus.OK_200);
+ assertEquals(HttpStatus.OK_200,response.getStatus());
String body = response.getContentAsString();
assertTrue("Body contains \"JSTL Example\": " + body, body.contains("JSTL Example"));
}
diff --git a/jetty-plus/pom.xml b/jetty-plus/pom.xml
index 125efed3cd04..e01afcada408 100644
--- a/jetty-plus/pom.xml
+++ b/jetty-plus/pom.xml
@@ -2,13 +2,12 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-plus
Jetty :: Plus
Jetty JavaEE style services
- http://www.eclipse.org/jetty
${project.groupId}.plus
diff --git a/jetty-proxy/pom.xml b/jetty-proxy/pom.xml
index c70142607caa..ed246d35e4e3 100644
--- a/jetty-proxy/pom.xml
+++ b/jetty-proxy/pom.xml
@@ -2,13 +2,12 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-proxy
Jetty :: Proxy
Jetty Proxy
- http://www.eclipse.org/jetty
${project.groupId}.proxy
diff --git a/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/AbstractProxyServlet.java b/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/AbstractProxyServlet.java
index 26998e4eae40..022d41d90abf 100644
--- a/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/AbstractProxyServlet.java
+++ b/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/AbstractProxyServlet.java
@@ -55,6 +55,7 @@
import org.eclipse.jetty.util.StringUtil;
import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.log.Logger;
+import org.eclipse.jetty.util.ssl.SslContextFactory;
import org.eclipse.jetty.util.thread.QueuedThreadPool;
/**
@@ -362,7 +363,8 @@ protected HttpClient newHttpClient()
String value = getServletConfig().getInitParameter("selectors");
if (value != null)
selectors = Integer.parseInt(value);
- return new HttpClient(new HttpClientTransportOverHTTP(selectors), null);
+ SslContextFactory.Client clientSsl = new SslContextFactory.Client();
+ return new HttpClient(new HttpClientTransportOverHTTP(selectors), clientSsl);
}
protected HttpClient getHttpClient()
diff --git a/jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ProxyServletTest.java b/jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ProxyServletTest.java
index eac3637571dc..d3e2de15e623 100644
--- a/jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ProxyServletTest.java
+++ b/jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ProxyServletTest.java
@@ -76,17 +76,21 @@
import org.eclipse.jetty.http.HttpHeader;
import org.eclipse.jetty.http.HttpHeaderValue;
import org.eclipse.jetty.http.HttpMethod;
+import org.eclipse.jetty.http.HttpScheme;
import org.eclipse.jetty.http.HttpStatus;
+import org.eclipse.jetty.http.HttpVersion;
import org.eclipse.jetty.server.HttpConfiguration;
import org.eclipse.jetty.server.HttpConnectionFactory;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
+import org.eclipse.jetty.server.SslConnectionFactory;
import org.eclipse.jetty.servlet.FilterHolder;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.toolchain.test.MavenTestingUtils;
import org.eclipse.jetty.util.IO;
import org.eclipse.jetty.util.StringUtil;
+import org.eclipse.jetty.util.ssl.SslContextFactory;
import org.eclipse.jetty.util.thread.QueuedThreadPool;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
@@ -127,6 +131,7 @@ public static Stream impls()
private AbstractProxyServlet proxyServlet;
private Server server;
private ServerConnector serverConnector;
+ private ServerConnector tlsServerConnector;
private void startServer(HttpServlet servlet) throws Exception
{
@@ -136,6 +141,16 @@ private void startServer(HttpServlet servlet) throws Exception
serverConnector = new ServerConnector(server);
server.addConnector(serverConnector);
+ SslContextFactory.Server sslContextFactory = new SslContextFactory.Server();
+ String keyStorePath = MavenTestingUtils.getTestResourceFile("server_keystore.p12").getAbsolutePath();
+ sslContextFactory.setKeyStorePath(keyStorePath);
+ sslContextFactory.setKeyStorePassword("storepwd");
+ tlsServerConnector = new ServerConnector(server, new SslConnectionFactory(
+ sslContextFactory,
+ HttpVersion.HTTP_1_1.asString()),
+ new HttpConnectionFactory());
+ server.addConnector(tlsServerConnector);
+
ServletContextHandler appCtx = new ServletContextHandler(server, "/", true, false);
ServletHolder appServletHolder = new ServletHolder(servlet);
appCtx.addServlet(appServletHolder, "/*");
@@ -730,27 +745,80 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws Se
public static Stream transparentImpls()
{
return Stream.of(
- ProxyServlet.Transparent.class,
- AsyncProxyServlet.Transparent.class,
- AsyncMiddleManServlet.Transparent.class
+ new ProxyServlet.Transparent()
+ {
+ @Override
+ protected HttpClient newHttpClient()
+ {
+ return newTrustAllClient(super.newHttpClient());
+ }
+
+ @Override
+ public String toString()
+ {
+ return ProxyServlet.Transparent.class.getName();
+ }
+ },
+ new AsyncProxyServlet.Transparent()
+ {
+ @Override
+ protected HttpClient newHttpClient()
+ {
+ return newTrustAllClient(super.newHttpClient());
+ }
+
+ @Override
+ public String toString()
+ {
+ return AsyncProxyServlet.Transparent.class.getName();
+ }
+ },
+ new AsyncMiddleManServlet.Transparent()
+ {
+ @Override
+ protected HttpClient newHttpClient()
+ {
+ return newTrustAllClient(super.newHttpClient());
+ }
+
+ @Override
+ public String toString()
+ {
+ return AsyncMiddleManServlet.Transparent.class.getName();
+ }
+ }
).map(Arguments::of);
}
+ private static HttpClient newTrustAllClient(HttpClient client)
+ {
+ SslContextFactory sslContextFactory = client.getSslContextFactory();
+ sslContextFactory.setTrustAll(true);
+ return client;
+ }
+
+ @ParameterizedTest
+ @MethodSource("transparentImpls")
+ public void testTransparentProxy(AbstractProxyServlet proxyServletClass) throws Exception
+ {
+ testTransparentProxyWithPrefix(proxyServletClass, "http", "/proxy");
+ }
+
@ParameterizedTest
@MethodSource("transparentImpls")
- public void testTransparentProxy(Class extends ProxyServlet> proxyServletClass) throws Exception
+ public void testTransparentProxyTls(AbstractProxyServlet proxyServletClass) throws Exception
{
- testTransparentProxyWithPrefix(proxyServletClass, "/proxy");
+ testTransparentProxyWithPrefix(proxyServletClass, "https", "/proxy");
}
@ParameterizedTest
@MethodSource("transparentImpls")
- public void testTransparentProxyWithRootContext(Class extends ProxyServlet> proxyServletClass) throws Exception
+ public void testTransparentProxyWithRootContext(AbstractProxyServlet proxyServletClass) throws Exception
{
- testTransparentProxyWithPrefix(proxyServletClass, "/");
+ testTransparentProxyWithPrefix(proxyServletClass, "http", "/");
}
- private void testTransparentProxyWithPrefix(Class extends ProxyServlet> proxyServletClass, String prefix) throws Exception
+ private void testTransparentProxyWithPrefix(AbstractProxyServlet proxyServletClass, String scheme, String prefix) throws Exception
{
final String target = "/test";
startServer(new HttpServlet()
@@ -763,7 +831,10 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws Se
resp.setStatus(target.equals(req.getRequestURI()) ? 200 : 404);
}
});
- String proxyTo = "http://localhost:" + serverConnector.getLocalPort();
+ int serverPort = serverConnector.getLocalPort();
+ if (HttpScheme.HTTPS.is(scheme))
+ serverPort = tlsServerConnector.getLocalPort();
+ String proxyTo = scheme + "://localhost:" + serverPort;
Map params = new HashMap<>();
params.put("proxyTo", proxyTo);
params.put("prefix", prefix);
@@ -781,33 +852,33 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws Se
@ParameterizedTest
@MethodSource("transparentImpls")
- public void testTransparentProxyWithQuery(Class extends ProxyServlet> proxyServletClass) throws Exception
+ public void testTransparentProxyWithQuery(AbstractProxyServlet proxyServletClass) throws Exception
{
testTransparentProxyWithQuery(proxyServletClass, "/foo", "/proxy", "/test");
}
@ParameterizedTest
@MethodSource("transparentImpls")
- public void testTransparentProxyEmptyContextWithQuery(Class extends ProxyServlet> proxyServletClass) throws Exception
+ public void testTransparentProxyEmptyContextWithQuery(AbstractProxyServlet proxyServletClass) throws Exception
{
testTransparentProxyWithQuery(proxyServletClass, "", "/proxy", "/test");
}
@ParameterizedTest
@MethodSource("transparentImpls")
- public void testTransparentProxyEmptyTargetWithQuery(Class extends ProxyServlet> proxyServletClass) throws Exception
+ public void testTransparentProxyEmptyTargetWithQuery(AbstractProxyServlet proxyServletClass) throws Exception
{
testTransparentProxyWithQuery(proxyServletClass, "/bar", "/proxy", "");
}
@ParameterizedTest
@MethodSource("transparentImpls")
- public void testTransparentProxyEmptyContextEmptyTargetWithQuery(Class extends ProxyServlet> proxyServletClass) throws Exception
+ public void testTransparentProxyEmptyContextEmptyTargetWithQuery(AbstractProxyServlet proxyServletClass) throws Exception
{
testTransparentProxyWithQuery(proxyServletClass, "", "/proxy", "");
}
- private void testTransparentProxyWithQuery(Class extends ProxyServlet> proxyServletClass, String proxyToContext, String prefix, String target) throws Exception
+ private void testTransparentProxyWithQuery(AbstractProxyServlet proxyServletClass, String proxyToContext, String prefix, String target) throws Exception
{
final String query = "a=1&b=2";
startServer(new HttpServlet()
@@ -851,7 +922,7 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws Se
@ParameterizedTest
@MethodSource("transparentImpls")
- public void testTransparentProxyWithQueryWithSpaces(Class extends ProxyServlet> proxyServletClass) throws Exception
+ public void testTransparentProxyWithQueryWithSpaces(AbstractProxyServlet proxyServletClass) throws Exception
{
final String target = "/test";
final String query = "a=1&b=2&c=1234%205678&d=hello+world";
@@ -893,7 +964,7 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws Se
@ParameterizedTest
@MethodSource("transparentImpls")
- public void testTransparentProxyWithoutPrefix(Class extends ProxyServlet> proxyServletClass) throws Exception
+ public void testTransparentProxyWithoutPrefix(AbstractProxyServlet proxyServletClass) throws Exception
{
final String target = "/test";
startServer(new HttpServlet()
diff --git a/jetty-quickstart/pom.xml b/jetty-quickstart/pom.xml
index a00c09a308f0..71c5151a1492 100644
--- a/jetty-quickstart/pom.xml
+++ b/jetty-quickstart/pom.xml
@@ -2,14 +2,13 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
org.eclipse.jetty
jetty-quickstart
Jetty :: Quick Start
Jetty Quick Start
- http://www.eclipse.org/jetty
${project.groupId}.quickstart
diff --git a/jetty-rewrite/pom.xml b/jetty-rewrite/pom.xml
index c864e98780f7..e9d242314585 100644
--- a/jetty-rewrite/pom.xml
+++ b/jetty-rewrite/pom.xml
@@ -2,13 +2,12 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-rewrite
Jetty :: Rewrite Handler
Jetty Rewrite Handler
- http://www.eclipse.org/jetty
${project.groupId}.rewrite
diff --git a/jetty-runner/pom.xml b/jetty-runner/pom.xml
index e0b9c1821e07..18fd61069dba 100644
--- a/jetty-runner/pom.xml
+++ b/jetty-runner/pom.xml
@@ -2,7 +2,7 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-runner
diff --git a/jetty-security/pom.xml b/jetty-security/pom.xml
index a5b3d7bd953f..c4ff5cbdf9d8 100644
--- a/jetty-security/pom.xml
+++ b/jetty-security/pom.xml
@@ -2,13 +2,12 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-security
Jetty :: Security
Jetty security infrastructure
- http://www.eclipse.org/jetty
${project.groupId}.security
diff --git a/jetty-server/pom.xml b/jetty-server/pom.xml
index d67b0f7969b0..4a23507e863e 100644
--- a/jetty-server/pom.xml
+++ b/jetty-server/pom.xml
@@ -2,13 +2,12 @@
org.eclipse.jetty
jetty-project
- 9.4.32-SNAPSHOT
+ 9.4.33-SNAPSHOT
4.0.0
jetty-server
Jetty :: Server Core
The core jetty server artifact.
- http://www.eclipse.org/jetty
${project.groupId}.server
diff --git a/jetty-server/src/main/config/modules/ssl.mod b/jetty-server/src/main/config/modules/ssl.mod
index b2891c3ec776..d01944675a08 100644
--- a/jetty-server/src/main/config/modules/ssl.mod
+++ b/jetty-server/src/main/config/modules/ssl.mod
@@ -78,7 +78,7 @@ basehome:modules/ssl/keystore|etc/keystore
### SslContextFactory Configuration
## Note that OBF passwords are not secure, just protected from casual observation
-## See http://www.eclipse.org/jetty/documentation/current/configuring-security-secure-passwords.html
+## See https://eclipse.org/jetty/documentation/current/configuring-security-secure-passwords.html
## The Endpoint Identification Algorithm
## Same as javax.net.ssl.SSLParameters#setEndpointIdentificationAlgorithm(String)
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/ForwardedRequestCustomizer.java b/jetty-server/src/main/java/org/eclipse/jetty/server/ForwardedRequestCustomizer.java
index 2e4a38fd4277..f43ddfecfaba 100644
--- a/jetty-server/src/main/java/org/eclipse/jetty/server/ForwardedRequestCustomizer.java
+++ b/jetty-server/src/main/java/org/eclipse/jetty/server/ForwardedRequestCustomizer.java
@@ -30,6 +30,7 @@
import org.eclipse.jetty.http.HttpFields;
import org.eclipse.jetty.http.HttpHeader;
import org.eclipse.jetty.http.HttpScheme;
+import org.eclipse.jetty.http.HttpURI;
import org.eclipse.jetty.http.QuotedCSVParser;
import org.eclipse.jetty.server.HttpConfiguration.Customizer;
import org.eclipse.jetty.util.ArrayTrie;
@@ -57,8 +58,91 @@
* the request came
* Headers can also be defined so that forwarded SSL Session IDs and Cipher
* suites may be customised
+ *
+ * The Authority (host and port) is updated on the {@link Request} object based
+ * on the host / port information in the following search order.
+ *
+ *
+ * Request Authority Search Order
+ *
+ *
+ *
+ *
+ *
+ * # |
+ * Value Origin |
+ * Host |
+ * Port |
+ * Protocol |
+ * Notes |
+ *
+ *
+ *
+ *
+ * 1 |
+ * Forwarded Header |
+ * "{@code host=}" param (Required) |
+ * "{@code host=:} param (Implied) |
+ * "{@code proto=}" param (Optional) |
+ * From left-most relevant parameter (see rfc7239) |
+ *
+ *
+ * 2 |
+ * X-Forwarded-Host Header |
+ * Required |
+ * Implied |
+ * n/a |
+ * left-most value |
+ *
+ *
+ * 3 |
+ * X-Forwarded-Port Header |
+ * n/a |
+ * Required |
+ * n/a |
+ * left-most value (only if {@link #getForwardedPortAsAuthority()} is true) |
+ *
+ *
+ * 4 |
+ * X-Forwarded-Server Header |
+ * Required |
+ * Optional |
+ * n/a |
+ * left-most value |
+ *
+ *
+ * 5 |
+ * X-Forwarded-Proto Header |
+ * n/a |
+ * Implied from value |
+ * Required |
+ *
+ * left-most value becomes protocol.
+ *
+ * - Value of "
http " means port=80.
+ * - Value of "{@link HttpConfiguration#getSecureScheme()}" means port={@link HttpConfiguration#getSecurePort()}.
+ *
+ * |
+ *
+ *
+ * 6 |
+ * X-Proxied-Https Header |
+ * n/a |
+ * Implied from value |
+ * boolean |
+ *
+ * left-most value determines protocol and port.
+ *
+ * - Value of "
on " means port={@link HttpConfiguration#getSecurePort()}, and protocol={@link HttpConfiguration#getSecureScheme()}).
+ * - Value of "
off " means port=80, and protocol=http.
+ *
+ * |
+ *
+ *
+ *
*
* @see Wikipedia: X-Forwarded-For
+ * @see RFC 7239: Forwarded HTTP Extension
*/
public class ForwardedRequestCustomizer implements Customizer
{
@@ -151,7 +235,7 @@ public String getForcedHost()
*/
public void setForcedHost(String hostAndPort)
{
- _forcedHost = new HostPortHttpField(new ForcedHostPort(hostAndPort));
+ _forcedHost = new HostPortHttpField(hostAndPort);
}
/**
@@ -377,13 +461,17 @@ public void customize(Connector connector, HttpConfiguration config, Request req
// Do a single pass through the header fields as it is a more efficient single iteration.
Forwarded forwarded = new Forwarded(request, config);
+ boolean match = false;
for (HttpField field : httpFields)
{
try
{
MethodHandle handle = _handles.get(field.getName());
if (handle != null)
+ {
+ match = true;
handle.invoke(forwarded, field);
+ }
}
catch (Throwable t)
{
@@ -391,42 +479,78 @@ public void customize(Connector connector, HttpConfiguration config, Request req
}
}
- if (forwarded._proto != null)
+ if (match)
{
- request.setScheme(forwarded._proto);
- if (forwarded._proto.equalsIgnoreCase(config.getSecureScheme()))
+ // Is secure status configured from headers?
+ if (forwarded.isSecure())
+ {
request.setSecure(true);
- }
+ }
- if (forwarded._server != null && forwarded._host instanceof PortSetHostPort)
- {
- httpFields.put(new HostPortHttpField(forwarded._server, forwarded._host.getPort()));
- request.setAuthority(forwarded._server, forwarded._host.getPort());
- }
- else if (forwarded._host != null)
- {
- httpFields.put(new HostPortHttpField(forwarded._host));
- request.setAuthority(forwarded._host.getHost(), forwarded._host.getPort());
- }
- else if (forwarded._server != null)
- {
- httpFields.put(new HostPortHttpField(forwarded._server));
- request.setAuthority(forwarded._server, 0);
- }
+ // Set Scheme from configured protocol
+ if (forwarded._proto != null)
+ {
+ request.setScheme(forwarded._proto);
+ }
+ // Set scheme if header implies secure scheme is to be used (see #isSslIsSecure())
+ else if (forwarded._secureScheme)
+ {
+ request.setScheme(config.getSecureScheme());
+ }
- if (forwarded._for != null)
- {
- int port = forwarded._for.getPort() > 0 ? forwarded._for.getPort() : request.getRemotePort();
- request.setRemoteAddr(InetSocketAddress.createUnresolved(forwarded._for.getHost(), port));
+ // Use authority from headers, if configured.
+ if (forwarded._authority != null)
+ {
+ String host = forwarded._authority._host;
+ int port = forwarded._authority._port;
+
+ HttpURI requestURI = request.getMetaData().getURI();
+
+ if (requestURI != null)
+ {
+ // Fall back to request metadata if needed.
+ if (host == null)
+ {
+ host = requestURI.getHost();
+ }
+
+ if (port == MutableHostPort.UNSET) // is unset by headers
+ {
+ port = requestURI.getPort();
+ }
+
+ // Don't change port if port == IMPLIED.
+
+ // Update authority if different from metadata
+ if (!host.equalsIgnoreCase(requestURI.getHost()) ||
+ port != requestURI.getPort())
+ {
+ httpFields.put(new HostPortHttpField(host, port));
+ request.setAuthority(host, port);
+ }
+ }
+ }
+
+ // Set Remote Address
+ if (forwarded.hasFor())
+ {
+ int forPort = forwarded._for._port > 0 ? forwarded._for._port : request.getRemotePort();
+ request.setRemoteAddr(InetSocketAddress.createUnresolved(forwarded._for._host, forPort));
+ }
}
}
+ protected static int getSecurePort(HttpConfiguration config)
+ {
+ return config.getSecurePort() > 0 ? config.getSecurePort() : 443;
+ }
+
protected void onError(HttpField field, Throwable t)
{
throw new BadMessageException("Bad header value for " + field.getName(), t);
}
- protected String getLeftMost(String headerValue)
+ protected static String getLeftMost(String headerValue)
{
if (headerValue == null)
return null;
@@ -479,23 +603,23 @@ private void updateHandles()
size += 128; // experimented good baseline size
_handles = new ArrayTrie<>(size);
- if (updateForwardedHandle(lookup, getForwardedCipherSuiteHeader(), "handleCipherSuite"))
- continue;
- if (updateForwardedHandle(lookup, getForwardedSslSessionIdHeader(), "handleSslSessionId"))
- continue;
if (updateForwardedHandle(lookup, getForwardedHeader(), "handleRFC7239"))
continue;
- if (updateForwardedHandle(lookup, getForwardedForHeader(), "handleFor"))
+ if (updateForwardedHandle(lookup, getForwardedHostHeader(), "handleForwardedHost"))
continue;
- if (updateForwardedHandle(lookup, getForwardedPortHeader(), "handlePort"))
+ if (updateForwardedHandle(lookup, getForwardedForHeader(), "handleForwardedFor"))
continue;
- if (updateForwardedHandle(lookup, getForwardedHostHeader(), "handleHost"))
+ if (updateForwardedHandle(lookup, getForwardedPortHeader(), "handleForwardedPort"))
continue;
if (updateForwardedHandle(lookup, getForwardedProtoHeader(), "handleProto"))
continue;
if (updateForwardedHandle(lookup, getForwardedHttpsHeader(), "handleHttps"))
continue;
- if (updateForwardedHandle(lookup, getForwardedServerHeader(), "handleServer"))
+ if (updateForwardedHandle(lookup, getForwardedServerHeader(), "handleForwardedServer"))
+ continue;
+ if (updateForwardedHandle(lookup, getForwardedCipherSuiteHeader(), "handleCipherSuite"))
+ continue;
+ if (updateForwardedHandle(lookup, getForwardedSslSessionIdHeader(), "handleSslSessionId"))
continue;
break;
}
@@ -516,40 +640,98 @@ private boolean updateForwardedHandle(MethodHandles.Lookup lookup, String header
return !_handles.put(headerName, lookup.findVirtual(Forwarded.class, forwardedMethodName, type));
}
- private static class ForcedHostPort extends HostPort
+ private static class MutableHostPort
{
- ForcedHostPort(String authority)
+ public static final int UNSET = -1;
+ public static final int IMPLIED = 0;
+
+ String _host;
+ Source _hostSource = Source.UNSET;
+ int _port = UNSET;
+ Source _portSource = Source.UNSET;
+
+ public void setHostPort(String host, int port, Source source)
{
- super(authority);
+ setHost(host, source);
+ setPort(port, source);
}
- }
- private static class PossiblyPartialHostPort extends HostPort
- {
- PossiblyPartialHostPort(String authority)
+ public void setHost(String host, Source source)
{
- super(authority);
+ if (source.priority() > _hostSource.priority())
+ {
+ _host = host;
+ _hostSource = source;
+ }
}
- protected PossiblyPartialHostPort(String host, int port)
+ public void setPort(int port, Source source)
{
- super(host, port);
+ if (source.priority() > _portSource.priority())
+ {
+ _port = port;
+ _portSource = source;
+ }
}
- }
- private static class PortSetHostPort extends PossiblyPartialHostPort
- {
- PortSetHostPort(String host, int port)
+ public void setHostPort(HostPort hostPort, Source source)
{
- super(host, port);
+ if (source.priority() > _hostSource.priority())
+ {
+ _host = hostPort.getHost();
+ _hostSource = source;
+ }
+
+ int port = hostPort.getPort();
+ // Is port supplied?
+ if (port > 0 && source.priority() > _portSource.priority())
+ {
+ _port = hostPort.getPort();
+ _portSource = source;
+ }
+ // Since we are Host:Port pair, the port could be unspecified
+ // Meaning it's implied.
+ // Make sure that we switch the tracked port from unset to implied
+ else if (_port == UNSET)
+ {
+ // set port to implied (with no priority)
+ _port = IMPLIED;
+ }
+ }
+
+ @Override
+ public String toString()
+ {
+ final StringBuilder sb = new StringBuilder("MutableHostPort{");
+ sb.append("host='").append(_host).append("'/").append(_hostSource);
+ sb.append(", port=").append(_port);
+ sb.append("/").append(_portSource);
+ sb.append('}');
+ return sb.toString();
}
}
- private static class Rfc7239HostPort extends HostPort
+ /**
+ * Ordered Source Enum.
+ *
+ * Lowest first, Last/Highest priority wins
+ *
+ */
+ public enum Source
{
- Rfc7239HostPort(String authority)
+ UNSET,
+ XPROXIED_HTTPS,
+ XFORWARDED_PROTO,
+ XFORWARDED_SERVER,
+ XFORWARDED_PORT,
+ XFORWARDED_FOR,
+ XFORWARDED_HOST,
+ FORWARDED,
+ FORCED;
+
+ int priority()
{
- super(authority);
+ return ordinal();
}
}
@@ -558,11 +740,12 @@ private class Forwarded extends QuotedCSVParser
HttpConfiguration _config;
Request _request;
- boolean _protoRfc7239;
+ MutableHostPort _authority;
+ MutableHostPort _for;
String _proto;
- HostPort _for;
- HostPort _host;
- String _server;
+ Source _protoSource = Source.UNSET;
+ Boolean _secure;
+ boolean _secureScheme = false;
public Forwarded(Request request, HttpConfiguration config)
{
@@ -570,109 +753,145 @@ public Forwarded(Request request, HttpConfiguration config)
_request = request;
_config = config;
if (_forcedHost != null)
- _host = _forcedHost.getHostPort();
+ {
+ getAuthority().setHostPort(
+ _forcedHost.getHostPort().getHost(),
+ _forcedHost.getHostPort().getPort(),
+ Source.FORCED);
+ }
+ }
+
+ public boolean isSecure()
+ {
+ return (_secure != null && _secure);
+ }
+
+ public boolean hasFor()
+ {
+ return _for != null && _for._host != null;
+ }
+
+ private MutableHostPort getAuthority()
+ {
+ if (_authority == null)
+ {
+ _authority = new MutableHostPort();
+ }
+ return _authority;
}
- @SuppressWarnings("unused")
+ private MutableHostPort getFor()
+ {
+ if (_for == null)
+ {
+ _for = new MutableHostPort();
+ }
+ return _for;
+ }
+
+ /**
+ * Called if header is Proxy-auth-cert
+ */
public void handleCipherSuite(HttpField field)
{
_request.setAttribute("javax.servlet.request.cipher_suite", field.getValue());
+
+ // Is ForwardingRequestCustomizer configured to trigger isSecure and scheme change on this header?
if (isSslIsSecure())
{
- _request.setSecure(true);
- _request.setScheme(_config.getSecureScheme());
+ _secure = true;
+ // track desire for secure scheme, actual protocol will be resolved later.
+ _secureScheme = true;
}
}
- @SuppressWarnings("unused")
+ /**
+ * Called if header is Proxy-Ssl-Id
+ */
public void handleSslSessionId(HttpField field)
{
_request.setAttribute("javax.servlet.request.ssl_session_id", field.getValue());
+
+ // Is ForwardingRequestCustomizer configured to trigger isSecure and scheme change on this header?
if (isSslIsSecure())
{
- _request.setSecure(true);
- _request.setScheme(_config.getSecureScheme());
+ _secure = true;
+ // track desire for secure scheme, actual protocol will be resolved later.
+ _secureScheme = true;
}
}
- @SuppressWarnings("unused")
- public void handleHost(HttpField field)
+ /**
+ * Called if header is X-Forwarded-Host
+ */
+ public void handleForwardedHost(HttpField field)
{
- HostPort hostField = new HostPort(getLeftMost(field.getValue()));
+ updateAuthority(getLeftMost(field.getValue()), Source.XFORWARDED_HOST);
+ }
- if (getForwardedPortAsAuthority() && !StringUtil.isEmpty(getForwardedPortHeader()))
- {
- if (_host == null)
- _host = new PossiblyPartialHostPort(hostField.getHost(), hostField.getPort());
- else if (_host instanceof PortSetHostPort)
- _host = new HostPort(hostField.getHost(), hostField.getPort() > 0 ? hostField.getPort() : _host.getPort());
- }
- else if (_host == null)
- {
- _host = hostField;
- }
+ /**
+ * Called if header is X-Forwarded-For
+ */
+ public void handleForwardedFor(HttpField field)
+ {
+ HostPort hostField = new HostPort(getLeftMost(field.getValue()));
+ getFor().setHostPort(hostField, Source.XFORWARDED_FOR);
}
- @SuppressWarnings("unused")
- public void handleServer(HttpField field)
+ /**
+ * Called if header is X-Forwarded-Server
+ */
+ public void handleForwardedServer(HttpField field)
{
if (getProxyAsAuthority())
return;
- _server = getLeftMost(field.getValue());
+ updateAuthority(getLeftMost(field.getValue()), Source.XFORWARDED_SERVER);
}
- @SuppressWarnings("unused")
- public void handleProto(HttpField field)
+ /**
+ * Called if header is X-Forwarded-Port
+ */
+ public void handleForwardedPort(HttpField field)
{
- if (_proto == null)
- _proto = getLeftMost(field.getValue());
+ int port = HostPort.parsePort(getLeftMost(field.getValue()));
+
+ updatePort(port, Source.XFORWARDED_PORT);
}
- @SuppressWarnings("unused")
- public void handleFor(HttpField field)
+ /**
+ * Called if header is X-Forwarded-Proto
+ */
+ public void handleProto(HttpField field)
{
- String authority = getLeftMost(field.getValue());
- if (!getForwardedPortAsAuthority() && !StringUtil.isEmpty(getForwardedPortHeader()))
- {
- if (_for == null)
- _for = new PossiblyPartialHostPort(authority);
- else if (_for instanceof PortSetHostPort)
- _for = new HostPort(HostPort.normalizeHost(authority), _for.getPort());
- }
- else if (_for == null)
- {
- _for = new HostPort(authority);
- }
+ updateProto(getLeftMost(field.getValue()), Source.XFORWARDED_PROTO);
}
- @SuppressWarnings("unused")
- public void handlePort(HttpField field)
+ /**
+ * Called if header is X-Proxied-Https
+ */
+ public void handleHttps(HttpField field)
{
- int port = HostPort.parsePort(getLeftMost(field.getValue()));
- if (!getForwardedPortAsAuthority())
+ if ("on".equalsIgnoreCase(field.getValue()) || "true".equalsIgnoreCase(field.getValue()))
+ {
+ _secure = true;
+ updateProto(HttpScheme.HTTPS.asString(), Source.XPROXIED_HTTPS);
+ updatePort(getSecurePort(_config), Source.XPROXIED_HTTPS);
+ }
+ else if ("off".equalsIgnoreCase(field.getValue()) || "false".equalsIgnoreCase(field.getValue()))
{
- if (_for == null)
- _for = new PortSetHostPort(_request.getRemoteHost(), port);
- else if (_for instanceof PossiblyPartialHostPort && _for.getPort() <= 0)
- _for = new HostPort(HostPort.normalizeHost(_for.getHost()), port);
+ _secure = false;
+ updateProto(HttpScheme.HTTP.asString(), Source.XPROXIED_HTTPS);
+ updatePort(MutableHostPort.IMPLIED, Source.XPROXIED_HTTPS);
}
else
{
- if (_host == null)
- _host = new PortSetHostPort(_request.getServerName(), port);
- else if (_host instanceof PossiblyPartialHostPort && _host.getPort() <= 0)
- _host = new HostPort(HostPort.normalizeHost(_host.getHost()), port);
+ throw new BadMessageException("Invalid value for " + field.getName());
}
}
- @SuppressWarnings("unused")
- public void handleHttps(HttpField field)
- {
- if (_proto == null && ("on".equalsIgnoreCase(field.getValue()) || "true".equalsIgnoreCase(field.getValue())))
- _proto = HttpScheme.HTTPS.asString();
- }
-
- @SuppressWarnings("unused")
+ /**
+ * Called if header is Forwarded
+ */
public void handleRFC7239(HttpField field)
{
addValue(field.getValue());
@@ -688,34 +907,68 @@ protected void parsedParam(StringBuffer buffer, int valueLength, int paramName,
switch (name)
{
case "by":
+ {
if (!getProxyAsAuthority())
break;
if (value.startsWith("_") || "unknown".equals(value))
break;
- if (_host == null || !(_host instanceof Rfc7239HostPort))
- _host = new Rfc7239HostPort(value);
+ HostPort hostField = new HostPort(value);
+ getAuthority().setHostPort(hostField.getHost(), hostField.getPort(), Source.FORWARDED);
break;
+ }
case "for":
+ {
if (value.startsWith("_") || "unknown".equals(value))
break;
- if (_for == null || !(_for instanceof Rfc7239HostPort))
- _for = new Rfc7239HostPort(value);
+ HostPort hostField = new HostPort(value);
+ getFor().setHostPort(hostField.getHost(), hostField.getPort(), Source.FORWARDED);
break;
+ }
case "host":
+ {
if (value.startsWith("_") || "unknown".equals(value))
break;
- if (_host == null || !(_host instanceof Rfc7239HostPort))
- _host = new Rfc7239HostPort(value);
+ HostPort hostField = new HostPort(value);
+ getAuthority().setHostPort(hostField.getHost(), hostField.getPort(), Source.FORWARDED);
break;
+ }
case "proto":
- if (_proto == null || !_protoRfc7239)
- {
- _protoRfc7239 = true;
- _proto = value;
- }
+ updateProto(value, Source.FORWARDED);
break;
}
}
}
+
+ private void updateAuthority(String value, Source source)
+ {
+ HostPort hostField = new HostPort(value);
+ getAuthority().setHostPort(hostField, source);
+ }
+
+ private void updatePort(int port, Source source)
+ {
+ if (getForwardedPortAsAuthority())
+ {
+ getAuthority().setPort(port, source);
+ }
+ else
+ {
+ getFor().setPort(port, source);
+ }
+ }
+
+ private void updateProto(String proto, Source source)
+ {
+ if (source.priority() > _protoSource.priority())
+ {
+ _proto = proto;
+ _protoSource = source;
+
+ if (_proto.equalsIgnoreCase(_config.getSecureScheme()))
+ {
+ _secure = true;
+ }
+ }
+ }
}
}
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/HomeBaseWarning.java b/jetty-server/src/main/java/org/eclipse/jetty/server/HomeBaseWarning.java
index 1efaf1e5bd80..967e78e63ac2 100644
--- a/jetty-server/src/main/java/org/eclipse/jetty/server/HomeBaseWarning.java
+++ b/jetty-server/src/main/java/org/eclipse/jetty/server/HomeBaseWarning.java
@@ -68,7 +68,7 @@ public HomeBaseWarning()
{
StringBuilder warn = new StringBuilder();
warn.append("This instance of Jetty is not running from a separate {jetty.base} directory");
- warn.append(", this is not recommended. See documentation at http://www.eclipse.org/jetty/documentation/current/startup.html");
+ warn.append(", this is not recommended. See documentation at https://www.eclipse.org/jetty/documentation/current/startup.html");
LOG.warn("{}", warn.toString());
}
}
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java b/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java
index 5ca2bc8b9338..c751cfafe0d2 100644
--- a/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java
+++ b/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java
@@ -195,7 +195,7 @@ public static Request getBaseRequest(ServletRequest request)
private String _servletPath;
private String _pathInfo;
private boolean _secure;
- private String _asyncNotSupportedSource = null;
+ private Object _asyncNotSupportedSource = null;
private boolean _newContext;
private boolean _cookiesExtracted = false;
private boolean _handled = false;
@@ -1623,6 +1623,9 @@ public HttpSession getSession(boolean create)
throw new IllegalStateException("No SessionManager");
_session = _sessionHandler.newHttpSession(this);
+ if (_session == null)
+ throw new IllegalStateException("Create session failed");
+
HttpCookie cookie = _sessionHandler.getSessionCookie(_session, getContextPath(), isSecure());
if (cookie != null)
_channel.getResponse().replaceCookie(cookie);
@@ -1949,7 +1952,7 @@ public void removeEventListener(final EventListener listener)
_requestAttributeListeners.remove(listener);
}
- public void setAsyncSupported(boolean supported, String source)
+ public void setAsyncSupported(boolean supported, Object source)
{
_asyncNotSupportedSource = supported ? null : (source == null ? "unknown" : source);
}
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/Server.java b/jetty-server/src/main/java/org/eclipse/jetty/server/Server.java
index ae3ab7df2a50..404cc69815a5 100644
--- a/jetty-server/src/main/java/org/eclipse/jetty/server/Server.java
+++ b/jetty-server/src/main/java/org/eclipse/jetty/server/Server.java
@@ -376,7 +376,7 @@ protected void doStart() throws Exception
if (!Jetty.STABLE)
{
LOG.warn("THIS IS NOT A STABLE RELEASE! DO NOT USE IN PRODUCTION!");
- LOG.warn("Download a stable release from http://download.eclipse.org/jetty/");
+ LOG.warn("Download a stable release from https://download.eclipse.org/jetty/");
}
HttpGenerator.setJettyVersion(HttpConfiguration.SERVER_VERSION);
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/DefaultHandler.java b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/DefaultHandler.java
index f1973f8dbfd1..b4b1577e62ff 100644
--- a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/DefaultHandler.java
+++ b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/DefaultHandler.java
@@ -190,8 +190,8 @@ public void handle(String target, Request baseRequest, HttpServletRequest reques
}
writer.append(" |