Commit Graph

3501 Commits

Author SHA1 Message Date
Lachlan Roberts 97abed549b Issue #4538 - Combine MessageWriterTests, add test for UTF-8 validation
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-19 16:13:22 +11:00
Lachlan Roberts 1b123b87a9 Issue #4538 - add invalid utf8 validation tests for MessageReader
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-19 11:32:37 +11:00
Lachlan Roberts 2467d5a8c5 Issue #4538 - Rework MessageInputStream and MessageReader
Message reader now validates UTF8

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-19 11:32:26 +11:00
Lachlan Roberts 6eccc7ebce Issue #4538 - MessageWriter delegates to MessageOutputStream
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-19 11:32:15 +11:00
Lachlan Roberts e2f86f9a19 Issue #4538 - simplify MessageInputStream and DispatchedMessageSink
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-19 11:32:03 +11:00
Lachlan Roberts 71b11f0887 Issue #4571 - simplify partial MessageSinks reduce copying
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-19 11:26:56 +11:00
Lachlan Roberts 36cccd2c88 Issue #4571 - optimise aggregating text and binary MessageSinks
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-19 11:25:05 +11:00
Lachlan 5fe202f29f
Issue #4548 - clean up websocket removing duplicated and unused classes (#4549)
Create new module websocket-util which contains implementation classes shared by websocket-jetty and websocket-javax. Many of these classes had to be changed as the javax and jetty versions of them differed slightly.

