Commit Graph

5427 Commits

Author SHA1 Message Date
Lachlan d233f3be02
Issue #6447 - Deprecate support for UTF16 encoding in URIs (#6457)
Deprecate support for UTF16 encoding in URIs.
Add compliance mode to allow UTF16 encodings.
Improve testing.
2021-06-23 22:58:49 +10:00
Lachlan 26f57b5f7c
Merge pull request #6415 from eclipse/jetty-10.0.x-6383-FixFileBufferedResponseHandlerTest
Issue #6383 - Fix flaky test FileBufferedResponseHandlerTest
2021-06-21 16:37:24 +10:00
Lachlan Roberts 1e2eb02260 Issue #6383 - Make FileBufferedInterceptor package private
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-06-18 09:47:35 +10:00
Simone Bordet b8d6e3f010
Fixes #6410 - Use SocketAddress instead of InetSocketAddress. (#6414)
* Fixes #6410 - Use SocketAddress instead of InetSocketAddress.

Removed usages of InetSocketAddress in method signatures where possible.
Deprecated old methods, and added new methods with SocketAddress.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-06-17 10:18:08 +02:00
Lachlan Roberts 710cd0d1ac Issue #6383 - Fix flaky test FileBufferedResponseHandlerTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-06-16 11:11:13 +10:00
Joakim Erdfelt 9d2d1e29b7 Updating to version 10.0.6-SNAPSHOT 2021-06-11 09:42:42 -05:00
Joakim Erdfelt dc21b2d73c Updating to version 10.0.5 2021-06-11 09:18:00 -05:00
Lachlan b4d7e5117d
Issue #6302 - Treat empty path segments as ambiguous. (#6304)
Issue #6302 - Treat empty path segments are ambiguous.

* Fix false empty segments being reported.
* Add HttpUriTests for the empty segment as ambiguous

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Co-authored-by: Greg Wilkins <gregw@webtide.com>
2021-06-10 15:12:59 +02:00
Jan Bartel 900c71902c
Issue #6327 Remove DisabledOnJre or test where appropriate (#6386)
Signed-off-by: Jan Bartel <janb@webtide.com>
2021-06-10 21:26:16 +10:00
Jan Bartel 103e1d95fd
Issue #6329 Fix xml config problems (#6348)
* Issue #6392 Review accidental xml config changes

Signed-off-by: Jan Bartel <janb@webtide.com>
2021-06-10 21:11:50 +10:00
Joakim Erdfelt 987066aac1 Updating to version 10.0.5-SNAPSHOT 2021-06-04 13:28:47 -05:00
Joakim Erdfelt 5523480c54 Updating to version 10.0.4 2021-06-04 13:09:44 -05:00
Simone Bordet 3a8af443f5
Fixes #6330 - CustomRequestLog is missing HTTP version format option. (#6362)
Simplified javadoc.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-06-04 16:17:48 +02:00
Jan Bartel de37267ae5
Issue #6327 Fix cookie leak test (#6344)
* Issue #6327 Fix cookie leak test

Signed-off-by: Jan Bartel <janb@webtide.com>
2021-06-04 15:08:53 +02:00
Lachlan Roberts 9cc7517d65 Issue #6330 - Improve javadoc for CustomRequestLog %H
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-06-04 15:05:07 +02:00
Jan Bartel f50c4fd4b4 Issue #6327 Remove an invalid RequestTest
Signed-off-by: Jan Bartel <janb@webtide.com>
2021-06-04 15:04:32 +02:00
Simone Bordet 21aba4a724 Fixes #6323 - HttpClient requests with redirects gets stuck/never calls onComplete()
* Reworked the total timeout handling.
* Now a CyclicTimeouts handles the exchanges in each HttpDestination,
and a CyclicTimeouts handles the exchanges in each HttpConnection
(rather than in HttpChannel).
* Now adjusting the total timeout for copied requests generated by
redirects and authentication.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
(cherry picked from commit 2e7d17400f)
2021-06-04 12:12:40 +02:00
Greg Wilkins 0d71185e10
Fix #6305 Optimise isProtectedTarget (#6306)
* Fix #6305 Optimise isProtectedTarget

