Commit Graph

3544 Commits

Author SHA1 Message Date
olivier lamy c198d26e6b Updating to version 10.0.0-SNAPSHOT 2020-08-11 16:47:55 +08:00
olivier lamy 429b091578 Updating to version 10.0.0.beta1 2020-08-11 16:47:54 +08:00
Lachlan Roberts 8a3ff775d5 Issue #5122 - make number of active WS Sessions a managed attribute on SessionTracker
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-06 20:45:06 +10:00
Lachlan Roberts be429f0910 Issue #5122 - add specialized Connection.Listener for WebSocket ConnectionStatistics
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-06 20:38:02 +10:00
Lachlan 1e7ce3ac1e
Merge pull request #5101 from eclipse/jetty-10.0.x-5044-WebSocketUpgradeRequestResponse
Issue #5044 - Refactor of Jetty WebSocket Upgrade Request/Response
2020-08-06 09:11:12 +10:00
Lachlan Roberts fd5c07eceb removed dangling javadoc comment
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-06 08:25:40 +10:00
Lachlan 11db6f9d71
Merge pull request #5115 from eclipse/jetty-10.0.x-5096-lazyUpgradeFilter
Issue #5096 - lazily initialize the WebSocketFilter if only using JettyWebSocketServlet
2020-08-05 09:37:42 +10:00
Simone Bordet c49035570e Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-convert_synchronized_to_autolock'. 2020-08-04 16:32:55 +02:00
Lachlan Roberts dbeac5eb49 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-04 20:37:12 +10:00
Lachlan Roberts 9cde41a75c Issue #5096 - add WebSocketFilter lazily if only using JettyWebSocketServlet
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-03 19:01:41 +10:00
Lachlan Roberts 85c4fc5335 Issue #5108 - use set based on ConcurrentHashMap and remove synchronized blocks
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-03 18:26:14 +10:00
Lachlan Roberts d37501dce0 Issue #5108 - use HashSet for SessionTrackers to improve scalability
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-03 10:40:12 +10:00
Lachlan Roberts ce8cb063ea Issue #5044 - extend Jetty WS API Request/Response interfaces for jetty-websocket-server
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-30 17:34:17 +10:00
Lachlan Roberts 3074aa7fae Issue #5044 - Jetty Server upgrade request/response now implement the API interfaces
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-30 13:28:39 +10:00
Lachlan Roberts 9027e17095 Issue #5044 - rename the ClientUpgradeRequest to CoreClientUpgradeRequest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-30 12:51:42 +10:00
Simone Bordet 089e51f0bc Fixes #5083 - Convert synchronized usages to AutoLock.
Updates after review.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-29 15:34:01 +02:00
Lachlan Roberts 414a0f35f9 Issue #5044 - move all setter methods on the UpgradeRequest interface to ClientUpgradeRequest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-29 22:44:42 +10:00
Lachlan Roberts 5ff0ce4142 Issue #5044 - implement is secure on DelegatedJettyClientUpgradeRequest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-29 22:22:14 +10:00
Lachlan Roberts 1be0220988 Issue #4919 - make the SessionTracker the one to implement Graceful shutdown
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-28 17:38:41 +10:00
Lachlan Roberts 9e383f0891 Issue #4919 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-28 16:48:49 +10:00
Simone Bordet 8d69fc41a7 Fixes #5083 - Convert synchronized usages to AutoLock.
* Replaced relevant usages of synchronized with AutoLock.
* Made AutoLock serializable since classes that use it may be stored in the HttpSession.
* Added convenience methods to AutoLock to execute lambdas with the lock held.
* Introduced AutoLock.WithCondition to use a Lock and a Condition together.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-27 23:14:05 +02:00
Lachlan Roberts e13d26ab45 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4919-WebSocketContainerStop
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-24 13:39:07 +10:00
Joakim Erdfelt fe9deae849 Updating to version 9.4.32-SNAPSHOT 2020-07-23 13:53:47 -05:00
Joakim Erdfelt 450ba27947 Updating to version 9.4.31.v20200723 2020-07-23 12:46:54 -05:00
Lachlan Roberts d5cf429537 fix websocket tests from merge
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-23 12:17:20 +10:00
Lachlan Roberts e77c253267 Issue #5018 - fix merge to jetty-10, WSClient.connect Future should fail upgrade
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-23 11:17:05 +10:00
Lachlan Roberts 5726fa9364 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-23 10:19:53 +10:00
Lachlan d8b775c0fb
Merge pull request #5030 from eclipse/jetty-9.4.x-5018-WebSocketClientConnectFuture
Issue #5018 - cancellation of WebSocketClient.connect Future should fail upgrade
2020-07-23 08:36:12 +10:00
Joakim Erdfelt 25a2326221
Merge pull request #5054 from eclipse/jetty-10.0.x-5043-AnonymousWebSocketListener
Issue #5043 - allow anonymous WebSocketListener / Endpoint classes to be used
2020-07-22 14:49:48 -05:00
Lachlan Roberts 695d239ac5 Issue #4919 - all websocket containers to implement Graceful shutdown interface
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-23 00:09:43 +10:00
gregw 965e73e9e9 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-07-20 12:01:53 +02:00
Lachlan Roberts 9f7f2e3e56 WebSocket server now only closes gracefully if the Server stopTimeout is set
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-20 15:49:15 +10:00
Lachlan Roberts 0818f54be8 cleanup the ws javax EchoSocket test class
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-20 15:32:46 +10:00
gregw 6125a07a63 Issue #5053
removed weak random from Masker.
2020-07-17 17:59:57 +02:00
gregw f6d39849e8 Improves #5053 by giving option of secure or pseudo random
Allow random to be passed in and can default to a weak pseudo random.
2020-07-17 12:19:22 +02:00
Lachlan Roberts c94e82470d Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4919-WebSocketContainerStop 2020-07-17 15:32:10 +10:00
Greg Wilkins beca81c990
Fixes #5053 CWE-331 (#5056)
Replace uses of Random with SecureRandom.
We do not believe any of these uses of Random represent any security vulnerability, but we are making this
change for an abundance of caution and to avoid warnings from 3rd party scanning tools.
2020-07-16 15:31:19 +02:00
Lachlan Roberts 0a30525653 Issue #5043 - allow WebSocketListener / Endpoint anonymous classes to be used
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-16 12:44:54 +10:00
Lachlan Roberts 00777fe05a Issue #5043 - add testing for WebSocketListener / Endpoint as anonymous classes
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-16 12:21:03 +10:00
Lachlan fc473f3368
Merge pull request #5031 from eclipse/jetty-10.0.x-5018-WebSocketClientRequestTimeout
Issue #5018 - add WebSocketClient UpgradeRequest timeout to jetty 10
2020-07-16 09:19:47 +10:00
Lachlan Roberts c09e4d6f86 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-16 08:46:29 +10:00
Lachlan Roberts 860cba7877 Use Consumer<NativeWebSocketConfiguration> in ConnectFutureTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-16 07:45:16 +10:00
Lachlan Roberts f9750c9632 Test aborting with exception before WS upgrade completes.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-15 19:21:01 +10:00
Lachlan Roberts de1b6745c5 the DO NOT EDIT comment in .mod files should start with '#'
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-15 16:47:22 +10:00
Lachlan Roberts 25a7da2635 add test for abort with CompletableFuture.completeExceptionally()
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-14 21:47:31 +10:00
Lachlan Roberts 664cf5fb52 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-5018-WebSocketClientConnectFuture 2020-07-14 21:21:08 +10:00
Lachlan Roberts 9c910e9413 changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-14 18:09:40 +10:00
Lachlan Roberts 145dcf502c cleanups after merge
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-14 16:52:50 +10:00
Lachlan Roberts df34a6269b Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-5018-WebSocketClientRequestTimeout
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-14 16:39:23 +10:00
Simone Bordet 7b05567b52 Issue #4808 - Review HttpClient Request header APIs.
For some reason, Request.getHeaders() returned HttpFields,
but HttpRequest.getHeaders() returned HttpFields.Mutable,
and it was obviously wrong.