Also includes general cleanups, removed unused interfaces and classes, etc..
2020-02-18 21:43:54 +11:00
Lachlan aaf6f17766
Merge pull request #4555 from eclipse/jetty-9.4.x-4537-WebSocketSpin
Issue #4537 - fix potential spin when discarding in WebSocketConnection
2020-02-13 09:14:06 +11:00
Sergey Tselovalnikov 66f4bda2ea comments
Signed-off-by: Sergey Tselovalnikov <sergeicelov@gmail.com>
2020-02-10 21:02:36 +11:00
Sergey Tselovalnikov d371c1498c Improve performance of small websocket messages
Signed-off-by: Sergey Tselovalnikov <sergeicelov@gmail.com>
2020-02-10 20:07:33 +11:00
Lachlan Roberts 20621b76fb Issue #4537 - fix potential spin when discarding in WebSocketConnection
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-10 18:29:55 +11:00
Olivier Lamy abdb9f2ff6
Jetty 10.0.x methodhandles lookup linkage (#4552)
* use a lookup dedicated to the target class (webapp classloader) to avoid collision with server classloader

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

* cleanup war test dependencies

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

* remove empty lines

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

* make it clear it is a bad websocket webapp only for testing purpose and add a good websocket webapp

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

* no need anymore of this dependency

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-02-09 11:59:57 +10:00
Lachlan e4c1984fd0
Merge pull request #4536 from eclipse/jetty-10.0.x-4447-websocketModules
Issue #4447 - separate modules for jetty and javax websockets
2020-02-07 16:15:27 +11:00
Lachlan Roberts b3144dd401 Issue #4447 - update websocket-jetty module description
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-07 16:14:32 +11:00
Lachlan 41a7b8d4e3
Merge pull request #4539 from eclipse/jetty-10.0.x-4501-SharedBlockingCallback
Issue #4501 - remove all SharedBlockingCallback usage from websocket
2020-02-05 10:07:12 +11:00
Lachlan Roberts cbb09413fd Issue #4501 - fix test expectations to throw CloseChannelException
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-03 18:34:19 +11:00
Lachlan Roberts 3344772e2f Issue #4447 - hard code in version for javax-websocket-api 1.1.2
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-03 18:29:46 +11:00
Lachlan Roberts 182daf8504 Issue #4501 - remove all SharedBlockingCallback usage from websocket
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-03 17:20:45 +11:00
Lachlan f8219a56cc
Merge pull request #4535 from eclipse/jetty-10.0.x-4462-javaxWSClose
Issue #4462 - do not throw IOException on Javax websocket close
2020-02-03 10:22:23 +11:00
Lachlan Roberts fde1ab3e5b Issue #4462 - fix incorrect test expectations
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-31 16:31:35 +11:00
Lachlan Roberts a7c0c57496 Issue #4447 - separate modules for jetty and javax websockets
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-31 15:58:20 +11:00
Lachlan Roberts bdaa06e8dd Issue #4462 - do not throw IOException on Javax websocket close
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-31 11:09:30 +11:00
Simone Bordet ce6e146ac1
Merge pull request #4489 from eclipse/jetty-10.0.x-2643-pkcs12_keystores
Fixes #2643 - Switch SslContextFactory.keystoreType from JKS to PKCS12.
2020-01-30 19:28:49 +01:00
Lachlan Roberts b4d2ccc6b8 Make the WebSocketServerContainer initialize methods private
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-30 15:01:15 +11:00
Lachlan Roberts 006fd3f913 Issue #4226 - fix test failures
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-30 11:26:51 +11:00
Lachlan Roberts 82c61c48eb Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4226-JavaxWebSocketJPMS 2020-01-30 10:37:34 +11:00
Lachlan 19354d0c24
Merge pull request #4523 from eclipse/jetty-10.0.x-4502-wsOnClose
Issue #4502 - allow changing of close response from jetty and javax websocket onClose events
2020-01-30 09:10:48 +11:00
Simone Bordet 96741ebb28 Fixed compilation issues after merge.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-01-29 10:11:21 +01:00
Lachlan Roberts 1afb7fd1f2 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4450-WebSocketCoreJPMS 2020-01-29 19:21:39 +11:00
Lachlan Roberts 8638fb2cc3 Fix broken test cases
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-29 19:13:03 +11:00
Lachlan Roberts fdd27a9f28 Issue #4502 - add onClose tests for Jetty and Javax WS APIs
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-29 15:20:36 +11:00
Lachlan Roberts 4ef208e9f6 Issue #4502 - onClose can now be triggered on receiving a close frame
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-29 15:19:48 +11:00
Lachlan f6fd3c41a5
Issue #4462 - Prevent jetty 10 WebSocket close deadlocks (#4472)
- Replicate problems from WS close deadlock with test cases
- use FutureCallback instead of SharedBlockingCallback for WS blocking methods
- add timeout to the blocking callbacks for WS for (idleTimeout + 1000ms)
- Core throws ClosedChannelException instead of ISE if send after closed
2020-01-29 09:15:40 +11:00
Lachlan Roberts a4b85d1df2 Issue #4226 JavaxWebSocketServerContainer leaking into public signature
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-28 18:16:22 +11:00
Lachlan Roberts 6698592139 Add tests for Javax ServerContainer default configuration.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-28 18:15:27 +11:00
Lachlan Roberts 6c2c4d8ad7 Issue 4450 - remove ConfigurationCustomizer static method
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-24 11:05:14 +11:00
Lachlan b64964113c
Merge pull request #4486 from eclipse/jetty-9.4.x-4475-WebSocketStreamMessageOrder
Issue #4475 - fix WebSocket streaming message ordering
2020-01-24 10:01:22 +11:00
Lachlan Roberts 64d72abde6 Extension interface now uses CoreSession and not Configuration
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-23 10:20:40 +11:00
Lachlan Roberts bc88224f19 combine ConfigurationHolder and ConfigurationCustomizer
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-22 18:15:59 +11:00
Lachlan Roberts f35a01c73c further checkstyle fixes
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-22 17:26:07 +11:00
Lachlan Roberts acabec2e91 fix licence headers and checkstyle
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-22 16:08:08 +11:00
Lachlan Roberts 86037367bc Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4450-WebSocketCoreJPMS 2020-01-22 14:51:51 +11:00
Joakim Erdfelt 56fc476d55 Updating to version 9.4.27-SNAPSHOT 2020-01-17 07:00:10 -06:00
Joakim Erdfelt 7b38981d25 Updating to version 9.4.26.v20200117 2020-01-17 06:21:47 -06:00
Simone Bordet d60b4459bf Fixes #2643 - Switch SslContextFactory.keystoreType from JKS to PKCS12.
Updated old keystores to new PKCS12 keystores.
Removed unused keystores and truststores.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-01-17 09:48:51 +01:00
Lachlan Roberts 08b1be6ea8 Issue #4475 - improve testing for MessageInputStream
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-17 18:37:47 +11:00
Lachlan Roberts 3d309a5797 Issue #4475 - use state machine for MessageInputStream
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-17 18:37:20 +11:00
Lachlan Roberts 3fd7094c01 Issue #4475 - suspend/resume to control reading frames while streaming
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-17 13:11:48 +11:00
Joakim Erdfelt 01a5974f4b
Merge branch `jetty-9.4.x` into `jetty-10.0.x`
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	Jenkinsfile
#	examples/async-rest/async-rest-webapp/src/test/java/org/eclipse/jetty/example/asyncrest/DemoServer.java
#	jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java
#	jetty-http/src/test/java/org/eclipse/jetty/http/HttpParserTest.java
#	jetty-http/src/test/java/org/eclipse/jetty/http/HttpTester.java
#	jetty-http/src/test/java/org/eclipse/jetty/http/MultiPartParserTest.java
#	jetty-http/src/test/java/org/eclipse/jetty/http/PathMapTest.java
#	jetty-http/src/test/java/org/eclipse/jetty/http/matchers/HttpFieldsMatchersTest.java
#	jetty-maven-plugin/src/test/java/org/eclipse/jetty/maven/plugin/it/TestGetContent.java
#	jetty-server/src/test/java/org/eclipse/jetty/server/CookieCutterLenientTest.java
#	jetty-server/src/test/java/org/eclipse/jetty/server/CookieCutterTest.java
#	jetty-server/src/test/java/org/eclipse/jetty/server/PartialRFC2616Test.java
#	jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ServletLifeCycleTest.java
#	jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/GzipContentLengthTest.java
#	jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/GzipDefaultNoRecompressTest.java
#	jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java
#	jetty-unixsocket/src/test/java/org/eclipse/jetty/unixsocket/UnixSocketClient.java
#	jetty-util/src/test/java/org/eclipse/jetty/util/B64CodeTest.java
#	jetty-util/src/test/java/org/eclipse/jetty/util/resource/FileSystemResourceTest.java
#	jetty-util/src/test/java/org/eclipse/jetty/util/ssl/X509Test.java
#	jetty-webapp/src/test/java/org/eclipse/jetty/webapp/ClasspathPatternTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/LargeMessageTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/ClientAnnotatedEndpointScannerGoodSignaturesTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/ClientAnnotatedEndpointScannerInvalidSignaturesTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/metadata/EncoderMetadataSetTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/utils/ReflectUtilsTest.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ConfiguratorTest.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/DelayedStartClientOnServerTest.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/RestartContextTest.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ServerAnnotatedEndpointScannerGoodSignaturesTest.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ServerAnnotatedEndpointScannerInvalidSignaturesTest.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/SessionTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/ErrorCloseTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientConnectTest.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/WebSocketClientTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/PartialListenerTest.java
#	jetty-websocket/websocket-api/src/test/java/org/eclipse/jetty/websocket/api/extensions/ExtensionConfigTest.java
#	jetty-websocket/websocket-api/src/test/java/org/eclipse/jetty/websocket/api/util/QuoteUtilQuoteTest.java
#	jetty-websocket/websocket-api/src/test/java/org/eclipse/jetty/websocket/api/util/QuoteUtilTest.java
#	jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/ConnectionManagerTest.java
#	jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/TomcatServerQuirksTest.java
#	jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/WebSocketClientInitTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/GeneratorTest.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/TextPayloadParserTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase11.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase12.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/TestABCase4.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase73.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/events/JettyAnnotatedScannerTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/ByteAccumulatorTest.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/extensions/compress/PerMessageDeflateExtensionTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/ConnectionStateTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/http/HttpResponseHeaderParserTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageDebug.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/Utf8CharBufferTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/UnitGenerator.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/util/Utf8PartialBuilderTest.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/RedirectWebSocketClientTest.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/ab/TestABCase1.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase2.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase3.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase4.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase5.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase6.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase6BadUTF.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase6GoodUTF.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase7.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase7BadStatusCodes.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase7GoodStatusCodes.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase9.java
#	pom.xml
#	tests/test-continuation/src/test/java/org/eclipse/jetty/continuation/ContinuationsTest.java
#	tests/test-sessions/test-jdbc-sessions/src/test/java/org/eclipse/jetty/server/session/JdbcTestHelper.java
#	tests/test-webapps/test-jetty-webapp/src/test/java/org/eclipse/jetty/TestServer.java
#	tests/test-webapps/test-proxy-webapp/src/test/java/org/eclipse/jetty/TestTransparentProxyServer.java
2020-01-15 12:20:20 -06:00
Joakim Erdfelt 81d32f64f0
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-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/EventSocket.java
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketUpgradeRequest.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java
2020-01-15 11:44:43 -06:00
Joakim Erdfelt 8c65309963
Addressing Checkstyle violations in src/test/java
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-01-14 12:33:34 -06:00
Lachlan Roberts c7b6ccca98 Issue #4475 - add tests not reading until EOF
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-14 19:14:48 +11:00
Lachlan Roberts 16c406b55c Issue #4475 - add test for fragmented frames
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-14 15:15:56 +11:00
Lachlan Roberts 26d12b9c2d Issue #4475 - proof of concept
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-14 14:52:50 +11:00
Lachlan Roberts a7b9df96fd cleanup WebSocket logging in EventSocket
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-14 10:33:19 +11:00
Lachlan e1f19be353
Closes #2620 - guard against exceptions for WebSocket onClose and onError (#4346)
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-14 09:22:56 +11:00
Lachlan 5bd4cee7c8
Fixes #4408 - fix issues with javax metadata and decoders (#4452)
Remove the metadata cache per endpoint class, to allow deployment of the same class with different EndpointConfig settings.

JavaxServerFrameHandlerFactory now matches for decoders before matching for basic onMessage signatures.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-13 13:49:10 +11:00
Joakim Erdfelt 1f8ad08281
Fixing Checkstyle violations
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-01-09 15:56:06 -06:00
Simone Bordet 5f82e17d2f Issue #3578 - Adopt EPL-2.0 for Jetty-10.
WIP: updated copyright headers for Java files.

TODO: doc files and META-INF files inside jars.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-01-09 20:10:19 +01:00
Simone Bordet b14c9b6fae Updated copyright in new classes.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-01-07 17:40:11 +01:00
Simone Bordet 17ec83f5cf Merged 'jetty-10.0.x' into 'jetty-10.0.x-4450-WebSocketCoreJPMS'. 2020-01-07 17:26:31 +01:00
Simone Bordet a5c99207fc Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-01-07 17:02:40 +01:00
Simone Bordet 923ec38adf Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2020-01-07 16:51:25 +01:00
Simone Bordet e3c8546667 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2020-01-07 16:35:05 +01:00
Simone Bordet de890bb1b7 Happy New Year 2020.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-01-07 16:25:32 +01:00
Joakim Erdfelt f4e7e4c3db Merge branch 'release-9.4.25' into jetty-9.4.x 2020-01-03 12:49:27 -06:00
olivier lamy ff48fba585 happy new year
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-01-02 21:59:21 +01:00
olivier lamy e1371a1c13 happy new year
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-01-02 21:54:05 +01:00
Lachlan Roberts eef87a3fe1 fix broken test
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-31 12:53:05 +11:00
Lachlan Roberts 356e98f737 Clean up websocket-core package structure
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-31 09:33:58 +11:00
Lachlan Roberts f1838c5f88 Issue #4450 - remove methods to create WS CoreSession and Connection
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-30 13:50:00 +11:00
Lachlan Roberts cf31ab2b9a Issue #4450 - don't expose ExtensionStack through getter on Negotation
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-30 13:38:05 +11:00
Lachlan Roberts 0d571ef2c2 Issue #4450 - websocket Extensions no longer rely upon WSCoreSession
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-30 13:25:30 +11:00
Lachlan Roberts c98897315c Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4225-jpms_transitivity 2019-12-27 19:27:59 +11:00
Lachlan Roberts db0edf23de Update websocket artifact IDs
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-23 13:32:21 +11:00
Lachlan Roberts db45b0b906 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-3678-WebSocketRename 2019-12-23 11:03:40 +11:00
Lachlan 0d433f50f6
Issue #4401 - Fix WebSocket ClassLoader issues. (#4435)
- WebSocketCoreSession now updates the context classloader before invoking application code.
- JavaxWebSocketConfiguration now protectAndExposes JavaxWebSocketClientContainerProvider
so it can be discovered by the ServiceLoader in a webapp.
2019-12-23 09:54:08 +11:00
Joakim Erdfelt 8974176c4b Updating to version 9.4.26-SNAPSHOT 2019-12-20 11:30:41 -06:00
Joakim Erdfelt a9729c7e7f Updating to version 9.4.25.v20191220 2019-12-20 10:46:56 -06:00
Lachlan Roberts 78c57131ae update values for bundle-symbolic-name
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-20 16:21:34 +11:00
Lachlan Roberts bc21b354c7 Rename websocket modules and directories with new naming convention.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-20 15:41:55 +11:00
Joakim Erdfelt 0982af15f9
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-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/ClientContainer.java
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketClient.java
2019-12-19 16:11:16 -06:00
Joakim Erdfelt c2c2c56a02
Issue #3730 - EventDriverFactory and SessionFactory setters
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-19 13:46:12 -06:00
Joakim Erdfelt 26fde02c55
Issue #3730 - Updating invalid test assertion
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-19 12:43:49 -06:00
Joakim Erdfelt 94988596a1
Issue #3730 - Further updates from PR Review
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-19 12:33:43 -06:00
Simone Bordet e3bb5a7515 Issue #4225 - Fix JPMS transitivity.
Reworked all module-info.java files to take into
account JPMS transitivity.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-12-19 18:17:35 +01:00
Joakim Erdfelt bb79f3e6e0
Issue #3730 - Collapsing now redundant private Constructor
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-18 15:33:23 -06:00
Joakim Erdfelt e02ef3efdd
Issue #3730 - Making new Constructor private
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-18 14:43:53 -06:00
Joakim Erdfelt 9da1820f13
Issue #3730 - Removing HttpContainerScope
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-18 14:38:37 -06:00
Lachlan Roberts 1e884c2497 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4407-JavaxAnnotatedConfigDefault
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-17 10:55:07 +11:00
Lachlan ce6438c53e
Issue #4148 - config for jetty specific settings with javax WebSockets (#4295)
* Issue #4148 - config for jetty specific settings with javax WebSockets

* Make every jetty EndpointConfig implementation a wrapper
* Remove BasicEndpointConfig and use Client or Server specific ones
2019-12-17 10:04:07 +11:00
Joakim Erdfelt 7d65183e2c
Issue #3730 - Cleaning up Scopes in WebSocketClient
+ Introducing HttpContainerScope to track HttpClient specific
  ByteBufferPool, SslContextFactory, and Executor.
+ New private WebSocketClient constructor that use HttpContainerScope
+ Deprecated many constructors as irrelevant now that HttpClient
  is an option to create a WebSocketClient.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-13 13:44:57 -06:00
Lachlan Roberts 313f2e49f5 Merge remote-tracking branch 'eclipse/jetty-10.0.x' into jetty-10.0.x-4407-JavaxAnnotatedConfigDefault
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-13 11:43:36 +11:00
Lachlan Roberts d08c1025e9 Issue #4407 - fix broken tests, ServerFHF now extends ClientFHF
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-13 11:30:01 +11:00
Lachlan Roberts 74e7cca28d Issue #4407 - clean up usage of ClientEndpointConfig and testing
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-13 10:36:49 +11:00
Lachlan Roberts af2a9cfd5b Issue #4407 - merge annotated ServerEndpointConfig with provided config
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-12 13:31:17 +11:00
Lachlan Roberts b400d00f03 Issue #4407 - tests for annotations as default ServerEndpointConfig
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-09 18:24:32 +11:00
Lachlan 47117f88fb
Allow WebSocket extension selection to be done from UpgradeListener (#4379)
* Allow WebSocket extension selection to be done from UpgradeListener
* improve generation of extension string

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-05 13:16:16 +11:00
Lachlan afb81ed738
Issue #4349 - test client negotiation of internal extensions (#4355)
Added tests for WebSocket client negotiation of requested internal extensions. Changed the algorithm to remove from the requested list rather than add to the negotiated one.

Fixed other issues with the parsing of ExtensionConfig not giving correct errors for invalid content.
2019-12-02 08:45:32 +11:00
Lachlan acbc87a5da
Issue #4341 - do not modify payload ByteBuffer sending WebSocket frames (#4359)
- test that Frame buffer is unchanged after sending
- Generator and FrameFlusher no longer modify frame payload
- permessage-deflate no longer modify frame payload
- remove Buffer allocation from Generator
- outgoing autoFragment no longer modifies buffer
- minor cleanups and optimizations from review

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-29 08:41:20 +11:00
Simone Bordet 3b817821e7
Merge pull request #3740 from eclipse/jetty-10.0.x-3537-bootstrap_websocket_http2
Issue #3537 - Bootstrap websocket on HTTP/2
2019-11-28 15:47:26 +01:00
Lachlan Roberts e9c3eb0d73 remove duplicate TestFrameHandler from websocket core tests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-28 14:27:00 +11:00
Lachlan 9dbdb97529
Merge pull request #4324 from eclipse/jetty-10.0.x-4315-OnlyStopWSSessionsOnce
Issue #4315 - stop WebSocketSessions only after onClose
2019-11-27 14:24:31 +11:00
Lachlan Roberts 2410f9d6c4 Issue #4315 - Jetty and Javax WebSocketSessions are no longer LifeCycles
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-27 13:51:14 +11:00
Lachlan efe76ff2e0
Issue #4152 - fragment outgoing frames before the ExtensionStack (#4232)
* Added FragmentingFlusher to abstract the fragmentation of frames.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Handle failure case of Fragmenting Flusher

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Fragment outgoing frames before the ExtensionStack

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* update javadoc

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* separate frame size validation for incoming and outgoing frames

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* fix test

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* reimplement FragmentingFlusher with the new TransformingFlusher

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-26 14:51:40 +11:00
Lachlan Roberts dc4ada14ea add extra test for server connection close before ws handshake
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-22 21:13:39 +11:00
Simone Bordet f14ab3fc39 Merge branch 'jetty-10.0.x' into 'jetty-10.0.x-3537-bootstrap_websocket_http2'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-11-22 09:43:01 +01:00
Joakim Erdfelt 0f7a3b2d91 Updating to version 9.4.25-SNAPSHOT 2019-11-20 16:08:38 -06:00
Joakim Erdfelt 363d5f2df3 Updating to version 9.4.24.v20191120 2019-11-20 15:25:01 -06:00
Lachlan 04b1a77b6d
Issue #4152 - CompressExtension autoFragment with respect to maxFrameSize (#4260)
* rework ByteAccumulator to avoid unnecessary data copies
* use ByteAccumulator instead of BAOS for ws compression
* outgoing autoFragment working with permessage-deflate
* ByteAccumulator now uses fixed maxFrameSize and no ByteBufferPool
* rework deflate code and introduce TransformingFlusher
* use transforming flusher for outgoing compression
* general clean up CompressExtension and subclasses
* remove forward incoming method
* use flusher to fragment for the decompressing of incoming frames
* fix broken tests
* updates to TransformingFlusher
* tests for CompressExtension with no payload
* ByteAccumulator uses the BufferPool for the final buffer
* remove increased maxFrameSize from autobahn tests as we now autoFragment
* add test for gzip bomb
* fix typo
* use Throwable failure instead of canEnqueue
* changes to TransformingFlusher from review
* remove per frame deflate extension
* remove accumulation of data to maxFrameSize in CompressExtension
* race between finished being set and callback being completed
* cleanup of transforming flusher
* fix issues with the TransformingFlushers
* add internal parameters for deflate and inflate BufferSize
* missing licence header
* wip
* don't use same extension config instances in negotiated extensions
* changes to TransformingFlusher from review
* fix internal extensions requested by client
* javadoc update
* javadoc and cleanup from review
* remove ByteAccumulator
* fix module-info
* null out current on callback completion
* remove override of succeeded and failed

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-19 12:34:58 +11:00
Joakim Erdfelt 453d41940b Updating to version 9.4.24-SNAPSHOT 2019-11-18 13:52:51 -06:00
Joakim Erdfelt abbccc65d6 Updating to version 9.4.23.v20191118 2019-11-18 13:09:44 -06:00
Lachlan Roberts 738de7bb02 Issue #4315 - stop WebSocketSessions only after onClose
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-18 19:16:01 +11:00
Lachlan Roberts afc3aed5d3 return 503 if null FrameHandler in 8441 and add new tests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-18 17:21:15 +11:00
Lachlan Roberts 79a017d3ba notify handshake listener after request headers are set
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-18 14:35:28 +11:00
Simone Bordet c6ec9fb4d2 Fixed handling of DATA frames arriving _before_ the upgrade.
Now CONNECT with :protocol requests will demand DATA frames only
after the upgrade.

Other requests will demand DATA frames during the handling of
the request HEADERS frame.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-11-16 19:56:00 +01:00
Simone Bordet 5e695919d9 Implemented support for RFC 8441's SETTING_ENABLE_CONNECT_PROTOCOL.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-11-14 23:48:34 +01:00
Simone Bordet 98574f28a0 Reduced code duplication in Handshakers and Negotiations.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-11-14 17:46:40 +01:00
Joakim Erdfelt c44e7c5eb1
Merge pull request #4299 from eclipse/jetty-9.4.x-4248-websocketclient-success-flag
Fixes #4248 - WebSocketClient UpgradeResponse.isSuccess never set true
2019-11-14 09:42:45 -06:00
Simone Bordet 06ce13e226 Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-3537-bootstrap_websocket_http2'. 2019-11-14 12:42:15 +01:00
Joakim Erdfelt 5479ed030f
Issue #4248 - Using ServletUpgradeResponse.setSuccess(true) for servlet side
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-11-13 15:33:00 -06:00
Joakim Erdfelt 6a6206d8e4
Issue #4248 - Deprecating UpgradeResponse setSuccess / isSuccess
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-11-13 15:32:23 -06:00
Joakim Erdfelt 1edff35676
Merge branch 'jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientConnectTest.java
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/ClientUpgradeRequest.java
2019-11-13 10:58:48 -06:00
Greg Wilkins 46a3368f3b
Issue #2578 - Listener behavior cleanup (Jetty 10.0.x) (#3966)
* Avoid creating listener list for rarely used requestAttributeListener

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

* Issue #3964

Keep a list of EventListeners in the AbstractConnector to make it
more efficient to add and iterate over them.

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

* Issue #2578 EventListener

Use addEventListener rather than bespoke listener methods.
Support getEventListenerBeans at Container level for fast lookup
improve javadoc

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

* Issue #2578 EventListener

fixed test
more javadoc

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

* Issue #2578 EventListener

fixed tests

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

* Issue #3964

Don't use null for empty lists of listeners

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

* fix merge

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

* Issue #2578 EventListener

Resolve differences between eventListeners added as beans and beans
added as EventListeners.   The behaviour should now be the same
regardless of how they listener is added and all listeners are now
beans.

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

* Issue #2578 EventListener

Add only SelectorManager listeners to manager from connector

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

* Issue #2578 EventListener

Fixed javadoc

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

* Issue #2578 EventListener

removed old TODO

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

* Issue #2578 EventListener

connector cannot be null

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

* Issue #2578 EventListener

javadoc

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

* Issue #3964

AbstractConnector keeps a specific list of HttpChannel.Listeners
to avoid Connection.Listeners and MBean listeners being added to
the HttpChannel listener list.

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

* Issue #2578 EventListener

fixed merge

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

* fixed javadoc

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

* Issue #2578 EventListener

removed the ability to set/clear context listeners
Instead just remove non-durable ones.

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

* Issue #3964 Listeners

Simplified listener handling by avoiding null connector, previously
only needed for testing.

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

* fixed bad merge

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

* Issue #3964 Listeners

Fixed test that assumed HttpChannel listeners were not cleared by a recycle

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

* Issue #3964 Listeners

Separated out durable vs cyclic HttpChannel.Listeners, so as to
simplify handling.

Deprecated cyclic HttpChannel.Listeners, as I'm not sure the channel is
the right place for them.

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

* removed deprecated cyclic HttpChannel listeners

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

* removed deprecated cyclic HttpChannel listeners - import

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

* Issue #4003 Cleanup quickstart

* Fixed tests that scan for "Started" on console

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

* updates from review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-11-13 11:04:38 +11:00
Joakim Erdfelt 2d50c92979
Fixes #4296 - WebSocketClient cannot connect with "%25" in query
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-11-12 10:22:19 -06:00
Joakim Erdfelt 544ad0a28a
Fixes #4248 - WebSocketClient UpgradeResponse.isSuccess never set true
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-11-12 10:14:51 -06:00
Joakim Erdfelt 5de1289ac0
Merge branch 'release-9.3.28' into jetty-9.3.x 2019-11-07 12:10:00 -06:00
Joakim Erdfelt 0df21b6e86
Merge branch 'jetty-9.2.x' into jetty-9.3.x
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	VERSION.txt
#	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-server/pom.xml
#	jetty-alpn/pom.xml
#	jetty-annotations/pom.xml
#	jetty-ant/pom.xml
#	jetty-cdi/pom.xml
#	jetty-client/pom.xml
#	jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTLSTest.java
#	jetty-continuation/pom.xml
#	jetty-deploy/pom.xml
#	jetty-distribution/pom.xml
#	jetty-fcgi/fcgi-client/pom.xml
#	jetty-fcgi/fcgi-server/pom.xml
#	jetty-fcgi/pom.xml
#	jetty-http-spi/pom.xml
#	jetty-http/pom.xml
#	jetty-http2/http2-alpn-tests/pom.xml
#	jetty-io/pom.xml
#	jetty-io/src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java
#	jetty-jaas/pom.xml
#	jetty-jaspi/pom.xml
#	jetty-jmx/pom.xml
#	jetty-jndi/pom.xml
#	jetty-jsp/pom.xml
#	jetty-jspc-maven-plugin/pom.xml
#	jetty-maven-plugin/pom.xml
#	jetty-monitor/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-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-spdy/pom.xml
#	jetty-spdy/spdy-client/pom.xml
#	jetty-spdy/spdy-core/pom.xml
#	jetty-spdy/spdy-example-webapp/pom.xml
#	jetty-spdy/spdy-http-client-transport/pom.xml
#	jetty-spdy/spdy-http-common/pom.xml
#	jetty-spdy/spdy-http-server/pom.xml
#	jetty-spdy/spdy-server/pom.xml
#	jetty-spring/pom.xml
#	jetty-start/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-server-impl/pom.xml
#	jetty-websocket/pom.xml
#	jetty-websocket/websocket-api/pom.xml
#	jetty-websocket/websocket-client/pom.xml
#	jetty-websocket/websocket-common/pom.xml
#	jetty-websocket/websocket-server/pom.xml
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/browser/BrowserDebugTool.java
#	jetty-websocket/websocket-servlet/pom.xml
#	jetty-xml/pom.xml
#	pom.xml
#	tests/pom.xml
#	tests/test-continuation/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-hash-sessions/pom.xml
#	tests/test-sessions/test-jdbc-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-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-webapp-rfc2616/pom.xml
2019-11-07 12:09:39 -06:00
Lachlan d0f74c5532
Issue #4124 - autobahn tests for jetty, javax websocket APIs (#4147)
- do not select duplicate extensions in javax default Configurator
- correctly copy payload for ping frames in jetty & javax frame handlers
- add ByteBuffer to javadoc for onMessage in jetty api
- cleaned up some test logging for EventSocket
- add autoFragment and maxFrameSize settings to WebSocketPolicy
- fix early validation for multiple extensions in setExtensions

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-07 11:06:14 +11:00
Lachlan 2310196532
Issue #1777 - configuration for jetty-10 WebSocketClient to be stopped at shutdown
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-07 11:02:25 +11:00
Joakim Erdfelt 43d95cd984 Updating to version 9.3.29-SNAPSHOT 2019-11-05 13:02:10 -06:00
Joakim Erdfelt d7dd68d6e9 Updating to version 9.3.28.v20191105 2019-11-05 11:46:40 -06:00
Joakim Erdfelt b17439c731 Updating to version 9.2.30-SNAPSHOT 2019-11-05 11:23:21 -06:00
Joakim Erdfelt 36c95fdd43 Updating to version 9.2.29.v20191105 2019-11-05 10:43:15 -06:00
Joakim Erdfelt c980e3dd34
Fixing compilation issue
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-10-30 17:18:03 -05:00
Joakim Erdfelt 1ed13b6b30 Updating to version 9.4.23-SNAPSHOT 2019-10-22 09:19:41 -05:00
Joakim Erdfelt b1e6b55512 Updating to version 9.4.22.v20191022 2019-10-22 08:20:50 -05:00
Lachlan f6f423f558
Issue #4152 - make WS Parser autoFragment data frames to maxFrameSize (#4219)
* Issue #4152 - make WS Parser autoFragment data frames to maxFrameSize

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Issue #4152 - fix broken tests

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Issue #4152 - fix broken tests

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* changes from review

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-10-22 16:17:50 +11:00
Lachlan 02276113f6
Issue #4214 - fix WS flaky test ClientConnectTest (#4215)
* Issue #4214 - fix flaky ClientConnectTest and change WS connectTimeout

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Issue #4214 - changes from review

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-10-18 10:11:57 +11:00
Greg Wilkins 2eb251a4b8 fix logging defaults to INFO
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-10-16 13:53:57 +11:00
Lachlan 00baa7147e
Merge pull request #4153 from eclipse/jetty-9.4.x-3558-websocket_onErrorAfterClose
Issue #3558 - only notify WS onError if onClose has not been called
2019-10-10 15:27:11 +11:00
Lachlan d47264960e
Issue #3734 - throw ISE for WebSocket suspend after close (#4095)
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-10-08 09:47:48 +11:00
Lachlan Roberts d95c825c5c Issue #3558 - only notify WS onError if onClose has not been called
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-10-04 11:13:38 +10:00
Joakim Erdfelt d7a189fa18 Updating to version 10.0.0-SNAPSHOT 2019-10-03 12:05:26 -05:00
Joakim Erdfelt fd6a2cb9f6 Updating to version 10.0.0.alpha1 2019-10-03 11:25:06 -05:00
Joakim Erdfelt 6fc42d8ba2 Merge branch 'release-9.4.21' into jetty-9.4.x 2019-10-01 13:35:43 -05:00
Lachlan Roberts b83dd8472d Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-10-01 16:06:58 +10:00
Lachlan fef5975b86
Merge pull request #4108 from eclipse/jetty-9.4.x-4104-WSSession_SendAfterClose
Issue #4104 - WebSocketSession will reject outgoing frames if closed
2019-10-01 15:46:16 +10:00
Lachlan Roberts aa417f939e Fix WebSocket CompressExtension releaseDeflater() bug.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-27 10:18:35 +10:00
Joakim Erdfelt 7807eafad9 Updating to version 9.4.22-SNAPSHOT 2019-09-26 10:46:28 -05:00
Joakim Erdfelt 72970db61a Updating to version 9.4.21.v20190926 2019-09-26 09:59:15 -05:00
Lachlan Roberts af081459ee Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-25 15:06:17 +10:00
Lachlan 3edc6c9102
Issue #3734 - throw ISE for WebSocket suspend after close (jetty-9.4) (#4098)
* Issue #3734 - throw ISE for WebSocket suspend after close

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Issue #3734 - suspend is error if onClose() has been called

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-25 14:55:13 +10:00
Simone Bordet f10325ea50
Merge pull request #3959 from eclipse/jetty-10.0.x-3952-server_direct_heap_bytebuffers
Fixes #3952 - Server configuration for direct/heap ByteBuffers.
2019-09-23 15:24:47 +02:00
Lachlan Roberts 5a52235464 Issue #4104 - WebSocketSession will reject outgoing frames if closed
Outgoing frames will now go RemoteEndpoint->Session->ExtensionStack
instead of just RemoteEndpoint->ExtensionStack.

This will allow the Session to check whether it has been closed before
allowing the frame through the ExtensionStack.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-20 10:30:31 +10:00
Lachlan f10ff81d1c
Fix Secure javax.websocket Client examples (#4035)
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-18 10:42:32 +10:00
Simone Bordet 0eec727a09 After review, renamed *directBuffers to *directByteBuffers.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-09-17 12:16:10 +02:00
Simone Bordet 1ef4a416b5 Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-3952-server_direct_heap_bytebuffers'. 2019-09-16 12:26:26 +02:00
Lachlan b027aa5afa
Fixes #3705 - revert ClientUpgradeRequest error handling logic (#4090)
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-16 17:21:33 +10:00
Lachlan Roberts 22fba9aa91 Issue #3106 - deprecate old WebSocket stats mechanism
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-13 11:28:05 +10:00
Lachlan Roberts 63c7a44969 Issue #3982 - fix to WebSocket bytesIn for flaky WebSocketStatsTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-13 11:18:57 +10:00
Lachlan Roberts c2eff992b7 Issue #3982 - fix to WebSocket bytesIn for flaky WebSocketStatsTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-13 11:15:13 +10:00
Lachlan Roberts 5a08e48fe7 don't duplicate checks in handshake selector
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-12 16:46:47 +10:00
Lachlan Roberts 17b17cb2b9 clean up websocket handshakers
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-12 15:22:56 +10:00
Lachlan Roberts 3068b4c8ae fix build issues
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-12 11:04:05 +10:00
Simone Bordet d69a1f0f58 Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-3537-bootstrap_websocket_http2'. 2019-09-12 00:11:01 +02:00
Lachlan Roberts 72ce7456eb optimize HandShakeSelector
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-12 08:07:31 +10:00
Lachlan Roberts 387faa7e33 clean up websocket jetty-logging.properties files
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-11 18:02:18 +10:00
Lachlan 74e560fb7a
Issue #4031 - stop unopened WebSocketSessions gracefully (#4046)
* Issue #4031 - stop unopened WebSocketSessions gracefully

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Issue #4031 - notify onError if shutdown before open

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-06 13:50:33 +10:00
康智冬 49ba6d1acb fix typo and grammar (#4045)
Signed-off-by: KangZhiDong <worldkzd@gmail.com>
2019-09-02 14:29:50 -04:00
Joakim Erdfelt 4e80748b3b Merge branch `jetty-9.4.x` into `jetty-10.0.x`
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/ClientContainer.java
2019-08-28 15:01:41 -05:00
Joakim Erdfelt 2b72f08f1b
Merge pull request #4019 from eclipse/jetty-9.4.x-155-jsr-websocket-client-ssl-init
Issue #155 - Adding public ClientContainer(HttpClient) constructor
2019-08-28 14:31:51 -05:00
Joakim Erdfelt 4829498eab Merge branch `jetty-9.4.x` into `jetty-10.0.x`
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	jetty-websocket/websocket-api/src/main/java/org/eclipse/jetty/websocket/api/extensions/ExtensionFactory.java
#	jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/core/WebSocketExtensionRegistry.java
#	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/browser/BrowserDebugTool.java
#	jetty-websocket/websocket-servlet/src/main/java/org/eclipse/jetty/websocket/servlet/WebSocketServletFactory.java
2019-08-28 12:43:11 -05:00
Joakim Erdfelt 37e7884382 Issue #4020 - Applying change requested from PR review
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-28 12:36:07 -05:00
Joakim Erdfelt e56d91196d Issue #4020 - Adding JMX to BrowserDebugTool to test dump
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-28 12:31:33 -05:00
Joakim Erdfelt 2979ed5046 Fixes #4020 - Satisfy Container LifeCycle dumpable behaviors
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-27 20:25:10 -05:00
Greg Wilkins 8f383faf78
Issue #3872 Javax Websocket Packaging (#3873)
* Issue #3872 Javax Websocket Packaging

Moved JaxaxWebSocketConfiguration and SCI to config package.
Limited classpath exposure in JavaxConfiguration (more needed)
Updated tests with work around for those that needs more classes exposed

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

* Issue #3872 Javax Websocket Packaging

Moved all remaining classes from org.eclipse.jetty.websocket.javax.server
to org.eclipse.jetty.websocket.javax.server.internal.

This works when running on the classpath, but the tests fail when running
on the modulepath (eg in commandline mvn run).   The issue appears to be
that the tests don't load test classes from WEB-INF/lib or WEB-INF/classes.
Instead the test classes were themselves in  org.eclipse.jetty.websocket.javax.server,
which is no longer exported from module-info.java.

The hacked "fix" for this has been to create a org.eclipse.jetty.websocket.javax.server.tests
package which is exported and to move all the tests to that.  A better fix is needed.

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

* Issue #3872 Javax Websocket Packaging

improve comments
tighten exposed classes more

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

* Issue #3872 - fixing tests

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Issue #3872 - move ContainerDefaultConfigurator to config package

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Issue #3873 - fix javax websocket test classloader issues

move websocket endpoints for test webapps to com.acme.websocket package

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-08-28 10:03:46 +10:00
Joakim Erdfelt 6bcfa2dc6e Fixes #4020 - Deprecate ExtensionFactory
+ This class is removed in Jetty 10 anyway.
+ If all you want is to access available extension names
  then use the Factory.getAvailableExtensionNames() method
  (which exists in Jetty 10.0.0 as well)

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-27 13:25:08 -05:00
Joakim Erdfelt 149d9d4862 Fixes #4020 - Revert ExtensionFactory change to interface.
+ The change in commit 30dc103a12
  was done to allow the InflaterPool and DeflaterPool
  to be managed by the Jetty lifecycle.
+ This restore the original abstract class ExtensionFactory.
+ Had to break the traditional LifeCycle usage for a more
  non-traditional one in order to both, not break this existing
  API, and not introduce jetty-util to the webapp classloader.
+ This will restore API / binary compatibility for other
  projects, like spring-boot.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-26 13:40:32 -05:00
Greg Wilkins bde86467f4
Issue #3806 - Make Async sendError fully Async (#3912)
* Issue #3806 async sendError

Avoid using isHandled as a test withing sendError as this can be
called asynchronously and is in a race with the normal dispatch of the
request, which could also be setting handled status.

The ErrorHandler was dispatching directly to a context from within
sendError.  This meant that an async thread can call sendError and be
dispatched to within the servlet container at the same time that the
original thread was still dispatched to the container.

This commit fixes that problem by using an async dispatch for error
pages within the ErrorHandler.  However, this introduces a new problem
that a well behaved async app will call complete after calling
sendError.  Thus we have ignore complete ISEs for the remainder of
the current async cycle.

Fixed the closing of the output after calling sendError. Do not
close if the request was async (and thus might be dispatched to an
async error) or if it is now async because the error page itself is
async.

* updates from review
* better tests
* revert ignore complete
* added some TODOs
* more TODOs
* fixed rename
* cleanup ISE and more TODOs
* refactored to call sendError for uncaught exceptions rather than onError
* more of the refactor
* extra tests for sendError from completing state

Reworked HttpChannelState and sendError so that sendError is now
just a change of state. All the work is done in the ErrorDispatch
action, including calling the ErrorHandler.  Async not yet working.

Additional tests

Converted ERRORED state to a separate boolean so it can be used for
both Sync and Async dispatches.

Removed ASYNC_IO state as it was just the same as DISPATCHED

The async onError listener handling is now most likely broken.


WIP making sendError simpler and more tests pass
WIP handling async and thrown exceptions
WIP passing tests

Improved thread handling

removed bad test

Implemented error dispatch on complete properly
more fixed tests

sendError state looks committed

- Added resetContent method to leave more non-content headers during sendError
- Fixed security tests
- simplified the non dispatch error page writing.  Moved towards being able to write async

* fixed gzipHandlerTest

* Updated handling of timeout errors.  According to servlet spec,
exceptions thrown from onTimeout should not be passed to onError, but
just logged and ignored:

   If an exception is thrown while invoking methods in an AsyncListener,
   it is logged and will not affect the invocation of any other AsyncListeners.

* This changes several tests.

* Dispatcher/ContextHandler changes for new ERROR dispatch handling. Feels a bit fragile!

* Fixed tests in jetty-servlets
* Fixed tests in jetty-proxy

* more test fixes

* Fixed head handling
reverted unnecessary changes
Improved reason handling

WIP on fully async error handling.
Simplified HttpChannelState state machines to allow for async actions
during completing

more WIP on fully async error handling.

sendError and completion are not both non-blocking, without using
a startAsync operation. However we are lacking unit tests that actually
exercise those code paths.

* Simplified name of states
Added test for async completion
* Cleanups and javadoc
* Cleanups and javadoc
* remove snake case
* feedback from review
* Write error page into fixed pooled buffer

Use the response to get/release a pooled buffer into which the error
page can be written.  Make it a fixed sized buffer and if it overflows
then no error page is generated (first overflow turns off showstacks
to save space).

The ErrorHandler badly needs to be refactored, but we cannot change
API in jetty-9

* More test fixes for different error page format
* minor cleanups
* Cleanup from Review
* Fixed javadoc
* cleanups and simplifications
* Cleanup from Review
* renaming and some TODOs
* Cleanup from Review
* Checkstyle fixes
* Cleanup from Review
* Code cleanups and simplifications
* fixed debug
* Cleanup from Review
* Ensure response sent before server shutdown
* removed unnecessary optimisation
* fixed duplicate from merge
* Updates from review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-08-26 17:55:58 +10:00
Joakim Erdfelt f692af3d53 Issue #155 - Adding public ClientContainer(HttpClient) constructor
+ This helps with programmatic configuration of HttpClient
  layer (for SSL and Proxy).

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-23 11:55:13 -05:00
olivier lamy cf592469aa checkstyle fixes.
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-08-23 13:09:15 +10:00
Joakim Erdfelt 12e1473fd0 Adding reference to javax.websocket issue
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-22 17:04:01 -05:00
Joakim Erdfelt 6aaf22ec6c Merge branch `jetty-9.4.x` into `jetty-10.0.x`
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-22 17:02:19 -05:00
Joakim Erdfelt 45dfd14cd5 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2019-08-22 16:45:25 -05:00
Joakim Erdfelt 5bcbe0f9d9 Adding javax.websocket secure client example
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-22 16:45:04 -05:00
olivier lamy a36af67abf Merge branch 'jetty-9.4.x' into jetty-10.0.x 2019-08-22 20:45:57 +10:00
Olivier Lamy fe3d3f7158
fix checkstyle in test sources (#4013)
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-08-22 19:56:41 +10:00
Lachlan Roberts eabae232e5 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-08-20 12:59:31 +10:00
Lachlan 44986be6c0
fix flaky test ClientCloseTest.testStopLifecycle() in jetty 9.4.x (#3990)
* fix flaky test ClientCloseTest.testStopLifecycle() in 9.4.x

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* test code cleanups in ClientCloseTest

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-08-20 12:49:52 +10:00
Joakim Erdfelt 50b524bb6b Merge branch `release-9.4.20` into `jetty-9.4.x` 2019-08-15 07:27:25 -05:00
Lachlan Roberts 7d7d932288 Issue #3968 - remove public from methods in ReadState
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-08-15 09:16:05 +10:00
Lachlan Roberts 11d1ad6504 disable flaky test WebSocketConnectionStatsTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-08-15 08:04:57 +10:00
Simone Bordet 985d98296b Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-3952-server_direct_heap_bytebuffers'. 2019-08-14 15:45:49 +02:00
Simone Bordet 01af85db42 Issue #3537 - Bootstrapping WebSockets with HTTP/2.
Implemented upgrade logic for WebSocket over HTTP/2.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-14 14:57:21 +02:00
Lachlan 2a109dccbc
Issue #3968 - prevent ReadPending and ISE from AbstractWebSocketConnection (#3979)
* Issue #3968 - websocket suspend fix and cleanups

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Issue #3968 - fixed race conditions when using websocket ReadState

combine the previous ReadMode into ReadState by using ReadState.Action
which is returned from ReadState.getAction(ByteBuffer) where an atomic
decision is made of what action to do

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-08-14 21:28:35 +10:00
Joakim Erdfelt f1efc99918 Updating to version 9.4.21-SNAPSHOT 2019-08-13 17:34:20 -05:00
Joakim Erdfelt 84700530e6 Updating to version 9.4.20.v20190813 2019-08-13 16:13:21 -05:00
Simone Bordet a700907522
Issue #250 - Implement HTTP CONNECT for HTTP/2. (#3539)
Fixes #250 - Implement HTTP CONNECT for HTTP/2.

Modified HTTP/2 implementation to support the CONNECT method.
Implemented semantic defined by RFC 8441.
Implemented section 8.3 of RFC 7540.
Introduced HTTP2Client.streamIdleTimeout.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-13 19:07:04 +03:00
Lachlan Roberts ee40006a5e remove NullMessage from websocket jetty-9.4.x merge
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-08-13 15:28:20 +10:00
Simone Bordet 5ccaea3c74 Fixes #3952 - Server configuration for direct/heap ByteBuffers.
Updated server-side to use direct/heap ByteBuffers based on
getters and setters in the relevant components.
Made HTTP/1.1, HTTP/2, and WebSocket use the same mechanism.

Removed unused obsoleted methods:
* EndPoint.isOptimizedForDirectBuffers()
* HttpTransport.isOptimizedForDirectBuffers()
* HttpOutput.Interceptor.isOptimizedForDirectBuffers()
* HttpChannel.useDirectBuffers()

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-12 17:20:50 +02:00
Joakim Erdfelt 3ee665700d Merge branch `jetty-9.4.x` into `jetty-10.0.x`
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	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/WebSocketClientTest.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/events/JettyListenerEventDriver.java
2019-08-07 05:28:06 -05:00
Joakim Erdfelt b8f29630ed Issue #3884 - Updating tests and fixing merge
+ Test cases have been updated based on PR review
+ Fixing merge from `jetty-9.4.x` that caused a duplicate
  JettyListenerEventDriver.onContinuationFrame() method

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-08-05 12:52:20 -05:00
Joakim Erdfelt 1ee771e991 Merge branch `jetty-9.4.x` into `jetty-9.4.x-3884-websocket-frame-listener` 2019-08-05 12:27:53 -05:00
Lachlan Roberts bab274be85 fix to PartialListenerTest from merge
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-08-02 15:15:57 +10:00
olivier lamy 41e5b9f16c disable merged test PartialListenerTest from 9.4.x
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-08-02 14:24:22 +10:00
olivier lamy 5be9f1a927 Merge branch 'jetty-9.4.x' into jetty-10.0.x 2019-08-02 13:46:45 +10:00
olivier lamy c08b7b9e56 fix compilation
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-08-01 20:29:44 +10:00
Joakim Erdfelt f36358c631 Issue #3884 - Adding NullMessage to satisfy PR review
+ If an annotated Jetty WebSocket Endpoint doesn't have
  a handler for data types TEXT or BINARY then the
  new NullMessage (sink) is used for that specific data type
  to consume (quietly) those ignored Messages.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-18 08:04:17 -05:00
Joakim Erdfelt 02c49efc5f Issue #3884 - Adding testcase to satisfy PR review
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-18 07:51:12 -05:00
Joakim Erdfelt f4ce98b1c8 Issue #3884 - Pure @OnWebSocketFrame usage should not process Continuation events
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-17 15:51:35 -05:00
Joakim Erdfelt f7b212abb0 Issue #3884 - Pure WebSocketFrameListener should not process Continuation events
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-17 14:34:51 -05:00
Joakim Erdfelt f20d403480 Issue #3876 - Additional testcase
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-16 13:04:19 -05:00
Joakim Erdfelt ec9f4ef392 Issue #3876 - WebSocket Partial Listener testcases and fix
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-16 07:07:55 -05:00
olivier lamy 6df9ef3a15 Updating to version 10.0.0-SNAPSHOT 2019-07-12 06:54:56 +10:00
olivier lamy 8cbfd51e80 Updating to version 10.0.0-alpha0 2019-07-12 06:54:56 +10:00
olivier lamy a34e641a27 Updating to version 10.0.0-SNAPSHOT 2019-07-11 17:20:27 +10:00
olivier lamy 2e58f2f515 Updating to version 10.0.0-alpha0 2019-07-11 14:19:45 +10:00
olivier lamy 352d1e7c3b fix checkstyle
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-07-09 18:27:14 +10:00
Lachlan Roberts 9449008581 Issue #3849 - only notify onError for local errors
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-05 16:06:56 +10:00
Lachlan Roberts 6eee5ad415 Merge remote-tracking branch 'eclipse/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-04 14:30:45 +10:00
Lachlan d8164a1728
Merge pull request #3836 from eclipse/jetty-9.4.x-3835-WebSocketSession-LifeCycle
Issue #3835 - ensure WebSocketSessions are always stopped
2019-07-04 12:59:49 +10:00
Lachlan Roberts d4217cb20b Merge remote-tracking branch jetty-9.4.x into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-04 12:39:03 +10:00
Lachlan Roberts 062444630f Merge remote-tracking branch jetty-9.4.x into jetty-9.4.x-3835-WebSocketSession-LifeCycle
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-04 11:15:23 +10:00
Lachlan Roberts d69bf31494 Issue #300 - fix test expectation after CompressExtension changes
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-04 11:10:24 +10:00
Lachlan Roberts bb1a260fa5 Merge remote-tracking branch jetty-10.0.x into jetty-10.0.x-300-CompressionPool
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-04 10:22:10 +10:00
Lachlan Roberts 50c18798ba Merge remote-tracking branch 'eclipse/jetty-9.4.x' into jetty-9.4.x-300-CompressionPool
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-04 10:19:54 +10:00
Greg Wilkins d744d097de
Checkstyle cleanup (#3847)
* Checkstyle cleanup
* fixed bug from reformat
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-07-03 17:24:08 +02:00
Greg Wilkins 9fe27eb8e3 Updated all arrays after merge of #3846
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-07-03 17:23:02 +02:00
Jan Bartel 5568f833e7 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Jan Bartel <janb@webtide.com>
2019-07-03 16:53:00 +02:00
Jan Bartel bb7fb48f08
Fix checkstyle warnings for tests. (#3846)
Signed-off-by: Jan Bartel <janb@webtide.com>
2019-07-03 16:42:20 +02:00
Lachlan Roberts 1554b3dbb1 Issue #3835 - add default methods to WebSocketSessionListener
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-03 11:33:32 +10:00
Lachlan Roberts 07ee1d8fc6 Merge remote-tracking branch jetty-9.4.x into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-03 11:21:30 +10:00
Lachlan f3f13c4ca9
Issue #2061 - fail current entry in CompressExtension on failure (#3830)
* Issue #2061 - fail current entry in CompressExtension on failure

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Issue #2061 - do not notify callback failure twice

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-03 11:09:34 +10:00
Lachlan Roberts 196833d15e Issue #3835 - fix SessionTracker dump, add test assertions
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-02 19:06:05 +10:00
Lachlan Roberts 705e1cafe0 Issue #300 - use inflater/deflater pools in CompressExtension
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-02 16:42:50 +10:00
Lachlan Roberts 64eb3217cd Issue #300 - refactor usages of WebSocketComponents
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-02 15:28:58 +10:00
Lachlan Roberts c5172df484 fix RestartContextTest for javax WebSockets
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-02 11:32:08 +10:00
Lachlan cbc4768cae
Issue #3159 - do not copy RSV bits to auto-fragmented frames (#3816)
* Issue #3159 - do not copy RSV bits to auto-fragmented frames

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Issue #3159 - warn if DeflateFrameExtension detects autoFragment on

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Issue #3159 - automatically set auto-fragment false in DeflateFrameExt

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Issue #3159 - automatically set auto-fragment false in DeflateFrameExt

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Issue #3159 - add todo

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-01 17:06:32 +10:00
Lachlan ac8910e044
Issue #3809 - ensure abnormal close frame will hard close ws connection (#3819)
* Issue #3809 - ensure abnormal close frame will hard close ws connection

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Issue #3159 - signal onError on abnormal status code close

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-01 16:50:56 +10:00
Lachlan Roberts 2383bf4974 Issue #3835 - ensure WebSocketSessions are always stopped
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-01 16:40:45 +10:00
Lachlan fa4abfa6bb
Merge pull request #3365 from lachlan-roberts/jetty-10.0.x-3170-websocket-proxy
Issue #3170 - WebSocket Proxy
2019-07-01 11:53:48 +10:00
Olivier Lamy 38a3a51a54
Jetty 10.0.x javadoc fix (testing javadoc plugin SNAPSHOT) (#3831)
* fix javadoc generation with jdk11

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

* currently disable javadoc:aggregate-jar as do not work yet

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-06-28 10:00:57 +10:00
Lachlan cc4304a0f6
WebSocket core autobahn and MessageHandler refactor (#3802)
* reworked WebSocket autobahn test code and the core MessageHandler

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* PR #3802 - changes from review

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-26 13:47:46 +10:00
Lachlan Roberts 2cf0c8aeb8 Merge remote-tracking branch 'jetty-9.4.x' into jetty-9.4.x-300-CompressionPool
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-25 10:21:43 +10:00
Greg Wilkins b7a7a53a18
Jetty 10.0.x reformat (#3812)
* Removing Legacy Method Separators
* Restyling branch `jetty-9.4.x`
* Applying changes highlighted by checkstyle
* Removing Legacy Method Separators
* Restyling branch `jetty-10.0.x`
* Applying checkstyle changes
* Applying checkstyle changes
* Applying XML restyling
* Restyling XML in branch `jetty-10.0.x`
* Fixing XML codestyle for IntelliJ
* Fixing XML style mistakes
* Fixing XML restyling in branch `jetty-10.0.x`
* Revert "Applying XML restyling"
* Updating checkstyle for XML codestyle
* Revert "Restyling XML in branch `jetty-10.0.x`"

# Conflicts:
#	jetty-xml/src/test/resources/org/eclipse/jetty/xml/configureWithAttr.xml
#	jetty-xml/src/test/resources/org/eclipse/jetty/xml/configureWithElements.xml

* Adding back build-resources
* Reformatting pom.xml files
* Disabling Checkstyle job
* fixed empty string on line wrap
* reformatted with latest intellij style
* misc checkstyle fixes

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-06-24 17:42:39 +02:00
Greg Wilkins 9706d70484
Jetty 9.4.x reformat (#3811)
* Removing Legacy Method Separators
* Restyling branch `jetty-9.4.x`
* Applying changes highlighted by checkstyle
* Applying XML restyling
* Fixing XML codestyle for IntelliJ
* Fixing XML style mistakes
* Revert "Applying XML restyling"
* Updating checkstyle for XML codestyle
* Reformatting pom.xml files
* Fixed empty string from line wraps
* Update intellij style to not do expression relative formatting. Reformatted code based on that.
* Increasing line split on Eclipse IDE Formatter to 512
* Restoring setting on internal default value.
+ IntelliJ will not export settings on things that set to their
  internal default values.
  We want to keep those values as a hedge against future default
  value changes in future releases of IntelliJ.
* Fixing intellij codestyle
* do not allow single line simple methods
* misc checkstyle fixes
* re-exported with correct name and all values

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-06-24 17:40:30 +02:00
Joakim Erdfelt 479eb77f6a
Merge pull request #3797 from eclipse/jetty-10.0.x-remove-deprecated
Remove deprecated in Jetty 10.0.x
2019-06-21 14:27:34 -05:00
Lachlan 3ae6d41a18
WebSocket core cleanup (#3783)
* cleanups of WebSocket core

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* WebSocket ConfigurationCustomizer now extends ConfigurationHolder

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* adding isDebugEnabled checks

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-21 10:14:27 +10:00