Commit Graph

831 Commits

Author SHA1 Message Date
Lachlan Roberts e1b0d01aa0 changes to websocket poms and module-info from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-06-30 14:26:02 +10:00
Jan Bartel d3d298c5f3 Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2023-06-29 15:01:19 +02:00
Jan Bartel 5dee316da3 Merge remote-tracking branch 'jetty-11/jetty-11.0.x' into jetty-12.0.x 2023-06-29 12:55:35 +02:00
Ludovic Orban a10b98e95b add JDK bug ID
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-06-29 09:59:03 +02:00
Lachlan 0941969863
Merge pull request #9945 from eclipse/jetty-12.0.x-WebSocketDemand
Issue #9944 - remove integer from demand in websocket core
2023-06-29 07:53:03 +10:00
Lachlan f1109464bb
Update jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-client-webapp/pom.xml
Co-authored-by: Jan Bartel <janb@webtide.com>
2023-06-29 07:49:32 +10:00
Ludovic Orban c002adbfd7
Fix ServletContext.getResourcePaths() (#9974)
#9972 Fix ServletContextApi.getResource* path normalization

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-06-28 08:50:29 +02:00
Lachlan Roberts e2ca582e10 fix .mod files and tests for websocket client
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-06-28 11:12:56 +10:00
Lachlan Roberts 6ba4670fb9 split a webapp module for jetty-ee9-websocket-jetty-client
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-06-27 18:07:59 +10:00
Lachlan Roberts a4d5558bd8 split a webapp module for jetty-ee10-websocket-jakarta-client
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-06-27 17:09:47 +10:00
Ludovic Orban cbd83c91c2
Fix default servlet character encoding directories (#9970)
#9966 adapt character encoding when including a path that is a directory listing

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-06-26 22:09:17 +02:00
Lachlan Roberts 2030afea62 Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-WebSocketDemand 2023-06-26 12:12:56 +10:00
Greg Wilkins dd71db35fd
Fix #9955 zero status (#9956)
Fix #9955 zero status is 200 in servlet API
2023-06-23 17:22:29 +02:00
Ludovic Orban 8f4a15c7da
#9946 Stop passing Handler in constructor as a parent (#9948)
#9946 Stop passing Handler in constructor as a parent

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-06-23 14:44:12 +02:00
Greg Wilkins a3e82326cf
Experiment/jetty 12 chunk isError and warnings (#9904)
* Remove usage of instanceof Content.Chunk.Error
* Updated AsyncContent to accept a transient failures
* Updated AsyncContent to accept a transient failure with inputstream
2023-06-23 09:17:15 +02:00
Greg Wilkins 0b1c28a888
Jetty 12 inserted handler in ee10 servlet context (#9927)
This PR refactors the ee10 handing of servlet API request and response objects:

 + The ServletContextHandler matches the request to a servlet and creates a one time only ServletContextRequest and a ServletContextResponse
 + A reusable ServletChannel object with all the heavy weight HttpInput and HttpOutput object is associated with the ServletContextRequest and ServletContextResponse.
 + Once the handling reaches the ServletHandler, the possibly wrapped request, response and callback are associated with the ServletChannel before handling.
 + Were possible the ServletApiRequest and ServletApiResponse use the possibly wrapped request/response

Added tests to check that GzipHandler can now be nested inside of an EE10 context.

---------

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Signed-off-by: gregw <gregw@webtide.com>
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
2023-06-22 17:04:49 +02:00
Jan Bartel 3f159fcf32
Issue #9925 Also use current context for alternate getServletContextHandler method (#9941) 2023-06-22 10:25:12 +02:00
Lachlan Roberts 9e99a58ac4 Issue #9944 - remove integer from demand in websocket core
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-06-22 09:08:29 +10:00
Ludovic Orban b9ca6d2233
Fix ee10 path info only (alternative) (#9934)
Fix ee10 path info only

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Co-authored-by: Jan Bartel <janb@webtide.com>
2023-06-21 17:50:33 +02:00
Ludovic Orban 5d97175686
Remove ee10 HttpChannel.Listener (#9920)
* remove ee10 HttpChannel.Listener

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-06-20 17:27:15 +02:00
Jan Bartel a5f26b3d1f
Issue #9925 Use current ServletContextHandler (#9933) 2023-06-20 16:16:59 +02:00
Olivier Lamy 87eb651c1f
mark CloseableDoSFilterTest#testEvenLowRateIP as flaky tests (#9930)
Signed-off-by: Olivier Lamy <olamy@apache.org>
2023-06-20 13:52:26 +10:00
Olivier Lamy c6f19a21eb
Upgrade of dependencies: slf4j 2.0.7, and some 3rd parties dependencies used for testing (#9924)
* Upgrade of dependencies: slf4j 2.0.7, and some 3rd parties dependencies used for testing

Signed-off-by: Olivier Lamy <olamy@apache.org>

* update jackson to 2.14.3

Signed-off-by: Olivier Lamy <olamy@apache.org>

---------

Signed-off-by: Olivier Lamy <olamy@apache.org>
2023-06-20 12:06:29 +10:00
Steffen Nießing 5d87ea7254
Fix spotbugs packages (#9929)
* Fix spotbugs packages

Signed-off-by: Steffen Nießing <zuniquex@protonmail.com>

* remove jdk17 profile which disable spotbugs

---------

Signed-off-by: Steffen Nießing <zuniquex@protonmail.com>
Co-authored-by: Olivier Lamy <olamy@apache.org>
2023-06-20 10:54:16 +10:00
Lachlan Roberts cf78881f04 Issue #9396 - Improve JPMS testing for websocket in Jetty 12
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-06-19 14:34:40 +10:00
Lachlan Roberts b9d6c1c0b5 Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-9396-websocket-jpms-review 2023-06-19 13:24:05 +10:00
gregw 3104420e6c suppress test stack 2023-06-16 12:20:24 +02:00
Greg Wilkins 926a15aa62
fixing JPMS and reactivating the tests (#9911)
* WIP fixing JPMS and reactivating the tests

* fix jndi demos with jpms activated

Signed-off-by: Olivier Lamy <olamy@apache.org>

---------

Signed-off-by: Olivier Lamy <olamy@apache.org>
Co-authored-by: Olivier Lamy <olamy@apache.org>
2023-06-16 12:52:11 +10:00
Lachlan 58cee22ba4
Merge pull request #9908 from eclipse/jetty-12.0.x-PR9891
Merge PR #9891 to Jetty-12
2023-06-16 07:24:38 +10:00
Ludovic Orban 8e79c1b58b
Add `EventsHandler` API (#9901)
* #8885 add EventsHandler API

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-06-15 17:31:11 +02:00
Jan Bartel 9e4dc46a3e
Pause before checking session eviction (#9893)
* Pause before checking session eviction

* Change after review
2023-06-15 14:26:18 +02:00
Jan Bartel 69964468bb
Issue #9906 Empty path info (#9907)
* Issue #9906 Empty path info

* Update jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/ServletContextHandlerTest.java

Co-authored-by: Olivier Lamy <oliver.lamy@gmail.com>

* Update jetty-ee9/jetty-ee9-servlet/src/test/java/org/eclipse/jetty/ee9/servlet/ServletContextHandlerTest.java

Co-authored-by: Olivier Lamy <oliver.lamy@gmail.com>

---------

Co-authored-by: Olivier Lamy <oliver.lamy@gmail.com>
2023-06-15 12:13:21 +02:00
Lachlan Roberts 48367f3baf Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2023-06-15 13:56:28 +10:00
Lachlan Roberts b0923b2fd9 Issue #9396 - fixes to resolve WebSocket JPMS warnings
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-06-14 18:01:21 +10:00
Greg Wilkins 963d33111e
Jetty 12 idletimeout (#9905)
* IdleTimeout review

 + pass TimeoutException through all APIs
 + HttpConnection now passes on TimeoutException to HttpChannel.onFailure
* More ServerTests for idletimeout

* Recreated a ServerTimeoutsTest for multiple transports

* more robust tests

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>

* merged work from @sbordet and @gregw

* Various improvements to CyclicTimeouts.
* Improved reset of the earliest timeout before iteration.
* Removed check for getExpireNanoTime() == -1, since it's a valid value.
* When onExpired(Expirable) returns false, the Expirable should arrange to move its timeout in the future.

* fix keystore to please BoringSSL + use correct temp path

Signed-off-by: Ludovic Orban <lorban@bitronix.be>

* Fixed ErrorResponseAndCallback succeeded() and failed() to call super.failed() in all cases to complete the wrapped callback.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>

* Revert "Fixed ErrorResponseAndCallback succeeded() and failed() to call super.failed() in all cases to complete the wrapped callback."

This reverts commit 5ac57c13e0.

* WIP idleTimeout

* WIP idleTimeout

* Added context wrapper for idle timeout listener

* updates from review

---------

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
2023-06-14 09:57:10 +02:00
Greg Wilkins d3e88a95fe
Jetty 12.0.x custom request log #8819 (#9896)
* Resolve #8819 CustomRequestLog improvement

Resolves #8819 CustomRequestLog improvements:
 + only add extra detail if the log is a CustomRequestLog
 + add extra detail as a record
 + get authentication state directly from request attribute

* protect against null core request

* protect against null core request

* Use nanotime for logged latency
2023-06-13 11:12:45 +02:00
Olivier Lamy a617784e8e
Remove duplicated classes from test session, fix some to be able to run in parallel and not restarting 3rd party for each tests (#9782)
---------

Signed-off-by: Olivier Lamy <olamy@apache.org>
2023-06-09 06:47:36 +10:00
Jan Bartel 64b54adb9c
Remove unused ee10-demo-realm files and add distro test (#9886) 2023-06-08 18:54:10 +02:00
Jan Bartel 1bc1aacbe7
Fix redirect demo; fix links to sources for demos; fix blog link (#9890)
* Fix redirect demo; fix links to sources for demos; fix blog link

* Update jetty-home/src/main/resources/modules/demo.d/root/index.html

Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

---------

Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2023-06-08 18:24:08 +02:00
Jan Bartel 4ec7dc73f6
Jetty 12.0.x 9072 move core ee classes (#9883)
* Issue #9072 refactor jetty-ee module to remove it

* Remove old ee imports in module-info.javas

* Remove jetty-ee from deps

* Fix references to jetty-ee for osgi

* Update jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/Deployable.java

Co-authored-by: Greg Wilkins <gregw@webtide.com>

---------

Co-authored-by: Greg Wilkins <gregw@webtide.com>
2023-06-08 18:22:57 +02:00
Greg Wilkins c0de62b2c6
Jetty 12 graceful contexts (#9867)
Removed all shutdown mechanisms from ContextHandler
Fixed GracefulHandler

---------

Signed-off-by: gregw <gregw@webtide.com>
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
2023-06-07 21:05:49 +02:00
Jan Bartel 18a0738923
Issue #9879 re-enable and fix rewrite demo (#9882) 2023-06-07 19:13:44 +02:00
Jan Bartel 6b362c03a9
Issue #9657 (#9781) 2023-06-06 11:06:48 +02:00
Simone Bordet 22641f1267
Fix/jetty 12 restore ee n fcgi (#9796)
* Restored ee9 FastCGIProxyServlet and TryFilesFilter.
* Restored ee10 FastCGIProxyServlet and TryFilesFilter.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-06-05 16:50:11 +02:00
Greg Wilkins 1c01a49149
Jetty 12 context initial ClassLoader (#9866)
* Ensure environment classloader in ContextHandler
* Set the initial classloader in ContextHandler
* WebAppContext uses initial classloader
2023-06-05 16:49:15 +02:00
Simone Bordet 8c4e75bf8d
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-28 00:34:49 +02:00
gregw d2b71d7968 Fix tests broken by #9774
Cross context is not support
2023-05-19 09:25:13 +02:00
Jan Bartel f6822a2162
Issue #9774 Disallow cross context (#9775)
* Issue #9774 Disallow cross context
2023-05-18 15:11:50 +02:00
Greg Wilkins 068a60a868
Simplified QuotedStringTokenizer (#9729)
Simplified QuotedStringTokenizer #9729
* Now implements a simple subset of `quoted-string` from RFC9110
* introduced builder
* Extracted QuotedStringTokenizer interface and re-introduced the legacy implementation
* Re-introduced the ability to have unescaped \ in filenames
* Whitespace is Character.isWhiteSpace
* Disable test pending RFC8187
* No OWS around =
2023-05-18 08:25:53 +02:00
gregw 3e5d479f39 Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x
# Conflicts:
#	jetty-ee9/jetty-ee9-servlets/src/test/java/org/eclipse/jetty/ee9/servlets/CrossOriginFilterTest.java
2023-05-18 00:18:45 +02:00
Simone Bordet b018261a85
Fixes #9767 - jetty-12 ee10 ServerPush failures (#9773)
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-17 15:44:41 +02:00
Simone Bordet e52e95f788
Fixes #9766 - jetty-12 ee9 ServerPush failures. (#9776)
* Restored dispatch=true for pushed requests.
* Restored tests that use the Servlet APIs to push.
* Ensured that pushed streams have request content EOF.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-17 15:42:05 +02:00
Joakim Erdfelt 2fdcae40f0
Refine how Request / Channel / Stream completion works (#9684)
Fixes #9684
+ Restore LargeHeaderTest Test
+ Fix Bad Content-Length produced if write + error occurs
+ Fix race between callback failure and error handling failure
+ Introduce new ResponseCompleteTest to attempt to capture complete race issue
+ More DEBUG + ignoring failure for completeStream
+ Removed ErrorResponse in favour or an errorMode

---------

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: gregw <gregw@webtide.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-15 08:15:37 +02:00
gregw 0c9c91f917 Fixed missed push for #9724
updates from review
2023-05-13 08:29:13 +02:00
Greg Wilkins 4b67abcf38
Jetty 12 immutable ee10 configurations (#9724)
* Immutable EE10 Configurations
2023-05-13 08:17:42 +02:00
Jan Bartel 2261ce9a50
Issue #9762 ee9 double parses cookies (#9764)
* Issue #9762 ee9 double parses cookies

* implemented the TODOs to cache servlet cookies

---------

Co-authored-by: gregw <gregw@webtide.com>
2023-05-12 17:14:44 +02:00
Jan Bartel 87a430d148
Issue #9745 Role * wins over specific roles (#9757) 2023-05-12 17:13:57 +02:00
Lachlan Roberts 99a673b900 minor change to jaspi poms
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-05-09 14:57:22 +10:00
Jan Bartel 3d87bb60bf
Issue #9734 fix check for state start in cookie config (#9735)
* Issue #9734 fix check for state start in cookie config

* Update after review
2023-05-08 23:26:25 +10:00
Greg Wilkins 4c16e6a707
Jetty 12 content length 0 take3 (#9740)
* Optimize Content-Length: 0 handling

Create and use a pre-encoded HttpFields.CONTENT_LENGTH_0 constant
Used the constant in more places
renamed the `putLongField` methods of HttpFields.Mutable to just `put`
Fixed wrong docs examples
2023-05-07 19:22:15 +02:00
gregw e5dea257b1 Removed deleted jar from ee10-security.mod 2023-05-07 13:09:50 +02:00
Jan Bartel ad8c508fd2
Issue #9650 throw ISE if response committed before resetBuffer called (#9673) 2023-05-06 18:42:06 +10:00
Jan Bartel a59be47b3f
Issue #9649 ServletApiResponse.addIntHeader must ignore headers after commit (#9668) 2023-05-06 00:59:33 +10:00
Simone Bordet 7e6de2512c
Fixed range-request tests after merge.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-05 11:06:06 +02:00
Lachlan d0b49ff4f8
Merge pull request #9739 from eclipse/jetty-12.0.x-9637-ServletRequestListener
Issue #9637 - Update behaviour and add testing for ServletRequestListener
2023-05-05 18:47:24 +10:00
Simone Bordet baf72248aa
Fixed tests after merge.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-04 22:36:00 +02:00
Lachlan Roberts e79cf08d05 removing deprecated PushSessionCacheFilter in 12.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-05-04 09:52:21 +10:00
Lachlan Roberts 65db09da75 Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-9637-ServletRequestListener 2023-05-04 08:31:12 +10:00
Olivier Lamy 0896927e13 fix boms
Signed-off-by: Olivier Lamy <olamy@apache.org>
2023-05-03 20:28:47 +10:00
Greg Wilkins 49f311d325
Fix #9685 & #9648 test isCommitted in sendError (#9719)
* Issue #9648 ServletApiResponse.sendError must check if already committed.

* Fix #9685 merge to 12

Merging #9685 to 12 broke the build as it turned out that the error handling was depending on the attempt to remove the Date header to detect if the response was already committed during a sendError.   This fix makes the test for committed explicit, it also fixes which exception is passed to abort.

* Fix #9685 merge to 12

Merging #9685 to 12 broke the build as it turned out that the error handling was depending on the attempt to remove the Date header to detect if the response was already committed during a sendError.

---------

Co-authored-by: Jan Bartel <janb@webtide.com>
2023-05-03 11:35:46 +02:00
Simone Bordet adf5754836
Fixes #9552 - Jetty 12 - Rewrite of the Jetty WebSocket APIs. (#9652)
* Removed unnecessary classes, among which `BatchMode`, `CloseStatus`, etc.
* Coalesced all listener interfaces into `Session.Listener`.
* Moved `RemoteEndpoint` functionality to `Session`.
* Renamed `WebSocketPolicy` to `Configurable`.
* Renamed `WriteCallback` to just `Callback`, as it is now also used for some listener methods.
* Renamed `@OnWebSocketConnect` to `@OnWebSocketOpen`
* Renamed `Session.Listener.onWebSocketConnect()` to `onWebSocketOpen()`.
* Removed `@WebSocket` annotation attributes, because they were just a subset of the configurable ones and they can be configured directly on the Session instance.
* Removed `Session.suspend()` and `SuspendToken`, and introduced `Session.demand()`.
* Introduced `@WebSocket.autoDemand` and `Session.Listener.AutoDemanding` to support automatic demand upon exit of WebSocket handler methods.
* Removed `FrameHandler.isAutoDemanding()` and `CoreSession.isAutoDemanding()`.
* Changed the responsibility of demand from `WebSocketCoreSession` to `FrameHandler`, which in turn may delegate to `MessageSink`.
* Updated MessageInputStream to fail if an exception is thrown by the application.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-02 16:42:40 +02:00
Greg Wilkins 7275bf15a9
Jetty 12.0.x core security (#9405)
core security module

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: gregw <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Lachlan Roberts <lachlan@webtide.com>
Co-authored-by: Jan Bartel <janb@webtide.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-02 15:35:49 +02:00
Greg Wilkins 379de19e5c
Fix #9686 (#9718)
Fix the tests usage of configurations.  Probably need to improve the configuration API to make this kind of error impossible.

Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2023-05-02 13:03:49 +02:00
Lachlan Roberts ee047f1d91 Issue #9637 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-05-02 10:00:49 +10:00
gregw d5552a31be Fix #9685 merge to 12
sendError checks for committed and throws ISE (as per spec javadoc)
2023-05-01 18:12:06 +02:00
Lachlan 0271077f46
Merge pull request #9678 from eclipse/jetty-12.0.x-9466-DeploymentException
Issue #9466 - review where we throw DeploymentException for WebSocketContainer.connectToServer
2023-05-01 14:27:22 +10:00
gregw 7dcb33b188 Copied Date header change from merge to ee9 to ee10 2023-04-29 13:46:56 +02:00
Lachlan Roberts 082b36df96 Issue #9637 - add boolean argument to the ServletChannel.dispatch method
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-04-28 00:08:11 +10:00
Lachlan Roberts 22bdc6a6c3 Issue #9637 - add test for 403 by securityHandler
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-04-27 15:51:38 +10:00
Lachlan Roberts ab4c3dfb08 fix checkstyle errors
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-04-26 12:11:55 +10:00
Lachlan Roberts e578a2db15 Issue #9637 - Update behaviour and add testing for ServletRequestListener
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-04-26 11:57:41 +10:00
Lachlan Roberts cf32a9cc8c Issue #9466 - review where we throw DeploymentException for WebSocketContainer.connectToServer
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-04-26 11:05:53 +10:00
Jan Bartel c7c3dad498
Issue #9656 Use ISE for PushBuilderImpl.push not IAE (#9667) 2023-04-25 01:35:06 +10:00
Simone Bordet 7ffdd7fd05
Removed unnecessary "Adapter" classes.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-04-21 18:49:51 +02:00
Olivier Lamy 46018e6057
Jetty-12.0.x tests in parallel (down build time on CI from 1h25 to 55min) some modules are still not parallel due to some static usage (#9635)
* parallel tests runs

---------

Signed-off-by: Olivier Lamy <olamy@apache.org>
2023-04-21 10:42:12 +10:00
Jan Bartel a354ca7c6c
Issue #9640 Fix servlet mapping for named forwards (#9642) 2023-04-14 01:59:23 +10:00
Jan Bartel d4708d96c2
Issue #9643 fix getRequestURL for forwards (#9644) 2023-04-14 00:10:56 +10:00
Simone Bordet 8fe3dbad16
Fixes #9438 - Jetty 12: Review JakartaWebSocketClientContainer use of… (#9626)
* Simplified the use of reflection.
* Improved `setShutdownContainer()` to take into account multiple web applications,
so it is now a `Map<ClassLoader, ContainerLifeCycle>` so that each web application
has its own container to register `JakartaWebSocketClientContainer` instances.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-04-13 09:50:18 +02:00
Lachlan Roberts 47af2a378f Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2023-04-11 14:08:13 +10:00
gregw 46eb5c7966 Extended fix from #9629
Allow 400 or EOF for more multipart tests
2023-04-10 13:23:42 +02:00
Simone Bordet ca2d85d8a0
Jetty 12 rehandle welcome files (#8856)
* Introduced WelcomeMode so that now welcome files can be redirected, served, or rehandled.
* Updated ResourceHandler and DefaultServlet accordingly.
* Introduced WelcomeServletMode to replace 2 booleans.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-04-08 18:59:18 +02:00
Simone Bordet 110e092a6e
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-04-06 16:18:58 +02:00
Jan Bartel 537697a8c0
Issue #9509 Preserve query string on dispatch() (#9510)
Calculate forwarded queries from servlet API only when requested.

Co-authored-by: gregw <gregw@webtide.com>
2023-04-05 22:46:04 +02:00
Greg Wilkins 10abcbcf8e
Fix MultiPartServletTest race. (#9629)
The writing of the large content may see an EofException before the 400 response has been processed and delivered to the listener.
2023-04-05 22:41:13 +02:00
Jan Bartel 46f729f7fc
Issue #9617 Update to Apache Jasper 10.1.7 (#9624) 2023-04-05 18:41:32 +10:00
Jan Bartel 5df37bf733
Issue #9537 Support error-on-el-not-found for jsp-property-group (#9625) 2023-04-05 18:39:09 +10:00
Greg Wilkins 8636666eec
Jetty 12 - Remove ISO-8859-1 fallback decoding during UTF-8 decoding (#9507)
* Deleted the Ut8fStringBuffer and Utf8Appendable classes in favour of just having Utf8StringBuilder
* Simplified the Utf8StringBuilder and CharsetStringBuilder APIs and improved their exception throwing.
* Allow for replacement characters without throwing

---------

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: gregw <gregw@webtide.com>
Co-authored-by: Lachlan Roberts <lachlan@webtide.com>
Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2023-04-04 10:57:07 +02:00
Greg Wilkins 693ac7ffbf
Jetty-12 Core Session listeners (#9499)
Added lifecycle and value listeners to jetty core session (needed for core security).

Signed-off-by: Olivier Lamy <olamy@apache.org>
Co-authored-by: Olivier Lamy <olamy@apache.org>
2023-04-03 15:23:10 +02:00
Joakim Erdfelt 9b7763c9be
Jetty 12 - Review BOMs (#9551)
* Fixes #9467 - Review BOMs
* Skip deploy of select test artifacts
2023-03-29 16:34:02 -05:00
Joakim Erdfelt 420ac22985
Issue #8292 - Align ee9/ee10 quickstart testing (#9546) 2023-03-29 16:33:14 -05:00
Joakim Erdfelt 17b3ffe841
Issue #8740 - Move `org.eclipse.jetty.server.context.ManagedAttributes` to core `jetty-server` (#9549) 2023-03-29 13:01:52 -05:00
Joakim Erdfelt 75dbc52f16
Separate weld versions by ee# (#9544) 2023-03-29 10:25:31 -05:00
Joakim Erdfelt 6ce5a0fbcd
Jetty 12 - Remove CGI servlet (#9516)
* Remove CGI servlet
* Remove CGI references
2023-03-29 09:29:57 -05:00
Simone Bordet 6df856e053
Fixes retrieval of SSL Servlet request attributes. (#9533)
* Removed requestlog attributes that were never used.
* Code cleanups to remove usage of deprecated methods.
* Using MavenPaths.findTestResource* in ee9/ee10 tests to allow ee8 translation to function
* Fixed ClientCertAuthenticatorTest in both ee9 and ee10.
* Removed deprecated ClientCertAuthenticator in both ee9 and ee10.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2023-03-28 20:31:08 +02:00
Simone Bordet f532be828f
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-03-28 20:22:56 +02:00
Simone Bordet 856d3338f2
Fixes #9391 - port/move Jetty WebSocket APIs, client and server to je… (#9469)
* Moved -api, -common, -client to jetty-core/jetty-websocket.
* Implemented jetty-core/jetty-websocket/jetty-websocket-jetty-server using only Jetty core APIs, not Servlet.
* Fixed Graceful shutdown order.
* Fixed mistakes in HttpFieldsWrapper, wrongly calling HttpHeader.name() instead of asString().
* Updated tests to pass cleanly.
* Fixed BOMs and POM dependencies.
* Introduced websocket-jetty.mod and websocket-jetty-client.mod, now used by ee10's Jetty WebSocket.
* Fixed OSGi references to old artifactIds.
* Added test to show how to lookup and use ServerWebSocketContainer from a Handler.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-03-24 19:42:51 +01:00
Simone Bordet 092a592278
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-03-20 10:22:23 +01:00
Jan Bartel 38d3d7b8fc
Jetty 12.0.x improve multiversion annotations test (#9492)
* Improve testing of annotation parsing of multiversion jars
2023-03-16 18:54:04 +11:00
Joakim Erdfelt 71e94a57c0
Merge pull request #9481 from eclipse/fix/12.0.x/dependency-updates-report
Jetty 12 - Dependency Updates and Report Script
2023-03-14 06:06:56 -05:00
Greg Wilkins bd0186c2f7
Jetty 12.0.x 9444 servlet paths fully decoded (#9479)
getServletPath and getPathInfo will never return an encoded path segment. Instead, they will throw an IllegalArgumentException if they are called when there is a URI with violations.

Signed-off-by: gregw <gregw@webtide.com>
Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2023-03-11 14:13:09 +01:00
Greg Wilkins b63c5ef611
HttpMessage interface for BadMessageException
Convert class BadMessageException to a HttpMessage.RuntimeException to allows different types of HttpExceptions exceptions.
This follows the pattern of the QuietException interface.
2023-03-10 09:59:05 +01:00
Joakim Erdfelt a03ec5ffc0
Update <ruleSet> for ee10 2023-03-09 10:24:33 -06:00
Jan Bartel f9a018105d
Issue #9459 empty session path in cookie (#9477) 2023-03-10 00:38:52 +11:00
Jan Bartel 9f9868b754
Issue #9463 NPE in ee10 maven plugin startup (#9475)
* Issue #9463 NPE in ee10 maven plugin startup
2023-03-10 00:34:31 +11:00
Joakim Erdfelt 20404f760c
<onlyUpgradable> set to true 2023-03-09 06:36:35 -06:00
Joakim Erdfelt b8a6ba10f6
Update ee10 servlet-jsp-api to 3.1.1 2023-03-08 16:15:41 -06:00
Joakim Erdfelt 7f52d4f3f0
Set <onlyProjectDependencies> config to true 2023-03-08 16:13:27 -06:00
Joakim Erdfelt 0feff8d35a
Ignoring jetty releases and maven alpha/beta versions 2023-03-08 16:08:09 -06:00
Ludovic Orban e266db1ab4 #9412 ee10: Fixed missing callback failure when ws endpoint cannot be instantiated
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-03-08 15:03:19 +01:00
Greg Wilkins 916cd9894d
Decode safe Path for #9444 (#9455)
Added URIUtil.decodeSafePath for EE10, to allow for %2F and %25 to remain encoded in the servlet API.
Fixed async dispatch to also safeDecode
Updated tests to expect decoded space
Apply suggestions from code review

Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-03-03 14:36:19 +01:00
Greg Wilkins 474136de57 #9311 Add Queued and Compound Pool implementations
This adds a QueuedPool that can wrap any other pool and provided a queue of Entries as a kind of cache.
2023-02-27 13:37:53 +01:00
Ludovic Orban e819809723
Fix `HugeResourceTest` (#9411)
#9408: restored HugeResourceTest:
 - fixed double-release bug in MultiPartFormData
 - used ByteBufferPool.NonPooling pool to work around #9311

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-02-27 09:12:50 +01:00
gregw 791c6a7991 Disabled the HugeResourceTest 2023-02-23 15:48:49 +11:00
Jan Bartel 4e97a59671
Issue #9403 sendError(404) not setError(404) for DefaultServlet (#9404) 2023-02-22 17:24:57 +11:00
Lachlan Roberts d6ff799588 Issue #9182 - make JakartaWSSCI.initialize() and JakartaWebSocketServerContainer public
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-02-17 18:02:49 +11:00
Lachlan 81046650ab
Merge pull request #9356 from eclipse/jetty-12.0.x-websocket-JPMS
cleanup of websocket to fix JPMS warnings
2023-02-17 15:30:54 +11:00
Lachlan Roberts 229b300f22 rename WebSocketUtil to WebSocketUtils
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-02-17 11:37:01 +11:00
Lachlan Roberts eb493f1b9d make WebSocketCoreSession public & other fixes
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-02-17 11:33:02 +11:00
Simone Bordet d21f38798e
Moved implementation methods ensure*() from the Response interface (#9390)
to ResponseUtils to avoid cluttering the main Response interface.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-02-17 08:50:46 +11:00
Greg Wilkins 0ca6295cbc
Rename process to handle (#9385)
Renamed Request.Processor to Request.Handler
Renamed Handler.process to Handler.handle
Renamed Rule.Processor to Rule.Handler.
Renamed accordingly methods and variable.
Updated comments accordingly.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-02-16 18:21:12 +01:00
Jan Bartel dd792b5607
Remove jetty-ant (#9382) 2023-02-16 13:48:29 +11:00
gregw 033de8611b Fixed FormAuthenticator redirection
Response redirect now correctly consumes content
2023-02-15 17:48:39 +11:00
Lachlan Roberts 43718f3e52 Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-websocket-JPMS 2023-02-15 17:12:59 +11:00
Lachlan Roberts e25c936802 remove exporting of internal packages in ee9 & ee10 websocket
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-02-15 16:59:29 +11:00
gregw a15af55a56 Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x
Signed-off-by: gregw <gregw@webtide.com>
2023-02-15 15:31:33 +11:00
Jan Bartel ef8a4b4aa6 Restore range test for ee10 DefaultServletTest. 2023-02-15 15:07:11 +11:00
Jan Bartel e89b0ebc17 Restore non cross-context async session tests 2023-02-15 14:58:16 +11:00
Jan Bartel b9b26e2a82
Jetty 12 - Restore ee10 tests (#9214)
* Restore jetty-ee10-test-http2-webapp and jetty-ee10-test-integration modules

Co-authored-by: Lachlan Roberts <lachlan@webtide.com>
2023-02-15 14:24:55 +11:00
Lachlan Roberts ce270cf34b fix remaining JPMS issues in websocket-core
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-02-14 17:25:15 +11:00
Lachlan Roberts 1d8e13220a resolve JPMS issues with CoreSession and WebSocketCoreSession
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-02-14 15:34:53 +11:00
gregw 4aa6bca630 Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x
# Conflicts:
#	jetty-core/jetty-server/src/test/java/org/eclipse/jetty/server/ForwardedRequestCustomizerTest.java
#	jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/Request.java
#	jetty-ee9/jetty-ee9-nested/src/test/java/org/eclipse/jetty/ee9/nested/RequestTest.java
2023-02-14 10:07:18 +11:00
Lachlan Roberts cc40a545dc move websocket-core-common messages and util packages out of internal
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-02-14 09:43:25 +11:00
Simone Bordet e5b313e379
Jetty 12 - Review client notifiers (#9335)
* Introduced ResponseListeners to reduce per-request allocation.
* Removed ResponseNotifier in favor of ResponseListeners.
* Introduced RequestListeners to reduce the per-request allocation.
* Removed RequestNotifier in favor of RequestListeners.
* Removed unnecessary sharing of HttpRequest.requestListeners.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-02-13 17:36:29 +01:00
Lachlan Roberts 2d11517dd6 Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-websocket-autodemanding 2023-02-09 18:22:49 +11:00
Lachlan 3259a55ce3
Merge pull request #9287 from eclipse/jetty-12.0.x-multipartCleanups
Issue #9076 - Cleanups and fixes for multipart in Jetty 12
2023-02-09 18:10:01 +11:00
Jan Bartel 342bd40e0b
Jetty 12.0.x 9301 fix ee10 jstl jpms (#9321)
* Issue #9301 Fix dependencies for ee10-glassfish-jstl module

* Fix jstl,el,jsp to work in jpms and osgi.
2023-02-09 09:35:54 +11:00
Jan Bartel 751b0a8046
Issue #9301 Fix dependencies for ee10-glassfish-jstl module (#9303) 2023-02-09 09:35:02 +11:00
Olivier Lamy b070115dc9
Jetty 12 Hazelcast 5.x and disable auto detection/multicast" (#9332)
* Upgrade to hazelcast 5.2.1
* simplify disable autodetection

Signed-off-by: Olivier Lamy <olamy@apache.org>
2023-02-09 08:10:33 +10:00
Lachlan Roberts 341ac15061 #9287 - fix further test failures
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-02-09 08:37:00 +11:00
Lachlan Roberts d2dcbeba5b Issue #8991 - rename websocket isDemanding() method to isAutoDemanding()
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-02-08 14:18:02 +11:00