Fixed WebSocket code that was relying on this API error.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-13 16:44:07 +02:00
Lachlan Roberts fc0f4b28f9 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-13 15:06:09 +10:00
Lachlan Roberts ca404f157f clean up and rename fields in EventSocket WebSocket test utility class
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-13 14:53:55 +10:00
olivier lamy eefe3d202b revert fail release
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-07-10 15:04:22 +10:00
olivier lamy 9619a5a743 Updating to version 10.0.0.beta1 2020-07-10 14:23:28 +10:00
olivier lamy aaeffb719e Updating to version 10.0.0-SNAPSHOT 2020-07-09 12:25:34 +10:00
olivier lamy 23c99ffdbe Updating to version 10.0.0.beta1 2020-07-09 11:20:55 +10:00
Lachlan Roberts 25d7b99ba1 Issue #5018 - add WebSocketClient UpgradeRequest timeout to jetty 10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-09 08:11:05 +10:00
Lachlan Roberts a179535db3 Issue #5018 - add WebSocketClient UpgradeRequest timeout to jetty 10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-08 18:04:36 +10:00
Lachlan Roberts c716edd7a2 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-07-08 17:35:13 +10:00
Lachlan Roberts d7c47f42d6 Issue #5018 - add testing for WebSocketClient Future cancellations
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-08 16:48:43 +10:00
Lachlan 794d67c4d6
Merge pull request #5024 from eclipse/jetty-9.4.x-5018-ClientUpgradeRequestTimeout
Issue #5018 - add request timeout onto ClientUpgradeRequest
2020-07-08 16:36:07 +10:00
Lachlan Roberts 13297d5bd7 Issue #5018 - cancellation of WebSocketClient.connect Future should fail upgrade
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-08 16:20:27 +10:00
Lachlan Roberts 702a48c2d1 Issue #5018 - rename ClientUpgradeRequest timeout to setTimeout
and increase timeouts used for testing

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-07 22:05:01 +10:00
Lachlan Roberts 74916c2fc9 Issue #5018 - add test case for ClientUpgradeRequest timeout
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-07 16:38:51 +10:00
Simone Bordet ba6a6ea67d Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-07-06 23:10:19 +02:00
Simone Bordet f2c6b67827
Fixes #4971 - Simplify Connection.upgradeFrom()/upgradeTo(). (#5008)
Fixes #4971 - Simplify Connection.upgradeFrom()/upgradeTo().