Fix #6305 Optimise isProtectedTarget by using case insensitive Index.

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

* Fix #6305 Optimise isProtectedTarget

updates from review

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

* Fix #6305 Optimise isProtectedTarget

updates from review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-05-28 18:01:25 +10:00
Jan Bartel b0cd198b1b
Issue #6268 Log max form size exceeded msg. (#6301) (#6319)
* Issue #6268 Log max form size exceeded msg.

Signed-off-by: Jan Bartel <janb@webtide.com>
2021-05-25 15:39:01 +10:00
Simone Bordet 9ace21992e Updated POM versions to 10.0.4-SNAPSHOT.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-05-21 17:07:46 +02:00
Lachlan cd73338b84
Remove WebSocketComponents & HouseKeeper on Server restart. (#6218)
* Remove WebSocketComponents & HouseKeeper on Server restart.
* Add testing for cleanup of websocket when stopping server.
* Add removeFilterHolder and removeFilterMapping methods on ServletHandler.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-05-20 14:48:23 +02:00
Simone Bordet 67e2b4af2f
Fixes #5306 - Default jetty.*.acceptors should be 1. (#6236)
* Fixes #5306 - Default jetty.*.acceptors should be 1.

Changed the acceptor default to 1, with -1 calculating a value based on the number of cores.
Updated documentation.
Fixed a glitch in ManagedSelector.getMaxSelectedKeys() to return long, not double.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-05-20 09:34:07 +02:00
Ludovic Orban 1d5d8071ba review comments
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-05-19 17:23:01 +02:00
Ludovic Orban 6ed64e1e65 fix HttpChannelOverHTTP2 recycling order to make sure no demanding content can be left pending
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-05-19 17:23:01 +02:00
Jan Bartel cd6462a625
Issue #6277 Better handling of exceptions thrown in sessionDestroyed (#6278)
* Issue #6277 Better handling of exceptions thrown in sessionDestroyed

Signed-off-by: Jan Bartel <janb@webtide.com>
2021-05-16 09:45:50 +10:00
Lachlan f58dbedcd0
Fixes #6263 - Review URI encoding in ConcatServlet & WelcomeFilter.
Review URI encoding in ConcatServlet & WelcomeFilter and improve testing.

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>
2021-05-12 17:14:43 +02:00
Simone Bordet b5b3874275 Fixes #6099 - Cipher preference may break SNI if certificates have different key types.
Updated the logic in SslContextFactory.Server.sniSelect(...) to check if there is
any certificate that matches, and if so return a null alias in the hope to be called
again and pick the right alias for the SNI.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
(cherry picked from commit 68296911b7)
2021-05-10 12:25:56 +02:00
Greg Wilkins 1263732576
Fix #6227 Async timeout dispatch race (#6228) (#6231)
Fix #6227 Async timeout dispatch race
Only allow the thread calling onTimeout to call dispatch and complete once timeout has expired.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-05-06 07:45:27 +10:00
Ludovic Orban 973dfcf4f7 consumeAll: fail content with static exception except when debug logs are enabled + move exception management from HttpInput to ContentProducer
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-04-28 13:15:51 +02:00
Lachlan 3b88b4713c
Merge pull request #6176 from eclipse/jetty-10.0.x-5817-CustomRequestLogFiltering
Issue #5817 - allow CustomRequestLog to be filtered with BiPredicate
2021-04-27 16:04:54 +10:00
Lachlan Roberts 988e158db3 Improve javadoc for CustomRequestLog.setFilter
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-04-26 16:46:53 +10:00
Ludovic Orban 25467f8904 Improve handling of HttpInput.Interceptor behavior
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-04-19 10:32:23 +02:00
Lachlan 4c98990cd9
Create FileBufferedResponseHandler to buffer responses into a file. (#6010)
FileBufferedResponseHandler adds an HttpOutput.Interceptor to buffer all responses into a file until the output is closed. This allows the commit to be delayed until the response is complete and thus headers and response status can be changed while writing the body.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-04-19 11:02:44 +10:00
Lachlan Roberts 382aed8374 Issue #5817 - allow CustomRequestLog to be filtered with BiPredicate
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-04-15 19:03:50 +10:00
Simone Bordet e163b001c3 Fixes #6105 - HttpConnection.getBytesIn() incorrect for requests with chunked content
Moved recording of bytes to fillRequestBuffer(),
so they are accounted also for async reads.
Added test case.
Fixed test that was too strictly comparing HttpConnection.bytesIn,
that now report a correct, but larger value.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
(cherry picked from commit aed20abcbe)
2021-04-10 18:51:54 +02:00
Greg Wilkins b56edf511a
UriCompliance mode improvements #6132 (#6137)
Resolve #6132

Improve configuration of ambiguous URI handling.
Added NON_CANONICAL_AMBIGUOUS_PATHS
2021-04-08 12:03:30 +10:00
Lachlan d7de3ea660
Merge pull request #6092 from eclipse/jetty-10.0.x-6084-GzipHandlerCompressionPool
Issue #6084 - CompressionPools should not be configured through the GzipHandler
2021-03-31 11:08:52 +11:00
Greg Wilkins 20fae6485c
Jetty 10.0.x #5684 disabled tests (#6081)
* Fixes for #5684
Simplified CyclicTimeoutTest#testBusy
InclusiveByteRange clears range list on errors
InclusiveByteRange is forgiving of tab separators and leading 0s

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-03-30 22:24:56 +02:00
Olivier Lamy a0796d1055 Updating to version 10.0.3-SNAPSHOT 2021-03-26 06:31:31 +00:00
Olivier Lamy 7bd207b309 Updating to version 10.0.2 2021-03-26 06:13:42 +00:00
Olivier Lamy d27363fa55 back to 10.0.2-SNAPSHOT
Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2021-03-26 06:10:47 +00:00
Jesse McConnell 7a9e01ac56
Updating to version 10.0.3-SNAPSHOT 2021-03-25 10:38:15 -05:00
Jesse McConnell aac6bfbd48
Updating to version 10.0.2 2021-03-25 10:21:44 -05:00
Simone Bordet 6fca106160 Reverted version to 10.0.2-SNAPSHOT.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-03-25 16:02:45 +01:00
Simone Bordet e068119bc3 Issue #6085 Fix duplicate valid session cookies to pick first valid.
Cosmetic changes.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-03-25 15:53:03 +01:00
Simone Bordet 43562774a8 Issue #6085 Fix duplicate valid session cookies to pick first valid.
Signed-off-by: Jan Bartel <janb@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-03-25 15:53:03 +01:00
Lachlan Roberts 3ad772e5e7 Issue #6084 - Add setters for the Deflater/Inflater pool used by GzipHandler.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-03-25 20:24:24 +11:00
Olivier Lamy 3d0574d64c Updating to version 10.0.3-SNAPSHOT 2021-03-25 04:10:39 +00:00
Olivier Lamy ab235ad687 Updating to version 10.0.2 2021-03-25 03:57:25 +00:00
Jan Bartel fd05a3d19c
Issue #6085 Fix reference counts for multiple valid cookies for sessions (#6088) (#6096)
* Issue #6085 Fix reference counts for multiple valid cookies for sesssions

Signed-off-by: Jan Bartel <janb@webtide.com>
2021-03-25 09:37:17 +11:00
Greg Wilkins 303e031235
Added before dependents to Modules (#6080)
Added `before` section to a module to control ordering
rename `options` section to `after`

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2021-03-24 13:31:36 +01:00
Greg Wilkins d80c622b00
Merge pull request from GHSA-v7ff-8wcx-gmc5 (#6089)
Always normalize ambiguous URIs

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-03-24 05:54:06 +01:00
Olivier Lamy d9db52f1d7
add an easy way to configure useInputDirectByteBuffers/useOutputDirectByteBuffers for HttpConfiguration (#6055)
* add an easy way to configure useInputDirectByteBuffers/useOutputDirectByteBuffers for HttpConfiguration

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2021-03-24 14:17:04 +10:00
Lachlan Roberts df87b6e21e Issue #6084 - Add warnings for deprecated GzipHandler methods for CompressionPool capacity.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-03-24 14:07:58 +11:00
Lachlan Roberts df13b33bfb Issue #6084 - CompressionPools should not be configured through the GzipHandler.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-03-24 13:56:07 +11:00
Joakim Erdfelt cba4864fef
Issue #5996 - Remove logback-access.mod (#6002)
* Issue #5996 - Removing logback-access.mod

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-03-24 03:21:45 +01:00
Greg Wilkins 0d91f33b79
Fix #6076 Protect from null local certificates (#6078)
Fix #6076 Protect from null local certificates
cache resulting X509 in session

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-03-23 22:17:40 +01:00
Joakim Erdfelt be22761a20 Fixes #6072 - jetty server high CPU when client send data length > 17408.
Avoid spinning if the input buffer is full.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-03-22 23:24:57 +01:00
Greg Wilkins c59de808f1
Fix #5835 Durable filters and servlets (#6027)
Fix #5835 Durable filters and servlets with a general ServletHandler cleanup
update indexes after updating mapping
update mappings/indexes before destroyed listeners

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-03-22 11:28:25 +01:00
Lachlan c664d673e0
Merge pull request #6033 from eclipse/jetty-10.0.x-6008-RequestLogFix
Issue #6008 - fix RequestLog usage with filePath.
2021-03-11 15:28:20 +11:00
Lachlan Roberts 671a76c613 Issue #6008 - add default ini line for jetty.requestlog.dir
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-03-10 21:37:30 +11:00
Lachlan Roberts c1215e46c2 Issue #6008 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-03-09 18:35:34 +11:00
Simone Bordet 8de7b83966 Fixes #6034 - SslContextFactory may select a wildcard certificate during SNI selection when a more specific SSL certificate is present.
Now matching certificates are sorted, non-wildcard first, so that a more specific alias is returned.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-03-08 19:40:24 +01:00
Lachlan Roberts 08c4ce14ab Issue #6008 - fix RequestLog usage with filePath.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-03-04 11:19:14 +11:00
Joakim Erdfelt 1cb0a4978f
Merge pull request #6022 from eclipse/jetty-10.0.x-better-xml-path-resolution
Issue #6021 - PoC for resolvePath within XmlConfiguration
2021-03-03 12:24:25 -08:00
Joakim Erdfelt 613e0ecd54
Issue #6021 - PoC for resolvePath within XmlConfiguration
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-03-02 14:40:36 -06:00
Greg Wilkins 06e1a7e88d
URI compliance modes for #6001 (#6006)
* Fix #4275 separate compliance modes for ambiguous URI segments and separators

default modes allows both ambiguous separators and segments, but still forbids ambiguous parameters

Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-03-02 11:59:16 +01:00
gregw c4dbf9748e Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: gregw <gregw@webtide.com>
2021-02-24 11:58:55 +01:00
Greg Wilkins 49e73dfb75
Fix #4275 #6001 separate compliance modes for ambiguous URI segments and se… (#6003)
Fix #4275 separate compliance modes for ambiguous URI segments and separators
2021-02-24 10:05:05 +01:00
gregw 16241d7fcb Efficiency improvements for #5977
Improve efficiency for non wrapped response for cache-contro
2021-02-23 13:09:02 +01:00
gregw 3100f2c158 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: gregw <gregw@webtide.com>
2021-02-23 13:07:56 +01:00
gregw fdb54fa2fb Efficiency improvements for #5977
Improve efficiency for non wrapped response for cache-contro
2021-02-23 13:06:50 +01:00
Greg Wilkins c0b0f80567
Efficiency improvements for #5977 (#5998)
Improve efficiency for non wrapped response for cache-contro
2021-02-23 12:56:22 +01:00
olivier lamy 0f32e264a2 Merge branch 'jetty-9.4.x' into jetty-10.0.x 2021-02-23 10:38:05 +10:00
olivier lamy 38ef4009b9 fix containsHeader test when it is not instance of Response, Issue #5977 was partially fixed
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2021-02-23 10:01:53 +10:00
Joakim Erdfelt 8ed8dc62e3 Updating to version 10.0.2-SNAPSHOT 2021-02-19 13:06:42 -06:00
Joakim Erdfelt d0bfd9145d Updating to version 10.0.1 2021-02-19 12:43:50 -06:00
Joakim Erdfelt ea2a76ed3b Updating to version 9.4.38-SNAPSHOT 2021-02-19 09:44:28 -06:00
Joakim Erdfelt 27afab2bd3 Updating to version 9.4.37.v20210219 2021-02-19 09:03:57 -06:00
gregw bb5fefdaeb Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: gregw <gregw@webtide.com>
2021-02-18 17:44:46 +01:00
Greg Wilkins 324ab668de
More optional etag gzip fixes for #5979 (#5986)
* More optional etag gzip fixes for #5979

IF no separator defined, do not add a suffix to an etag.
Some cleanup of the implementation.

* More optional etag gzip fixes for #5979

updates from review
2021-02-18 17:24:16 +01:00
olivier lamy 1d5662f841 Merge branch 'jetty-9.4.x' into jetty-10.0.x 2021-02-18 07:44:37 +10:00
Olivier Lamy addfbe81c1
Issue #5977 do not force Cache-Control header if already set (#5978)
* Issue #5977 do not force Cache-Control header if already set

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2021-02-18 07:29:24 +10:00
Greg Wilkins a8b4927427
Fix #5979 by allowing a configurable etag separator. (#5980)
* Fix #5979 by allowing a configurable etag separator.

Fix #5979 by allowing a configurable etag separator

* updates from review

* Updates from review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-02-17 22:19:23 +01:00
gregw 349b89d7e4 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: gregw <gregw@webtide.com>
2021-02-17 18:11:02 +01:00
Ludovic Orban 4cfe7b9e3b
Merge pull request #5953 from eclipse/jetty-10.0.x-5605-wakeup-blocked-threads
Jetty 10.0.x Fix #5605 Unblock non container Threads
2021-02-17 14:46:56 +01:00
gregw 78ed082d59 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-5605-wakeup-blocked-threads 2021-02-17 10:28:06 +01:00
gregw 071584668c updates from review 2021-02-16 18:42:28 +01:00
gregw 6b1a8c376f updates from review 2021-02-16 17:48:49 +01:00
gregw 172cd61878 merge from 9.4.x
Signed-off-by: gregw <gregw@webtide.com>
2021-02-16 16:35:57 +01:00
Greg Wilkins 20ef71fe5d
Fix #4275 fail URIs with ambiguous segments (#5954)
Handle URIs by first resolving relative paths and then decoding.
Added compliance mode to return 400 if there are ambiguous path segments.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-02-16 14:47:41 +01:00
Ludovic Orban ace019ab2d Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-5605-wakeup-blocked-threads 2021-02-16 13:35:18 +01:00
Joakim Erdfelt d6ec96fe1b
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2021-02-15 14:18:08 -06:00
Joakim Erdfelt 5dd987779c
Adding `WhitespaceAfter` checkstyle rule.
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-02-15 12:48:24 -06:00
Ludovic Orban f70a76651d replace semaphore with cond variable + counter
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-02-15 19:29:21 +01:00
Ludovic Orban 4ec51fbbca abort when onError() fails
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-02-15 11:28:10 +01:00
Ludovic Orban bf9318f2b8 fix HttpOutput.close() hanging forever when client sends TCP RST and GZIP is enabled
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-02-12 17:43:05 +01:00
Ludovic Orban 8049be5fcb repro test
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-02-12 17:11:38 +01:00
Ludovic Orban 67b533df87 Merge remote-tracking branch 'origin/jetty-9.4.x-5605-wakeup-blocked-threads' into jetty-10.0.x-5605-wakeup-blocked-threads 2021-02-12 16:57:27 +01:00
Ludovic Orban 31eedec1ed internalize the lock within the content producer
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-02-11 16:33:54 +01:00