Commit Graph

2628 Commits

Author SHA1 Message Date
Simone Bordet e91a68923a
Fixes #8926 - HttpClient GZIPContentDecoder should remove Content-Len… (#10326)
Now Content-Length and Content-Encoding are removed/modified by the decoder.
In this way, applications have a correct sets of headers to decide whether to decode the content themselves.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-08-21 08:58:22 +02:00
Simone Bordet b2477d1c38
Fixes #10160 - Verify PROXY_AUTHENTICATION is sent to forward proxies (#10162)
Now TunnelRequest.getURI() does not return null, so normalizeRequest() can properly apply the authentication headers.

Moved copy of a request to HttpRequest, so also the sub-type can be copied.
Fixed restore of destination in HttpProxy.HttpProxyClientConnectionFactory.newProxyConnection(): now doing it in the promise rather than in finally block.
Using the proxy destination (not the server's) to send subsequent CONNECT requests in case the first is not replied with 200.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-07-31 18:39:13 +02:00
Simone Bordet 87c24e7258
Fixes #8405 - onAllDataRead() is called twice under h2 if the stream … (#10174)
* Fixes #8405 - onAllDataRead() is called twice under h2 if the stream times out

Per Servlet semantic, HTTP/2 stream timeout should be ignored.

The code was trying to fail the read via `_contentDemander.onTimeout()`, but
then it was still calling `onContentProducible()`, which was returning `true`
because the state of the read was IDLE (all the request content was read) and
the request was suspended.

Now the code checks if the read was really failed; if it is not, then
`onContentProducible()` is not called and so the idle timeout is ignored.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-07-31 15:13:50 +02:00
Simone Bordet a5a0a6c887
Fixes #10145 - WritePendingException over HTTP/2 tunnel (#10146)
Method HTTP2StreamEndPoint.flush() has a "no pending operation" semantic, but the previous implementation was calling stream.data(), which may become a pending operation if the stream is congested.

Changed the implementation of flush() to return false in the IDLE and PENDING cases.
Now every flush() is converted to a write(), which has the same semantic as stream.data().

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-07-26 22:59:24 +02:00
Jan Bartel c8100b18b8
Update to bundle-plugin-5.1.9 (#9954) 2023-06-29 14:41:04 +02:00
Jan Bartel 7b80b0bbcb
Update plexus-utils to 4.0.0 (#9958)
* Update plexus-utils to 4.0.0

---------

Co-authored-by: Olivier Lamy <oliver.lamy@gmail.com>
2023-06-29 12:56:36 +02:00
Joakim Erdfelt 5b830a4466
Fixes #9795 - jetty-slf4j-impl is non-optional on some modules (#9800)
* jetty-slf4j-impl is non-optional on some modules
* Using appropriate slf4j impl depending on module.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2023-06-05 06:37:05 -05: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 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 ca3c1756ad
Updating to version 10.0.16-SNAPSHOT 2023-04-11 13:23:25 -05:00
Joakim Erdfelt 68017dbd00
Updating to version 10.0.15 2023-04-11 12:24:32 -05:00
Lachlan 24b7d06fd5
Issue #9464 - Add optional configuration to log user out after OpenID idToken expires. (Jetty-10) (#9528)
* improvements to logout from the OpenIdLoginService validate
* respect idToken expiry for lifetime of login
* fix checkstyle error
* Add respectIdTokenExpiry configuration
* changes from review
* rename respectIdTokenExpiry to logoutWhenIdTokenIsExpired
* changes from review

---------

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-04-11 12:20:16 +10:00
Simone Bordet 278ec1be69
Fixes #9237 - Decouple QTP idleTimeout from pool shrink rate. (#9498)
Introduced `QueuedThreadPool.maxEvictCount` to be the number of idle threads that are evicted in one idle timeout.

When set to 1 (the default), the old behavior is reproduced: expiring 1 thread every idle timeout.
When set to larger values, allows to keep around the threads for the idle timeout (in case of further load spikes), but allows to quickly recover OS memory when they are truly idle.

For example, with 2000 threads, 30 seconds idle timeout and idleTimeoutMaxShrinkCount=1, it will take 995 minutes (about 16.5 hrs) to shrink the pool back to 10 threads.
By setting idleTimeoutMaxShrinkCount=100, the thread pool can be shrunk to 10 threads in about 10 minutes.

Note also that the new algorithm is more aggressive at shrinking the thread pool.
Previously, a small load might have been sufficient to never evict any thread, because all threads could take turns at executing jobs so that threads were mostly idle but would never really idle time out.
The new algorithm is more aggressive even in presence of a small load, so that if `minThreads` are sufficient to cope with the small load, then the other threads are evicted.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: gregw <gregw@webtide.com>
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Co-authored-by: gregw <gregw@webtide.com>
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
2023-03-31 15:36:34 +02:00
Joakim Erdfelt 4a761f4aee
Disable broken JDK19 test
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2023-03-21 07:40:02 -05:00
Joakim Erdfelt cc408b7fe5
Disable broken JDK19 test
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2023-03-21 07:04:29 -05:00
Joakim Erdfelt 9060adb8ca
Merge remote-tracking branch 'origin/jetty-10.0.x' into fix/jetty-10.0.x/jetty-sh-start-properties 2023-03-20 23:14:28 -05:00
Joakim Erdfelt d81941a91e
Disable broken JDK19 test
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2023-03-20 13:42:12 -05:00
Olivier Lamy d748fde470
no need of unzip jetty-home for every single test if it is the same zip (based on lastModified file value) (#9486)
Signed-off-by: Olivier Lamy <olamy@apache.org>
2023-03-11 10:21:39 +10:00
Olivier Lamy e62cc0344a Updating to version 10.0.15-SNAPSHOT 2023-03-01 18:55:10 +10:00
gregw 7a7d69a69f Happy no year
Remove modification date from copyright notice and instead just have the
project inception year.

Signed-off-by: gregw <gregw@webtide.com>
2023-02-15 15:22:32 +11:00
Greg Wilkins 5f25f5b389
Fix/jetty 10.0.x/uri host mismatch alt (#9343)
* Introduce HttpCompliance.MISMATCHED_AUTHORITY

* Update HttpCompliance.RFC2616

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

* Update NcsaRequestLogTest.testAbsolute

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

* Use RFC2616 mode in RFC2616 tests

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

* Alternative fix for mismatched host headers

This PR fixes the miss-matched host header issue in the Request.setMetaData method. This requires no change to the HttpParser.
A more comprehensive fix can be considered for jetty-12.

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

* Alternative fix for mismatched host headers

Updates from review

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

---------

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: gregw <gregw@webtide.com>
Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2023-02-14 07:43:19 +11:00
Olivier Lamy bd4cf3c835
Jetty 10 Upgrade to Hazelcast 5 and totally disable auto join multicast etc.. (fix build on CI) (#9331)
* upgrade to hazelcast 5.2.1

Signed-off-by: Olivier Lamy <olamy@apache.org
2023-02-09 18:10:22 +10:00
Joakim Erdfelt 46a316d4df
Issue #9309 - Introducing test for requestlog format with spaces
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2023-02-03 08:45:35 -06:00
Simone Bordet 1283b85b60
More JPMS tests for JSTL.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-02-01 22:48:48 +01:00
Olivier Lamy 7c7a7f3c39
re-enable h3 tests (#8773)
* run h3 tests

Signed-off-by: Olivier Lamy <olamy@apache.org>
2023-01-12 09:22:10 +08:00
Eddú Meléndez Gonzales d5a3d8e1f4
Improve DatastoreEmulatorContainer usage (#9081)
* Improve DatastoreEmulatorContainer usage

Update to testcontainers 1.17.6 and take advantage of
`DatastoreEmulatorContainer#withFlags()`
2022-12-26 09:27:27 +10:00
Joakim Erdfelt 54c4c03244
Updating to version 10.0.14-SNAPSHOT 2022-12-07 14:33:17 -06:00
Joakim Erdfelt 1c2636ea05
Updating to version 10.0.13 2022-12-07 14:12:50 -06:00
Joakim Erdfelt 7e1de8b1e2
Issue #8973 - Rework KeyStoreScanner handling for symlink related changes (#9014)
* Issue #8973 - Rework KeyStoreScanner handling for symlink related changes

+ Removed changes from #8786 and #8787
+ More test cases
+ revert jetty.sslContext.reload.followLinks boolean
+ Scanner should follow its own linkOptions setting
+ remove bad documentation in module-ssl-reload.adoc

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Co-authored-by: Lachlan Roberts <lachlan@webtide.com>
2022-12-07 09:24:19 -06:00
Olivier Lamy c1e570d40e
java inject looks to be needed now
Signed-off-by: Olivier Lamy <olamy@apache.org>
2022-11-29 19:03:01 +10:00
Simone Bordet 83154b4ffe
Fixes #8863 - Provide a possibility to name virtual threads (#8903)
* Fixes #8863 - Provide a possibility to name virtual threads

Reworked the VirtualThreads APIs to be based on `Executor` rather than just `boolean`.
Introduced Jetty module `threadpool-virtual-preview`.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-11-21 15:39:54 +01:00
Joakim Erdfelt ae6ffdc135
Correct osgi bundle-name
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-11-16 08:36:34 -06:00
Joakim Erdfelt 23c989c6ef
Cleanup imports
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-11-16 08:31:02 -06:00
Joakim Erdfelt f9b8d50a2e
Merge remote-tracking branch 'origin/fix/jetty-10-home-with-docs-awaitility' into fix/jetty-10-home-with-docs
# Conflicts:
#	tests/jetty-home-tester/src/main/java/org/eclipse/jetty/tests/hometester/JettyHomeTester.java
2022-11-16 08:30:16 -06:00
Joakim Erdfelt 6b96b0d5e6
Issue #8895 - More reliable JettyHomeTester.unzip
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-11-16 08:23:18 -06:00
Olivier Lamy 62746d9d44
review comments 2022-11-16 20:57:07 +10:00
Olivier Lamy 1eb3cd91ab
use Awaitility
Signed-off-by: Olivier Lamy <olamy@apache.org>
2022-11-16 12:55:34 +10:00
Joakim Erdfelt fd558f2eaa
Issue #8895 - fixing JettyHomeTester.await logs timeout
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-11-15 18:51:10 -06:00
Joakim Erdfelt af227778bb
Issue #8895 - Move JettyHomeTester to own module
+ Fix for circular dependency loop
    test-distribution ->
    jetty-home ->
    jetty-documentation ->
    jetty-asciidoctor-extensions ->
    test-distribution
+ Remove any deps on anything in org.eclipse.jetty from new module

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-11-15 15:06:59 -06:00
Lachlan 690220fc40
Merge pull request #8787 from eclipse/jetty-10.0.x-8786-KeyStoreScanner-Symlink
Issue #8786 - add configuration for KeyStoreScanner to not resolve aliases
2022-11-10 17:17:59 +11:00
Joakim Erdfelt f99da578af
More reliable `AllowedResourceAliasCheckerTest` (#8872)
* More reliable AllowedResourceAliasCheckerTest

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-11-08 16:16:37 -06:00
Simone Bordet 1a1b9cfe4c
Fixes #8770 - Review whether to send request body in redirects. (#8775)
* Fixes #8770 - Review whether to send request body in redirects.

Now the original request body is re-sent only if the redirect status code is 307 or 308.
In the other cases, it is a redirect to a GET method, so the Location is followed without resending the body, and the content headers are removed.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-11-08 21:54:20 +01:00
Joakim Erdfelt cf7353f274
Jetty 10 - Improve test reliability (#8868)
* Don't care about stop failures in this test
* More consistent ConnectTimeoutTest
 + using IANA example.com (as it will route to a
   real machine, and will never have this
   specific port open)

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-11-07 16:16:25 -06:00
Joakim Erdfelt 2243ee5f3b
Jetty 10 - Flag flaky tests to be skipped on CI (#8865)
* @Tag("flaky") use instead of @Disabled
* Tweaking timeouts on some tests
* Tweaking timeouts on some tests

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2022-11-04 14:06:12 -05:00
Lachlan Roberts 0a14cca307 changes from review - rename resolveAlias to followLinks
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-11-03 20:37:55 +11:00
Lachlan Roberts 8607e3ef15 changes to ssl-reload module & documentation from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-11-03 18:54:53 +11:00
Lachlan Roberts 4d15593d63 Issue #8786 - add configuration for KeyStoreScanner to not resolve aliases
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-10-31 14:39:32 +11:00
Gili Tzabari e2e59478ce Update in response to PR comments. 2022-10-24 13:17:25 -04:00
Lachlan Roberts 7e85c2a54c add distribution test to reproduce issue with dry-run
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-10-04 17:43:02 +11:00