Now the upgrade-from connection produces a "floating" buffer 
(not belonging to a pool), so that it can release the original buffer.

The upgrade-to connection is free to copy or store this "floating" buffer.

Strengthened ByteBufferPool behavior when releasing non-pooled
ByteBuffers: the buffer is now discarded.

Updated javadocs and all implementations.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-06 22:45:03 +02:00
Lachlan 33852f5137
Merge pull request #4912 from eclipse/jetty-10.0.x-4907-suspendAfterCloseRace
Issue #4907 - close websocket suspendState if close frame is received
2020-07-06 12:54:39 +10:00
Lachlan Roberts fbe3803cd1 fix checkstyle issue
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-06 12:19:38 +10:00
Lachlan Roberts 6a8a6efd1c Issue #5018 - add request timeout onto ClientUpgradeRequest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-04 11:37:45 +10:00
Lachlan Roberts 32b29a3ced fix DecoderListsTest and cleanup code
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-30 11:18:36 +10:00
Lachlan Roberts 4fdf52bd55 Issue #3428 - changes to AbstractDecodedMessageSink signature from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-29 20:34:18 +10:00
Lachlan Roberts acf47624a3 Issue #3428 - make AvailableDecoders only allow registration through EndpointConfig
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-29 19:01:00 +10:00
Lachlan Roberts eb01603abb Issue #3428 - improve testing and ensure decoders are registered in correct order
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-29 18:41:54 +10:00
Lachlan Roberts 5da4d7e460 Issue #3428 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-29 15:37:47 +10:00
Lachlan Roberts 35e82c85ff Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-3428-decoderLists 2020-06-29 11:33:03 +10:00
Lachlan Roberts 22d5321628 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-06-23 10:04:58 +10:00
Lachlan Roberts 0db20886d0 Issue #1100 - ensure init and destroy are always called on JSR356 Encoders
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-22 11:51:06 +10:00
Lachlan Roberts a03a352d79 Issue #1100 - replicate issue where Encoder init and destroy never called
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-22 11:21:46 +10:00
Lachlan Roberts ed9c60fc90 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4919-WebSocketContainerStop
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-16 18:57:40 +10:00
Lachlan Roberts 50b62c3771 Issue #4907 - merge synchronized blocks for suspendState
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-16 18:09:29 +10:00
olivier lamy 25c54668f4 fix license header
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-06-13 20:43:21 +10:00
Joakim Erdfelt 6795f3915f
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-06-12 12:04:50 -05:00
Joakim Erdfelt 6df6fa33b8 Updating to version 9.4.31-SNAPSHOT 2020-06-11 08:24:34 -05:00
Joakim Erdfelt 271836e4c1 Updating to version 9.4.30.v20200611 2020-06-11 07:21:18 -05:00
Lachlan Roberts 66ef0ebc03 Issue #4903 - do ServerEndpointConfig validation check before started
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-11 19:20:49 +10:00
Lachlan Roberts f41f601e19 Issue #4903 - fix validation on custom Configurator annotated endpoint
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-11 09:58:49 +10:00
Joakim Erdfelt b22e306796
Issue #4903 - Improved behavior for Custom ServerEndpointConfig.Configurator
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-06-10 17:03:26 -05:00
Joakim Erdfelt 9bfc168329
Issue #4903 - Improved behavior for Custom ServerEndpointConfig.Configurator
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-06-10 11:01:30 -05:00
Lachlan Roberts 5fc90cc6db fix websocket JPMS warnings and build issues
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-10 00:36:49 +10:00
Lachlan Roberts 9423a8753e fix some websocket jpms errors
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-02 16:10:48 +10:00
Lachlan Roberts bebe6fd138 Issue #4919 - always stop SessionTracker before closing connections
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-02 15:37:55 +10:00
Lachlan Roberts 753c8be6eb Issue #4919 - test graceful stop for jetty and javax ws containers
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-02 15:32:36 +10:00
Lachlan Roberts f2dec1946d Issue #4903 - give better errors for non public javax.websocket endpoints jetty-10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-28 12:25:47 +10:00
Lachlan Roberts 2c1c25d5a7 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-3428-decoderLists 2020-05-28 10:29:53 +10:00
Lachlan Roberts 1690f69f36 Issue #3428 - improve testing & warn if no decoder accepts message
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-28 10:21:28 +10:00
Lachlan Roberts 277561e48b Issue #4907 - moved to close state if any close frame is received
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-27 10:10:12 +10:00
Lachlan 0b8306976a
Merge pull request #4906 from eclipse/jetty-9.4.x-4903-WebSocketPublicModifier
Issue #4903 - give better errors for non public javax.websocket endpoints
2020-05-27 09:43:24 +10:00
Lachlan Roberts a11c7f554c Issue #4903 - cleanup catch statement from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-27 09:42:44 +10:00
Lachlan Roberts 5c63b0ef78 Issue #4903 - catch Throwable instead of RuntimeException
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-26 17:37:04 +10:00
Lachlan Roberts d8fb116e12 Issue #4907 - close suspendState if response close frame is received
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-26 17:13:16 +10:00