Commit Graph

28161 Commits

Author SHA1 Message Date
Simone Bordet 8cd55e3f7d
Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-27 19:18:50 +02:00
Simone Bordet 420ec7cc1d
HTTP/2 improvements. (#9749)
* Implemented a few required error handlings.
* Changed `Parser.init()` to directly take the listener, rather than wrapping it.
  The reason for this change was to be able to reconfigure the Parser upon receiving a SETTINGS frame.
* Initially setting the encoder and decoder max table capacity at the default of 4096, as per spec.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-27 19:14:01 +02:00
Ludovic Orban 97ce1daa0b Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-05-26 23:27:58 +02:00
Ludovic Orban debb124dc9 handle review comments
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-26 23:09:24 +02:00
Ludovic Orban bf5527ba43 #9397 add tls alert to error message
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-26 23:09:24 +02:00
Ludovic Orban 9982381e18 #9397 add support for sending a client cert over quic
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-26 23:09:24 +02:00
Ludovic Orban 871022f3b0 #9397 add trust store config to H3
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-26 23:09:24 +02:00
Ludovic Orban e30b23aca6 #9397 fix keystores with invalid Subject Alternate Names
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-26 23:09:24 +02:00
Ludovic Orban b3b1d93152 #9397 add quiche_conn_peer_cert() API mapping
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-26 23:09:24 +02:00
Ludovic Orban 07a1c124f2 #9772 improve QuicServerConnector key+crt export folder
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-26 23:09:24 +02:00
Ludovic Orban b24c180749 #8694 use SslContextFactory.getKeyStore() API in QuicServerConnector instead of re-creating the keystore
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-26 23:09:24 +02:00
Lachlan Roberts c855f4ca55 PR #9798 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-05-26 17:19:54 +10:00
Simone Bordet 476145b817
Fixed FCGI content parsing. (#9790)
* Fixed FCGI content parsing.

WordPress sends the initial content in the same frame as the response headers.
StreamContentParser was receiving the frame, delegating to HttpParser to parse the headers,
but the buffer was still containing some content, that was lost.
Now the content after the headers is correctly retained.

For the direct FastCGI APIs, now a read-only version of the buffer is passed to the listener,
and the original buffer is consumed as the caller expects.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-25 15:22:30 +02:00
Lachlan Roberts dca4e9832e review and cleanup of HTTP/3 Integer and String encoding
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-05-25 23:09:24 +10:00
Simone Bordet e0ff8cd1a5
Simplified and fixed TryPathsHandler. (#9792)
Improved logging and variable naming in related classes.

Previously, a 404 received from a child handler would have resulted in an infinite loop trying to write the 404 response. However, `TryPathsHandler` should just delegate to other handlers.

Replaced the `IteratingCallback` loop with a simple `for` loop over the paths to try, returning if the path was handled by a child `Handler`.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-23 21:26:35 +02:00
Ludovic Orban ece6adbd33 #9765 fix race condition that can happen when one thread demands and another thread reads
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-23 19:17:39 +02:00
Lachlan Roberts 152030de09 Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2023-05-22 18:05:21 +10:00
Lachlan Roberts 1dd564832f Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-05-22 17:52:51 +10:00
Lachlan 1c010876dc
Merge pull request #9759 from eclipse/jetty-10.0.x-websocket-bufferLeak
Issue #9682 - fix RetainableByteBuffer release bug in WebSocket
2023-05-22 17:52:17 +10:00
Jan Bartel 5c2e7afcef
Issue #9785 context path set incorrectly for ee9 (#9786) 2023-05-22 09:35:47 +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 18c4846b1c
Jetty 12 simplify EchoHandler (#9783) 2023-05-18 09:50:09 +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
gregw f57879cb50 Merge remote-tracking branch 'origin' into jetty-11.0.x 2023-05-17 23:39:18 +02:00
Greg Wilkins e7f9abffce
Fix #9777 CrossOriginFilter Vary Header (#9779)
* Fix #9777 CrossOriginFilter Vary Header

Always set the Vary Header.
2023-05-17 23:33:03 +02:00
Simone Bordet eaeb633fbe
Fixed flaky test ClientServerTest.testReadDataFromOnRequestWithoutDemanding().
Removed assumption that returning a null stream listener implies that the stream input must be shut down,
because the reads may be performed in a spin loop in another thread, without demanding.

Rewritten the test to avoid blocking the thread that called onRequest(), otherwise the data frames cannot
be read from the network.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-17 22:57:23 +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
Simone Bordet 7bbf966949
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-15 16:48:06 +02:00
Simone Bordet 0033ff9b9e
Merged branch 'jetty-10.0.x' into 'jetty-11.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-15 15:15:11 +02:00
Lachlan 6e8457cfde
Fixes to QPACK configuration from SETTINGS frames. (#9728)
* Improved configuration upon sending/receiving SETTINGS frames.
* Improved handling of blocked frames in HTTP3StreamConnection.
* Fixed locking and reentrance in QPACK encoder/decoder.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-15 15:07:33 +02:00
Simone Bordet b884469103
FCGI improvements. (#9733)
* FCGI improvements.

* Better handling for HTTPS parameter on server side.
* Better handling of unknown frame types.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-15 15:04:50 +02:00
Ludovic Orban ac2765c98d Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-15 10:09:36 +02:00
Ludovic Orban 33e9b5343f Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-15 10:03:43 +02:00
Ludovic Orban 7ac49cd43c
H3: Fix racy read from stream-less channel (#9761)
* #9655 introduce new Stream.Client.Listener.onNewStream() method to allow setting the channel's stream before sending any data to the network

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-15 09:50:36 +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
Olivier Lamy 11d1f650bc
remove snapshot repositories, force module order (may not work with mvnd) (#9771)
* do not use snapshot repositories per default

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

* add disableRestartFromStage() option

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

* change module build orders

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

---------

Signed-off-by: Olivier Lamy <olamy@apache.org>
2023-05-15 13:21:23 +10:00
Lachlan Roberts c51ccd1faf Issue #9682 - changes after review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-05-15 10:14:14 +10: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
Ludovic Orban ef0f7a06e1 #9680 prevent AttributeNormalizer from accepting combined resources
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-12 18:34:41 +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 7f7551a2a8 Issue #9682 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-05-12 04:44:06 +10:00
Lachlan Roberts b16660388f fix ParserTest after merge
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-05-11 11:14:16 +10:00
Lachlan Roberts 07c8c8a2cf Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2023-05-11 11:08:31 +10:00
Lachlan Roberts 72f628dc31 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2023-05-11 11:06:37 +10:00
Lachlan 8eae62d622
Merge pull request #9741 from eclipse/jetty-10.0.x-websocket-parser
Review of websocket parser, improve testing & comments.
2023-05-11 11:06:13 +10:00