Commit Graph

4482 Commits

Author SHA1 Message Date
Greg Wilkins 2f2c9f2f3f Merge branch 'jetty-9.4.x-3361-thread-safe-setHandlers' of github.com:eclipse/jetty.project into jetty-9.4.x-3361-thread-safe-setHandlers 2019-03-21 10:05:45 +11:00
Greg Wilkins a2195e5fe3 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-3361-thread-safe-setHandlers 2019-03-21 10:05:24 +11:00
Simone Bordet 512886ae7f Issue #3361 thread safe addHandler
Code cleanup.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-03-20 10:51:16 +01:00
Jan Bartel e01eefe40e Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2019-03-20 18:39:53 +11:00
Greg Wilkins 338f56ea93 Issue #3361 thread safe addHandler
Improved names and javadoc.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-20 18:36:48 +11:00
Jan Bartel 432fc41a32
Jetty 9.4.x 3456 programmatic authentication (#3472)
* Issue #3456 Allow multiple programmatic login/logout in same request.

Signed-off-by: Jan Bartel <janb@webtide.com>
2019-03-20 18:19:55 +11:00
Greg Wilkins 1accced62f Issue #3361 thread safe addHandler
Added new thread safe methods deployHandler and undeployHandler

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-20 18:18:55 +11:00
Greg Wilkins 79c1700f62 Issue #3361 thread safe addHandler
Make handler list and context mappings controlled by a single CaS
operation

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-19 18:57:55 +11:00
Greg Wilkins 49eadc5246 Issue #3361 thread safe addHandler
Made Context mapping atomic with a volatile mapping

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-19 17:58:27 +11:00
Greg Wilkins b7e3d6ce5e Issue #3361 thread safe addHandler
Removed synchronization for now, leaving just some cleanups

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-19 16:40:45 +11:00
Greg Wilkins d6ed19a97c Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-3361-thread-safe-setHandlers 2019-03-19 16:12:50 +11:00
Greg Wilkins eab971e2cc Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-19 09:45:20 +11:00
Joakim Erdfelt 95a6b76851 Merge branch `jetty-9.4.x` into `jetty-10.0.x`
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	examples/embedded/src/main/java/org/eclipse/jetty/embedded/OneWebApp.java
#	jetty-osgi/test-jetty-osgi/pom.xml
#	jetty-server/src/main/java/org/eclipse/jetty/server/Server.java
#	jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServerFactory.java
2019-03-15 16:00:59 -05:00
Greg Wilkins 59b026efce Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-14 18:22:29 +11:00
Greg Wilkins ffdbbd1821 Issue #3440 Stop failed lifecycle
check that contexts after error are not started.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-14 09:07:16 +11:00
Joakim Erdfelt 012bfddddc Issue #3012 - Adding Cookie Compliance Listener support.
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-03-13 12:35:02 -05:00
Greg Wilkins 481cedaa94 Issue #3012 Compliance modes.
Fixed up httpCompliance configuration.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-13 16:43:11 +11:00
Greg Wilkins d8695f0712 Issue #3012 Compliance modes.
added valueOf methods for XML calls.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-13 15:43:38 +11:00
Greg Wilkins 6db357d2fc Completed implementation of GzipRequestCustomizer 2019-03-13 13:30:54 +11:00
Greg Wilkins 0fb17bff76 Issue #3012 Compliance modes.
Updated unit tests for messages and reasons

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-13 11:47:11 +11:00
Greg Wilkins 73ad887ce8 Issue #3012 Compliance modes.
Added an abstraction of general compliance mode, violation and listener

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-13 09:17:46 +11:00
Greg Wilkins c1f6f6b608 Implementation of a request customizer to do gzip inflation
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-12 18:05:41 +11:00
Greg Wilkins 76a37352f5 Issue #3440 Stop on Unavailable
+ revert schedulers to non-daemon threads for now so this PR can
   proceed.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-12 09:21:19 +11:00
Greg Wilkins a9707471a0 Issue #3440 Stop on Unavailable
+ ContainerLifeCycle stops started beans on failure.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-11 17:10:03 +11:00
Greg Wilkins 054d7f240e Issue #3440 Stop on Unavailable
+ cleanup after review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-11 16:41:20 +11:00
Greg Wilkins 375ad81f4b Issue #3440 Stop on Unavailable
+ Any schedulers created are named (for ease of debug) and daemon
   so they do not stop the JVM exiting.
 + If the server.doStart() fails, it calls server.doStop to ensure
   connectors are stopped, ports are free etc.
 + cleanup of addBean handling of scheduler in proxy

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-07 15:10:53 +11:00
Greg Wilkins 92e120bcac Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-3012-Compliance 2019-03-07 07:46:32 +11:00
Greg Wilkins a31ba98e29 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-07 07:45:28 +11:00
Greg Wilkins a652ce20ee Issue #3012 refactored HttpCompliance
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-06 17:20:31 +11:00
Greg Wilkins dbf0d2e6be Issue #3421 Duplicate session set-cookie (#3426)
Added Response.replaceCookieuse replaceCookie in sessions
unit tests

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-06 14:44:48 +11:00
Joakim Erdfelt 0bccaf0246 Issue #3427 - Testing .getClassPath() handling of directory with spaces
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-03-05 11:48:27 -05:00
Greg Wilkins aa2064f02f Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-05 10:40:52 +11:00
Greg Wilkins 73e68ac7b5 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-3404-QCSV-Doubles 2019-03-05 08:52:36 +11:00
Joakim Erdfelt 5658bf96f6 Issue #1676 - Removing Deprecated Resource.getURL()
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-03-01 10:21:42 -05:00
Greg Wilkins ca8a10a9d5 Issue #3404 Cleanup QCSV mime ordering
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-01 10:17:02 +11:00
Joakim Erdfelt e476cec6d3 Issue #1676 - Removing deprecated methods and classes
+ Changing usages of JVM deprecated classes / methods as well
+ Cleaning up test cases and javadoc
+ Removing test methods that rely on deprecated and now removed concepts

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-02-28 17:54:28 -05:00
Joakim Erdfelt ddc904f1f6 Merge branch `jetty-9.4.x` into `jetty-10.0.x`
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	VERSION.txt
#	aggregates/jetty-all-compact3/pom.xml
#	aggregates/jetty-all/pom.xml
#	apache-jsp/pom.xml
#	apache-jstl/pom.xml
#	examples/async-rest/async-rest-jar/pom.xml
#	examples/async-rest/async-rest-webapp/pom.xml
#	examples/async-rest/pom.xml
#	examples/embedded/pom.xml
#	examples/pom.xml
#	jetty-alpn/jetty-alpn-client/pom.xml
#	jetty-alpn/jetty-alpn-conscrypt-client/pom.xml
#	jetty-alpn/jetty-alpn-conscrypt-server/pom.xml
#	jetty-alpn/jetty-alpn-java-client/pom.xml
#	jetty-alpn/jetty-alpn-java-server/pom.xml
#	jetty-alpn/jetty-alpn-openjdk8-client/pom.xml
#	jetty-alpn/jetty-alpn-openjdk8-server/pom.xml
#	jetty-alpn/jetty-alpn-server/pom.xml
#	jetty-alpn/pom.xml
#	jetty-annotations/pom.xml
#	jetty-ant/pom.xml
#	jetty-bom/pom.xml
#	jetty-cdi/cdi-2/pom.xml
#	jetty-cdi/cdi-core/pom.xml
#	jetty-cdi/cdi-full-servlet/pom.xml
#	jetty-cdi/cdi-servlet/pom.xml
#	jetty-cdi/cdi-websocket/pom.xml
#	jetty-cdi/pom.xml
#	jetty-cdi/test-cdi-webapp/pom.xml
#	jetty-client/pom.xml
#	jetty-continuation/pom.xml
#	jetty-deploy/pom.xml
#	jetty-distribution/pom.xml
#	jetty-documentation/pom.xml
#	jetty-fcgi/fcgi-client/pom.xml
#	jetty-fcgi/fcgi-server/pom.xml
#	jetty-fcgi/pom.xml
#	jetty-gcloud/jetty-gcloud-session-manager/pom.xml
#	jetty-gcloud/pom.xml
#	jetty-hazelcast/pom.xml
#	jetty-home/pom.xml
#	jetty-http-spi/pom.xml
#	jetty-http/pom.xml
#	jetty-http2/http2-alpn-tests/pom.xml
#	jetty-http2/http2-client/pom.xml
#	jetty-http2/http2-common/pom.xml
#	jetty-http2/http2-hpack/pom.xml
#	jetty-http2/http2-http-client-transport/pom.xml
#	jetty-http2/http2-server/pom.xml
#	jetty-http2/pom.xml
#	jetty-infinispan/pom.xml
#	jetty-io/pom.xml
#	jetty-jaas/pom.xml
#	jetty-jaspi/pom.xml
#	jetty-jmh/pom.xml
#	jetty-jmh/src/main/java/org/eclipse/jetty/http/jmh/MultiPartBenchmark.java
#	jetty-jmx/pom.xml
#	jetty-jndi/pom.xml
#	jetty-jspc-maven-plugin/pom.xml
#	jetty-maven-plugin/pom.xml
#	jetty-memcached/jetty-memcached-sessions/pom.xml
#	jetty-memcached/pom.xml
#	jetty-nosql/pom.xml
#	jetty-osgi/jetty-osgi-alpn/pom.xml
#	jetty-osgi/jetty-osgi-boot-jsp/pom.xml
#	jetty-osgi/jetty-osgi-boot-warurl/pom.xml
#	jetty-osgi/jetty-osgi-boot/pom.xml
#	jetty-osgi/jetty-osgi-httpservice/pom.xml
#	jetty-osgi/pom.xml
#	jetty-osgi/test-jetty-osgi-context/pom.xml
#	jetty-osgi/test-jetty-osgi-fragment/pom.xml
#	jetty-osgi/test-jetty-osgi-server/pom.xml
#	jetty-osgi/test-jetty-osgi-webapp/pom.xml
#	jetty-osgi/test-jetty-osgi/pom.xml
#	jetty-plus/pom.xml
#	jetty-proxy/pom.xml
#	jetty-quickstart/pom.xml
#	jetty-rewrite/pom.xml
#	jetty-runner/pom.xml
#	jetty-security/pom.xml
#	jetty-server/pom.xml
#	jetty-servlet/pom.xml
#	jetty-servlets/pom.xml
#	jetty-spring/pom.xml
#	jetty-start/pom.xml
#	jetty-unixsocket/pom.xml
#	jetty-util-ajax/pom.xml
#	jetty-util/pom.xml
#	jetty-webapp/pom.xml
#	jetty-websocket/javax-websocket-client-impl/pom.xml
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/AbstractJsrRemote.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/ClientContainer.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrCallable.java
#	jetty-websocket/javax-websocket-server-impl/pom.xml
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/OnPartialTest.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/SessionTrackingTest.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/samples/echo/ConfiguredEchoSocket.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/samples/echo/LargeEchoAnnotatedSocket.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/samples/echo/LargeEchoConfiguredSocket.java
#	jetty-websocket/jetty-websocket-tests/pom.xml
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/CloseTrackingEndpoint.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/BadNetworkTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientCloseTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientOpenSessionTracker.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientSessionsTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientWriteThread.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/SlowClientTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/ContainerEndpoint.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/ServerCloseCreator.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/ServerCloseTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/SlowServerTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/resources/jetty-logging.properties
#	jetty-websocket/pom.xml
#	jetty-websocket/websocket-api/pom.xml
#	jetty-websocket/websocket-api/src/main/java/org/eclipse/jetty/websocket/api/StatusCode.java
#	jetty-websocket/websocket-api/src/main/java/org/eclipse/jetty/websocket/api/WriteCallback.java
#	jetty-websocket/websocket-api/src/main/java/org/eclipse/jetty/websocket/api/extensions/IncomingFrames.java
#	jetty-websocket/websocket-client/pom.xml
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketClient.java
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketUpgradeRequest.java
#	jetty-websocket/websocket-client/src/test/resources/jetty-logging.properties
#	jetty-websocket/websocket-common/pom.xml
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/LogicalConnection.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/Parser.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketRemoteEndpoint.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/AbstractEventDriver.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/EventDriver.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/JettyAnnotatedEventDriver.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/AbstractExtension.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/ExtensionStack.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/identity/IdentityExtension.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/AbstractWebSocketConnection.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/FrameFlusher.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/FramePipes.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/scopes/DelegatedContainerScope.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/scopes/SimpleContainerScope.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/scopes/WebSocketContainerScope.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ClosePayloadParserTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/GeneratorParserRoundtripTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ParserTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/PingPayloadParserTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/RFC6455ExamplesParserTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/TextPayloadParserTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/WebSocketRemoteEndpointTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase1_1.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase1_2.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase2.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase7_3.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventDriverTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/DummyIncomingFrames.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/DeflateFrameExtensionTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/FrameFlusherTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/LocalWebSocketConnection.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/BlockheadClient.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/BlockheadConnection.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/DummyConnection.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/IncomingFramesCapture.java
#	jetty-websocket/websocket-server/pom.xml
#	jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServerFactory.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/IdleTimeoutTest.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/SimpleServletServer.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WebSocketProtocolTest.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/ABSocket.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/examples/echo/BigEchoSocket.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/helper/RFCSocket.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/helper/SessionSocket.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/misbehaving/MisbehavingClassTest.java
#	jetty-websocket/websocket-server/src/test/resources/jetty-logging.properties
#	jetty-websocket/websocket-servlet/pom.xml
#	jetty-xml/pom.xml
#	pom.xml
#	tests/pom.xml
#	tests/test-continuation/pom.xml
#	tests/test-distribution/pom.xml
#	tests/test-http-client-transport/pom.xml
#	tests/test-integration/pom.xml
#	tests/test-jmx/jmx-webapp-it/pom.xml
#	tests/test-jmx/jmx-webapp/pom.xml
#	tests/test-jmx/pom.xml
#	tests/test-loginservice/pom.xml
#	tests/test-quickstart/pom.xml
#	tests/test-sessions/pom.xml
#	tests/test-sessions/test-file-sessions/pom.xml
#	tests/test-sessions/test-gcloud-sessions/pom.xml
#	tests/test-sessions/test-hazelcast-sessions/pom.xml
#	tests/test-sessions/test-infinispan-sessions/pom.xml
#	tests/test-sessions/test-infinispan-sessions/src/test/java/org/eclipse/jetty/server/session/ClusteredSessionScavengingTest.java
#	tests/test-sessions/test-jdbc-sessions/pom.xml
#	tests/test-sessions/test-memcached-sessions/pom.xml
#	tests/test-sessions/test-mongodb-sessions/pom.xml
#	tests/test-sessions/test-sessions-common/pom.xml
#	tests/test-webapps/pom.xml
#	tests/test-webapps/test-http2-webapp/pom.xml
#	tests/test-webapps/test-jaas-webapp/pom.xml
#	tests/test-webapps/test-jetty-webapp/pom.xml
#	tests/test-webapps/test-jndi-webapp/pom.xml
#	tests/test-webapps/test-mock-resources/pom.xml
#	tests/test-webapps/test-proxy-webapp/pom.xml
#	tests/test-webapps/test-servlet-spec/pom.xml
#	tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml
#	tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml
#	tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml
#	tests/test-webapps/test-simple-webapp/pom.xml
#	tests/test-webapps/test-webapp-rfc2616/pom.xml
2019-02-28 08:26:58 -05:00
Simone Bordet 676b7ecaba Issue #1861 - Limit total bytes pooled by ByteBufferPools.
Added a bytebufferpool module to be able to configure
the ByteBufferPool used by ServerConnectors.

Added JMX methods to the ByteBufferPool implementations.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-27 17:16:09 +01:00
Greg Wilkins b478332793 Issue #3361 thread set setHandlers
protect handler mutation with synchronized.
Correctly use copy-on-write semantics for accessing volatile

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-02-20 14:15:51 +11:00
Simone Bordet 83b53f102c
Merge pull request #3336 from eclipse/jetty-10.0.x-3290-websocket-close
Jetty 10.0.x #3290 websocket close
2019-02-18 10:49:33 +01:00
Joakim Erdfelt 9cdb59d4d7 Updating to version 9.4.16-SNAPSHOT 2019-02-15 13:35:15 -05:00
Joakim Erdfelt eb70b24016 Updating to version 9.4.15.v20190215 2019-02-15 11:53:00 -05:00
Simone Bordet 477d7cf1da
Merge pull request #3342 from eclipse/jetty-10.0.x-3320-review_module_info
Fixes #3320 - Review Jetty 10 module-info.java.
2019-02-12 21:51:36 +01:00
Simone Bordet bd6feceeb1
Merge pull request #3331 from eclipse/jetty-10.0.x-3225-sendErrorNoReason
Issue #3225 sendError does not set reason.
2019-02-12 16:20:58 +01:00
Simone Bordet b9f89af847 Fixes #3320 - Review Jetty 10 module-info.java.
Reviewed module-info.java files.
For those that have a "requires static" added a comment about
why the dependency is optional.
Rearranged directives in alphabetical order.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-08 17:30:27 +01:00
Simone Bordet e2506d4811
Merge pull request #3168 from eclipse/jetty-10.0.x-3162_jetty_servlet_api
Issue #3162 - Use Jetty specific Servlet API jar.
2019-02-07 17:33:14 +01:00
Greg Wilkins 11dfe70fc2 Add a Throwable case to EndPoint and Connection onClose notifications
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-02-07 11:55:40 +11:00
Greg Wilkins fd3e2157ba Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-3225-sendErrorNoReason 2019-02-07 07:49:12 +11:00
Jan Bartel fb90666931 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2019-02-06 17:24:06 +11:00
Greg Wilkins 5d9c55be8f Issue #3225 sendError does not set reason.
The message string passed to sendError should only be used for the
error page content and not for the reason string.

Setting the reason in a response via setStatus(int,String) is deprecated

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-02-06 17:12:02 +11:00
Joakim Erdfelt 0817928ea6 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-3162_jetty_servlet_api 2019-02-04 19:49:34 -06:00
Joakim Erdfelt b09f1de035 Issue #3162 - Fixing compilation issues 2019-02-04 19:32:00 -06:00
Greg Wilkins 7fca634292 fixed bad merge
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-02-05 10:48:07 +11:00
Jan Bartel aeba829b33
Issue #3308 Remove deprecated session methods (#3309)
Signed-off-by: Jan Bartel <janb@webtide.com>
2019-02-05 10:08:49 +11:00
Simone Bordet cd488c2d7d Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-3162_jetty_servlet_api'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-04 23:11:32 +01:00
Simone Bordet d22ec03acc
Merge pull request #3287 from eclipse/jetty-9.4.x-3049-sslcontextfactory_warnings
Issue #3049 - Warn on common SslContextFactory problematic configurations
2019-02-04 22:56:32 +01:00
Simone Bordet 6c0eee7012
Merge pull request #3322 from eclipse/jetty-9.4.x-3210-unmanaged_threadpool
Fixes #3210 - Threadpool module creates unmanged threadpool.
2019-02-04 22:52:30 +01:00
Greg Wilkins 0809228549 Issue #3317 avoid double log of exception
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-02-05 08:28:37 +11:00
Greg Wilkins 2405e5417d Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-02-05 08:24:38 +11:00
Greg Wilkins 051edc94d7 Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-02-05 08:21:38 +11:00
Simone Bordet 6a64031840 Fixes #3210 - Threadpool module creates unmanged threadpool.
The thread pool is now created as a nested object, rather than a top
level object, so that it is not started before the Server instance.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-04 19:40:29 +01:00
Simone Bordet 0d89f29e1b Issue #3162 - Use Jetty specific Servlet API jar.
* Updated module-info.java to reference the "jetty.servlet.api" module.
* Updated POMs to reference the o.e.j.toolchain:jetty-servlet-api artifact.
* Removed references to jetty-schemas.jar.
* Updated attribute "org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern"
  to match the new Jetty Servlet API jar.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-04 18:51:26 +01:00
Simone Bordet da490673af Fixes #3311 - Ability to serve HTTP and HTTPS from the same port.
Updated implementation and tests after reviews.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-03 14:24:07 +01:00
alexey.barsov 25afa868da Issue #3302 Supporting host:ip in X-Forwarded-For (fixing unit tests)
Signed-off-by: alexey.barsov <alexey.barsov@jetbrains.com>
2019-02-01 15:48:58 +01:00
alexey.barsov 803a45b43b Issue #3302 Supporting host:ip in X-Forwarded-For (fixing review remarks)
Signed-off-by: alexey.barsov <alexey.barsov@jetbrains.com>
2019-02-01 15:38:33 +01:00
Simone Bordet d9855fb1bc Fixes #3311 - Ability to serve HTTP and HTTPS from the same port.
Do not assume that the read from the network produced more than 1 byte.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-01 09:14:32 +01:00
Simone Bordet 5061a5ca30 Fixes #3311 - Ability to serve HTTP and HTTPS from the same port.
Fixed handling of upgradeTo() in case of null buffers.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-01-31 17:15:07 +01:00
Simone Bordet ccda1ee5f6 Fixes #3311 - Ability to serve HTTP and HTTPS from the same port.
Introduced PlainOrSslConnectionFactory, to "sniff" the first bytes
on a connection and upgrade to SSL (if the bytes are TLS bytes), or
upgrade to a specific, configured, protocol.

Added also the ability to fail the upgrade in case of a `http`
request to a `https` port and write a minimal response to the client.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-01-31 13:23:58 +01:00
Joakim Erdfelt c30c8d4339 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-3162_jetty_servlet_api
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	jetty-client/pom.xml
#	jetty-http/pom.xml
#	jetty-http2/http2-client/pom.xml
#	jetty-http2/http2-http-client-transport/pom.xml
#	jetty-http2/http2-server/pom.xml
#	jetty-osgi/test-jetty-osgi/pom.xml
#	jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-with-custom-class.xml
#	jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty.xml
#	jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootHTTP2Conscrypt.java
#	jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithAnnotations.java
#	jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithJavaxWebSocket.java
#	jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithWebSocket.java
#	jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestOSGiUtil.java
#	jetty-quickstart/pom.xml
#	jetty-servlets/pom.xml
#	jetty-util/pom.xml
#	jetty-websocket/javax-websocket-client/pom.xml
#	jetty-websocket/javax-websocket-server/pom.xml
#	jetty-websocket/jetty-websocket-server/pom.xml
#	pom.xml
2019-01-30 11:56:58 -06:00
alexey.barsov edf74a6554 Issue #3302 Supporting host:ip in X-Forwarded-For
Signed-off-by: alexey.barsov <foster_licey_reg@mail.ru>
2019-01-30 11:11:44 +01:00
Jan Bartel e789cd6834 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2019-01-30 14:26:52 +11:00
Jan Bartel 169d93e790
Jetty 9.4.x 3284 sessions and system clock jitter (#3296)
* Issue 3284 System clock jitter can affect session timers.

Signed-off-by: Jan Bartel <janb@webtide.com>
2019-01-30 14:02:35 +11:00
Simone Bordet e4d78608a7 Issue #3049 - Warn on common SslContextFactory problematic configurations.
Made default endpointIdentificationAlgorithm=HTTPS to avoid warnings
when SslContextFactory is used on a server.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-01-23 17:31:41 +01:00
Lachlan Roberts 2fc6185c29 Issue #3236 - fixed CustomRequestLogTest failure when JAVA_HOME not set
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-15 13:11:06 -06:00
Joakim Erdfelt 74df6bf1a9 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	jetty-maven-plugin/src/it/it-parent-pom/pom.xml
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ConfiguratorTest.java
#	jetty-websocket/javax-websocket-server/src/main/java/org/eclipse/jetty/websocket/javax/server/JavaxWebSocketServerContainerInitializer.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/AbstractWebSocketConnection.java
#	jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/core/AbstractExtension.java
#	jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/core/internal/ExtensionStack.java
#	jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/core/internal/FrameFlusher.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/browser/BrowserDebugTool.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/browser/BrowserSocket.java
#	jetty-websocket/websocket-server/src/test/resources/browser-debug-tool/index.html
#	jetty-websocket/websocket-server/src/test/resources/browser-debug-tool/websocket.js
2019-01-11 12:11:38 -06:00
Joakim Erdfelt e9143725b0 Issue #3242 - Post-review cleanup of ProxyEndPoint
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-01-11 10:23:51 -06:00
Joakim Erdfelt aad5e97336 Issue #3242 - Relying on EndPoint.toString() for ProxyEndPoint.toString()
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-01-08 15:48:22 -06:00
Lachlan Roberts 07035b7376 Issue #3236 - fixed CustomRequestLogTest failure when JAVA_HOME not set
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-04 09:36:53 +11:00
olivier lamy 63f2023e05 happy new year!!
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-01-01 12:17:53 +10:00
Olivier Lamy 9b7afd8a03
Happy new year!! (#3232)
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-01-01 11:52:16 +10:00
olivier lamy 6ff23e296d Merge branch 'jetty-9.4.x' into jetty-10.0.x 2018-12-22 22:00:07 +10:00
Greg Wilkins 8f06fa8083 Issue #3207
updates after review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-12-20 08:53:16 +11:00
Greg Wilkins 225760c2de Issue #3207
Fix #3207 by providing async compliant print methods

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-12-19 13:57:58 +11:00
Jan Bartel 4abc4f8dd4 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-12-19 10:54:41 +11:00
Greg Wilkins 503bd71d4c Issue #3202
Handle async cross context session completion
2018-12-18 16:00:46 +11:00
Greg Wilkins 06bbab50f9 Issue #3202
Handle async cross context session completion
2018-12-18 14:07:16 +11:00
Jan Bartel 34b6ecec6c Issue #3202 Ensure sessions created during async are cleaned up.
Signed-off-by: Jan Bartel <janb@webtide.com>
2018-12-18 09:32:12 +11:00
Greg Wilkins fb06b82172 Issue #3030 ignore identity content encoding during parameter extraction
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-12-13 13:42:08 +11:00
Bjørn Christian Seime 71c0e47446 Change access of LowResourceCheck to public
This interface is currently package-private while it's in the
signature of several public methods (e.g. addLowResourceCheck, getLowResourceChecks)

Signed-off-by: Bjørn Christian Seime <bjorncs@yahoo-inc.com>
2018-12-10 13:39:29 +01:00
Greg Wilkins 18b0ad842a
Merge pull request #3160 from eclipse/jetty-10.0.x-113-customrequestlog
Issue #113 CustomRequestLog as default in jetty-10
2018-12-01 16:32:45 +01:00
Greg Wilkins 81ca90b1f6 Issue #113
Deletes the deprecated NcsaRequestLog classes
Updates modules to use CustomRequestLog by default
Move jetty-customrequestlog.xml from home to base

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-12-01 16:31:23 +01:00
Simone Bordet 707c9ec322 Issue #3162 - Use Jetty specific Servlet API jar.
Future proof reference of the jetty-servlet-api.jar.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-11-29 17:29:08 +01:00
Simone Bordet bfa2dbf68c Issue #3162 - Use Jetty specific Servlet API jar.
* Updated module-info.java to reference the "jetty.servlet.api" module.
* Updated POMs to reference the o.e.j.toolchain:jetty-servlet-api artifact.
* Removed references to jetty-schemas.jar.
* Updated attribute "org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern"
  to match the new Jetty Servlet API jar.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-11-29 16:51:29 +01:00
Simone Bordet 99d1983ebd Issue #3011 - Move HttpCompliance to HttpConfiguration.
Fixed jetty-https.xml.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-11-29 16:41:25 +01:00
Greg Wilkins aeb200e583 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-11-29 12:10:58 +01:00
Greg Wilkins 132aef4420 Issue #113
default to extended format

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-29 12:10:18 +01:00
Greg Wilkins 0d4e20b964 Issue #113
Fixed merge to 10
2018-11-29 11:08:55 +01:00
Greg Wilkins bbc7037171 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-11-29 11:06:49 +01:00
Greg Wilkins 7742650fa5 Issue #113
Fixed property names

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-29 10:55:00 +01:00
Greg Wilkins fc39e96653 Issue #113
Updated customrequestlog module defaults for timezone

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-29 10:34:42 +01:00
Greg Wilkins e7d4f55891 Issue #113
Use CustomRequestLog in examples.
Convenience constructors

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-29 10:13:12 +01:00
Greg Wilkins 720e561008 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-11-29 09:32:50 +01:00
Greg Wilkins bda9307028
Merge pull request #3144 from lachlan-roberts/jetty-9.4.x
Issue #113 - CustomRequestLog
2018-11-29 09:29:43 +01:00
Lachlan Roberts 472d7a1529 Issue #113 - latency test failures fixed
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-28 22:28:40 +01:00
Lachlan Roberts c2749ff5e3 Issue #113 - fixed documentation inconsistency
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-28 16:22:37 +01:00
Lachlan Roberts e58fd93742 Issue #113 - StacklessLogging for NcsaRequestLogTest expected exceptions
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-28 16:05:03 +01:00
Lachlan Roberts 982895719c Issue #113 - changes from review and bug fixes
%t now takes in locale and timezone in the format string argument
instead of getting it from the setters on the CustomRequestLog class

fixed issue with multiline format strings

requestLog writers are now managed objects

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-28 14:58:28 +01:00
Lachlan Roberts 63aa9ce97d Issue #113 - problems with latency tests and request handler name
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-28 10:52:17 +01:00
Lachlan Roberts 8aa3655c55 Issue #113 - fix to failing tests
removed tests for %B and %b which have been removed in favor of %O
adjusted the NcsaRequestLogTest to only test ExtendedNCSA format

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-28 09:26:55 +01:00
Lachlan Roberts b97c80b3c1 Issue #113 - testing of logConnectionStatus implemented
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-27 14:26:31 +01:00
Lachlan Roberts b35df419bb Issue #113 - reformat, javadoc update and changes after review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-27 14:26:12 +01:00
Lachlan Roberts 2cd579353c Issue #113 - fix javadoc errors
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-26 14:12:16 +01:00
Greg Wilkins 1e15e3e941 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-11-24 16:49:40 +01:00
Lachlan Roberts 7c0ea57923 Issue #113 - CustomRequestLog terminology refactor
replaced terminology for addresses and ports to use
client and server referring to the logical connection and
local and remote referring to the physical connection to the first hop

finished implementing tests in CustomRequestLogTest otherwise
disabled tests which will be verified manually instead

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-24 10:28:57 +01:00
Greg Wilkins 97cb063a57 Merge branch 'jetty-9.4.x' of github.com:eclipse/jetty.project into jetty-9.4.x 2018-11-23 17:01:39 +01:00
Greg Wilkins 92317a7bb4 Issue #3132 improve dump readability
fixed tests

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-23 16:54:36 +01:00
Jan Bartel 506e4dc682 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-11-23 16:45:32 +01:00
Jan Bartel 4e672c6b27
Issue #2646 - Better handle concurrent calls to change session id and invalidate within a context (#2670)
* Issue #2646 handle concurrent invalidate/changeid calls

Signed-off-by: Jan Bartel <janb@webtide.com>
2018-11-23 16:15:27 +01:00
Lachlan Roberts 771f120508 Issue #113 - customrequestlog module
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-22 20:01:19 +01:00
Simone Bordet 5f972b451c
Jetty 10.0.x 2978 add module info (#3120)
Fixes #2978 - Add module-info to relevant Jetty modules.

Added module-info.java for Jetty modules that are not test modules.
Moved jetty-http test utility classes to new module "jetty-http-tools".
Removed generation of test-jar from websocket-core.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-11-22 12:37:35 +01:00
Lachlan Roberts 112d57f474 Issue #113 - CustomRequestLog
added missing copyright header in some new files

added CustomRequestLogTest in jetty-servlet to test things like
logFilename and logRequestHandler

the log strings produced do no longer contain a trailing newline

implemented more tests in CustomRequestLogTest
and finished implementing some of the logging in CustomRequestLog

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-22 10:32:22 +01:00
Greg Wilkins 7dcc9d2829 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-11-20 14:10:52 +01:00
Greg Wilkins 8c4ee8496f
Jetty 9.4.x 3038 ssl connection leak (#3121)
Issue #3038 - SSL connection leak.

Fixed SSL spin caused when fill had NEED_WRAP, but a flush/wrap
produced 0 bytes and stayed in NEED_WRAP

Removed check of isInputShutdown prior to filling that allowed EOF to
overtake data already read.

Fix for leak by shutting down output in HttpConnection if
filled -1 and the HttpChannelState was no longer processing
current request.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-20 13:53:42 +01:00
Lachlan Roberts 6040bd3497 Issue #113 - AbstractNCSARequestLog no longer abstract and test cleanups
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-19 15:05:47 +01:00
Lachlan Roberts cc1ae54feb Issue #113 - Parameterized RequestLogTest to test NCSA format string
renamed to NcsaRequestLogTest as is only testing NCSA log formats

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-19 14:53:48 +01:00
Lachlan Roberts e4d30b367c Issue #113 - Added Request Log Writers
Introduced the RequestLog.Writer where a RequestLog takes a writer
which manages what to do with the log strings produced by the RequestLog

deprecated the NCSA and SLF4J RequestLogs in favor of CustomRequestLog

Implemented more format codes in CustomRequestLog

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-19 13:58:53 +01:00
Greg Wilkins 7dd3cfffe6 Issue #113 channel persistance and completed getters
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-15 14:36:40 +01:00
Joakim Erdfelt 29fd18e046 Updating to version 9.4.15-SNAPSHOT 2018-11-14 16:42:40 -06:00
Joakim Erdfelt c4550056e7 Updating to version 9.4.14.v20181114 2018-11-14 15:19:10 -06:00
Lachlan Roberts 7ca6577ac6 Issue 113 - CustomRequestLog
fixed parsing issues for the format string by parsing left to right
and reversing the list of parsed tokens

reduced to parsing to single regex expression

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-13 14:51:06 +01:00
Joakim Erdfelt a903017f5f Updating to version 9.4.14-SNAPSHOT 2018-11-11 21:06:50 -06:00
Joakim Erdfelt 49123a3313 Updating to version 9.4.13.v20181111 2018-11-11 20:02:42 -06:00
Simone Bordet 422f4d9341 Issue #3085 - Restore Dump methods for backwards compatibility reasons.
Removed dead code.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-11-09 18:53:50 +01:00
Simone Bordet 2fd6266f62 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2018-11-09 18:25:03 +01:00
Simone Bordet f814354bb5 Issue #3085 - Restore Dump methods for backwards compatibility reasons.
Restored removed methods to maintain backwards compatibility.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-11-09 17:47:46 +01:00
Lachlan Roberts 1e50b371fe Issue 113 - CustomRequestLog
javadoc cleanup

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-08 18:39:29 +01:00
Lachlan Roberts 0d8369c5c1 Issue 113 - CustomRequestLog
added test methods for all format codes

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-08 18:07:53 +01:00
Lachlan Roberts 3ce7016a35 Issue 113 - CustomRequestLog
added methods for each of the format codes described in javadoc

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-08 11:17:59 +01:00
Greg Wilkins d81c0cad24 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-07 14:06:21 +01:00
Greg Wilkins cf2de4411c
Issue #3041 separate CookieCompliance for parsing and generation (#3048)
* Issue #3041 separate CookieCompliance for parsing and generation

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* improved documentation

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* use only getters

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Rename setters to avoid setSetXxxx

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-07 10:03:18 +01:00
Lachlan Roberts 22e7679dd6 Issue 113 - CustomRequestLog
changed the log type to include the response

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-06 12:21:30 +01:00
Lachlan Roberts 4be4b4e7b4 Issue #113 - CustomRequestLog
update logHandle directly rather than creating list of tokens

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-06 12:16:22 +01:00
Lachlan Roberts 012d412ccb Issue #113 - CustomRequestLog
javadoc detailing the custom log formats

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-06 11:48:08 +01:00
Lachlan Roberts 557f40f41f Issue #113 - CustomRequestLog
created new CustomRequestLog class

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-06 11:46:26 +01:00
Jan Bartel 5f94f249a7 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-11-06 10:29:10 +01:00
Jan Bartel 871f73cdf6
Jetty 9.4.x 2932 switchable classloader for session attribute values (#2964) 2018-11-06 10:03:48 +01:00
Joakim Erdfelt 0912c58cdb Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-11-02 11:07:39 -05:00
Greg Wilkins 3995cd2ec0
Issue #3023 redirect to / when pathInfoOnly (#3047)
Issue #3023 redirect to / when pathInfoOnly (#3047)
2018-11-02 16:38:43 +01:00
Greg Wilkins 9003a0fd69
Jetty 10.0.x websocket refactor (#3055)
* Adding more todos
* More websocket test updates
* Adding more information to exception about mismatched hash
* AcceptHash improved testing
* Prevent duplicate request headers
* Removing ability to use LocalFuzzer entirely (until its fixed)
* JSR356 HandshakeResponse header modifications are now allowed during Configurator
* Correcting MessageSink creation
* Using proper sub-protocol
* Metadata remembers OnMessage.maxMessageSize now
* Minor test updates
* Issue #2172 - Fixing JSR-356 Decoder discovery and OnMessage wiring
* More websocket test updates
* Update for null/empty payload
* Partial String Message Sink fix
* More websocket fixes around InputStream handling
* Moving proposed Abstract FrameHandler hierarchy into core main
* More testing fixes, along with a change to use the new core Abstract*FrameHandler
* Adding WebSocket URI validation
* Updating copy found in other API with improvements made in first API.
* More websocket test updates
* Fixing compilation
* WebSocket test fixes
* Fixing ContinuationTest assertions
* fixed package
* Added some better examples of QuotedCSV
I think this test is trying to use QuotedCSV in the wrong way, as it often is offering values when it should be testing parameters.
I have added some examples to show that QuotedCSV is capable of handling the quotes, spaces and embedded commas of the tests, but only
for parameters and not for values.   The question is, is this sufficient for websocket?
* Improve close handling
The handling of a Close Frame may close the endpoint, so parsing should not continue
* moved old AbstractFrameHandler to test
* implement ingoing and outgoing frame sequence checking
* More work on javax.websocket parameterized server
* Bumping up pom plugin versions to jetty-9.4.x standards
* Merging up Jenkinsfile to attempt to fix CI build issues
* JSR356 @PathParam testing
* More WebSocket testing updates
* More WebSocket testing updates
* WebSocket Idle Timeout from FrameHandler specific policy
* WebSocket/JSR Pong support
* WebSocket/JSR Correcting MessageHandler.Whole<PongMessage> handling
* URL Decode UriTemplatePathSpec values
* Fixing test expectations
* Fixing AbstractWholeMessageHandler buffer flip
* More websocket test fixes
* Updated ALPN version for JDK 8u181.
* Removing QuotedUtil from WebSocket-core
+ Moved to QuotedCSV for most usages
+ Introduced HeaderUtil to satisfy remaining use cases
* Review of HttpClient names and Thread names.
+ Javax WebSocket Server = "Javax-WebSocketServer@####"
+ Javax WebSocket Client = "Javax-WebSocketClient@####"
* added OpCodeTest.java
* Minor Frame cleanup
* MessageOS cleanup
* Made the OpCode of WebSocket Frame immutable.
Frames can no longer be set as a continuation and should now be copied using the ContinuationFrame constructor
DataFrames can no longer be created without one of the subclasses as the public constructor was removed in favour of newDataFrame method
* Chat test
* Work on Chat Test
Moved implementation of assertValid to WebSocketFrame
Removed getFinRsvOp
* removed constructors for DataFrame using a basedOn Frame
instead use constructors with opCode, payload and fin bit
* refactor of WebSocket Frames WIP
* WIP: resolved failing tests
* CloseStatus rework, now use CloseStatus.toFrame to create Close Frames
new DelegateFrame class which ReadOnlyFrame extends
trim utf8 byte array in CloseStatus to utf8 character boundaries only
* working on test to test socket io erros in websocket-core
* renaming for clarity
Gave up on maintaining old names, as this is a different package anyway so some adaption will be needed regardless.
* Moved AbstractFrameHandlers to common
Only have a AbstractTestFrameHandler in core
* Close uses CloseStatus
Reduced the parsing and generation of CloseStatus when closing
* merge
* work on WebSocketTest
* cleanup log
* wip
* files missing comment header
jetty-jmh was using 9.4.12-SNAPSHOT now using 10.0.0-SNAPSHOT
* thread names
* remove sequence check from parser
* minor cleanups
* Call frameHandler externally to parser
* OpCode.check now throws ProtocolException instead of returning boolean
changed ProtocolException messages in OpCode.check
* removed Frame.Type and use OpCode instead
separated out FrameValidation for parser into method in WebSocketChannel
* moved remaining frame validation checks into WebSocketChannel
* referenced counted buffer
* cleanups
* wip on demand side
* First attempt at demandable
* demand control
* clean up reference counting
* clean ups
* WebSocketServerTest
* wip
* fixed auto fragmentation
* simple demand test
* test demand and retain
* Added validation back into the Parser
split up validation in WSChannel into methods for incoming and outgoing
fixed various tests in websocket-core
* more tests
* fixed remaining tests failing due to the changes to frame validation
* cleanups
* more autobahn refixes
* adjust mask for auto fragments
* clear mask
* fully close on unrecoverable error and not wait for close response
* Removed the CoreFuzzer and ContinuationTest
These tests are now covered elsewhere.
* remove declared exception onClosed
* Test delay close
* Test handler close
* fixed test dependency
* moved the frame sequence check from OutgoingState from after the ExtensionStack to channel.sendFrame
changed error handling to fail the callback of invalid/outOfSequence frames
added WebSocket Close tests revealing some problems with demand in state ICLOSE
* cleanup
* timing issues with WebSocketCloseTest
* test cleanups
* Cancel demand on close
* removed frame validation from generator
* finished close testing
* Issue #2901 - Moving Http Upgrader to Http Conversation
+ Solves for Authentication and Redirect
* changes from #2902 to jetty-10.0.x
* Validation Extension
introduced a ValidationExtension to do frame validation in the ExtensionStack
added the WebSocketChannel to ExtensionStack.connect to set it on the Extensions
* added parameters for ValidationExtension to choose what to validate
* ValidationExtension Cleanup
ValidationExtension now uses the Validation methods from its WebSocketChannel
simplified the parameter passing to the ValidationExtension
* core cleanup
* Fixed intermittent test failures
* clean up duplicates and imports
* simplified package structure
* many cleanups, simplifications and duplication removal
* cleanup
* added utf8 validation for text frames into ValidationExtension
added tests for utf8 validation
* create ValidationExtensionTest
* cleanup
* merge with jetty-10
update websocket to junit5
* fix to autobahn client report directory
* Fixes and cleanup
Fixed initial buffer too large for websocket buffer
less verbose debug
better debug
* Removed behavior from policy
* cleanup after merge from hell
* bug fixes and cleanups
* refactor packages with JPMS in mind
* unit test for TextMessageHandler
* cleanups
* more cleanups
* provided client/server dependencies
* fixed bad refactor
* use lambdas for TextMessageHandler
* cleanup
* cleanup
* cleanups
* cleanup of websocket-common framehandlers
* reverting to jetty websocket api from 9.4
* better chat
* renamed websocket common to util
* save wip on jetty-websocket-tests
* giving up on jetty-websocket-tests as mostly duplicated tests
* renamed websocket-util back to websocket-common
* moved InvalidWebSocketException to javax common
* reworked TextMessageHandler to MessageHandler
now handles binary messages as well
* implemented getByteBufferPool in remaining DummyChannel classes
* Moved the abstract Frame and Message handlers out of websocket-common
* replaced usages of AbstractWholeMessageHandler with CoreMessageHandler
renamed MessageHandler to CoreMessageHandler
* removed AbstractFrameTypeHandler
* cleanup
* jetty-websocket-common passing tests without websocket-common dependency
* fixed compile errors
* renamed MessageHandler
* Removing reference to websocket-server (no longer exists)
* Removing, Extensions now exist in websocket-core
* Do not append an empty ByteBuffer
* NPE Fix for empty/unused UTF-8 String Builder
* NPE Fix for SendPartialBinaryFrameHandler test
* Punching holes in WebAppContext needed for JSR356 use
* Updating "9.x.x" to "10.x.x"
* Removing Bad URI test case that is ignored
* Fixing test expectation now that we moved to QuotedCSV
* Adding TODO about onOpen failure requiring onError + onClose.
* Throwing JSR356 DeploymentException on addEndpoint() failure
* Test cleanup (for better error messages)
* Adding some comments to explain wrapNonVoidReturnType()
* cleanup methodHandle return type filtering
* test fixes
* Fix change return type to Void
* Fixed test by wiring up MessageHandler
* test cleanups
removed changeReturnType for MethodHandle as filterReturnValue already changes to return type of the filter
* fixed MessageReceivingTest.testPartialBinaryFrameHandler
* Core BatchMode replaced by boolean
* fixed LargeContainerTest.testEcho by allowing the policy to be set on the WSServer as an attribute
* acquire batchBuffer before calculating batchSpace in FrameFlusher
* Deprecated WebSocketPolicy
* Fixing MessageReceivingTest
* Refactoring out websocket-servlet
+ WebSocketPolicy removed from websocket-servlet
+ websocket-common is removed
+ Migrating back up to APIs
* WIP removing core policy
* added missing copyright headers
* customize client session
* customize cleanup
* wip
* wip
* Removing WebSocketPolicy usage within websocket-core
* Allowing DummyCoreSession to have a Behavior
* Removing core WebSocketPolicy.clonePolicy() - no longer used
* Jetty Native WebSocket now compiles / tests
* Remember WebSocketServletFactoryImpl as Context Attribute
* JSR356 codebase now compiles
* updated websocket servlets
* fix handling for no max message size
* Fixed LargeContainerTest.testEcho
Changed WebSocketServletFactoryImpl.defaultAutFragment to true
only check the incoming frame size if autoFragment is false
* Added WebSocketConstants to avoid duplicate default locations
* applications extensions discovered via headers
* fixed ConfiguratorTest.testNoExtensionsConfigurator
* cleaned up extension negotiation
* cleaned up extension negotiation
* cleanups
* Convert exceptions to API versions
* cleanup imports
* convert requestURI to a WebsocketURI in Negotiated
* fixed SessionTrackingTest
* moved session tracking management to be done by the JavaxWebSocketFrameHandler
* Cleanup dump for jdk11 classloaders
* fix to ConfiguratorTest
added the EchoSocket endpoint on the ServerContainer instead of using server.registerWebSocket
* Simplify websocket-servlet
    fixed jetty websocket chat example
    fixes for javax websocket chat example
    fixed Upgrade response header issues
    Set default configurations
    improved dump
    depends on javax server impl
    do not expose core classes
    fix javadoc
    removed FrameHandlerFactory self reference
* Removed -impl from javax client and server
* Fixed common tests for onClosed event
* Improve creation of JavaxWebSocketServerContainer
Better handling of executor and httpClient as managed beans
* Fixed MessageOutputStream using empty buffers and looping forever
no longer enforce maxTextMessageBufferSize on partial messages
* Updates after review
reintroduced WebSocketServletFactory
reverted other API changes
* Ignored TextStreamTest tests incorrectly assuming no frame fragmentation
When message fragmentation is implemented in PartialStringMessageSink
then update these tests to check on the server side for no buffers
larger than the maxTextMessageBufferSize.
* fixed check for previous WebsocketUpgrade filter
Disable the AltFilterTest until problems of the WebSocketUpgradeFilter
attributes on the ServletContext are fixed.
* fixed flaky SessionTrackingTest by waiting for Sessions to open
* remove payload length check for outgoing frames
fix bug sending frames after they have failed validation checks
* reverted maven coords for javax client and server
* updated to latest jetty-10 dump changes
* Fix to WebSocketUpgradeFilter Attributes on the ServletContext
Removed deprecated method
WebSocketUpgradeFilter.configureContext(ServletContext)
Changed return type of
WebSocketUpgradeFilter.configureContext(ServletContext) to void.
WebSocketUpgradeFilter.configureContext was checking the ServletContext
for a WebSocketUpgradeFilter set as an attribute before creating a new
one. The FilterHolder from web.xml is being set as an attribute in init
which is called which happens after configureContext.
So instead of checking the attribute in
WebSocketUpgradeFilter.configureContext, we are now searching through
the filters on the ServletHandler to see if a WebSocketUpgradeFilter
has been registered with the CONTEXT_ATTRIBUTE_KEY.
* cleanup and identifying problems with FrameHandlerMetadata
* properly cache Metadata and copy MessageMetadata
properly cache Metadata in the FrameHandlerFactory using the metadataMap
copy the MessageMetadata from Metadata to prevent mutating the MethodHandle
* added new WebSocketServerContainerExecutorTest
removed DelayedStartClientOnServerTest which doesnt seem to be a valid
test when executors are shared
removed last check for executor==null in JavaxWebSocketServerContainerInitializer
as the threadPool is always created in the server
* reformatted websocket code
* reformat code
* Rervert unnecessary changes from 10.0.x
* Rervert unnecessary changes from 10.0.x
* fix build issues testing Hazelcast sessions
* QuotesDecoderTest sessions not being closed
* Fixed CookiesTest
CookiesTest.testCookiesAreSentToClient was failing due to the
Assertion being caught and logged by the upgrade request
the response is now captured by a FuturePromise and the assertions are
done in the main test
the reason the assertion was failing was due to lowercase "set-cookie"
instead of "Set-Cookie"
* fixed maven coords
* javadoc fixes
* fixed javadoc
* revert maven artifact names
* cleanup after review

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-02 13:07:43 +01:00
olivier lamy b5d058d128 Merge branch 'jetty-9.4.x' into jetty-10.0.x 2018-11-02 19:27:14 +10:00