Commit Graph

4786 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
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
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
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
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
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
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
Ludovic Orban 59b397b1a0 fix deadlock between HttpInput's lock and BlockingContentProducer's semaphore
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-02-11 15:33:54 +01:00
gregw e2c710e086 updates from review 2021-02-11 15:01:00 +01:00
Ludovic Orban 14108c8e58 set the read listener only after all checks are done
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-02-11 10:24:48 +01:00
Ludovic Orban 1494a05327 rework HttpInput locking
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-02-11 10:23:18 +01:00
Ludovic Orban 6d9d5484a7 lock all HttpInput methods to prevents concurrent threads to work on the same ByteBuffer
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-02-10 18:03:10 +01:00
Ludovic Orban f8bf885686 restore the committee's loop
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-02-10 18:02:37 +01:00
gregw 769687f773 update from the feedback on the feedback of the feedback from the review.
fix javadoc
2021-02-10 16:38:12 +01:00
Ludovic Orban 03e2789699 Merge remote-tracking branch 'origin/jetty-9.4.x-5605-wakeup-blocked-threads' into jetty-10.0.x-5605-wakeup-blocked-threads 2021-02-10 15:53:38 +01:00
Ludovic Orban 3c46c53d91 fix the committee's loop
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-02-10 15:49:55 +01:00
gregw 9f2a4f5ad5 Fix #5605 write side
refactored the complete method to consider unrecoverable API states no matter what the httpout state
actually is.  This avoid duplication of OPEN, CLOSING, CLOSED etc. handling.
2021-02-10 15:35:48 +01:00
Ludovic Orban 3c4713db69 nit
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-02-09 17:47:11 +01:00
Ludovic Orban 12734b1496 committee loop rewrite
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-02-09 17:19:50 +01:00
Ludovic Orban ce29e7cf1c nits
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-02-09 17:12:17 +01:00
Ludovic Orban a29a054fe1 fix leak
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-02-09 17:02:54 +01:00
Ludovic Orban f81ff1707e move fill interested + pending read check out of upgrade
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-02-09 15:26:10 +01:00
Jan Bartel de76d44c97 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2021-02-09 09:49:24 +01:00
Ludovic Orban 50a379d5cf align HttpInput and HttpOutput on recycle and reopen
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-02-09 09:27:26 +01:00
Ludovic Orban d297e9c473 unblock readers after consumeAll
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-02-09 09:26:34 +01:00
Ludovic Orban 9611a252a5 Merge remote-tracking branch 'origin/jetty-9.4.x-5605-wakeup-blocked-threads' into jetty-10.0.x-5605-wakeup-blocked-threads 2021-02-08 10:52:57 +01:00
gregw ed534b84ef Fix #5937
updates from review.
2021-02-05 15:36:34 +01:00
Greg Wilkins f768e2ed68
Fix #5937 (#5949)
Remove size limit on async static content.
2021-02-05 14:50:14 +01:00
gregw 39f6f87ca7 Fix #5605 Unblock non container Threads
Simplification. Always abort on any pending read or write in completion.
2021-02-04 10:26:11 +01:00
gregw 096e8b83e9 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-5605-wakeup-blocked-threads 2021-02-04 09:58:39 +01:00
gregw 7235e492c8 Fix #5605 Unblock non container Threads
Simplification. Always abort on any pending read or write in completion.
2021-02-04 09:58:24 +01:00
gregw e9315fe51f Fix #5605 Unblock non container Threads
revert fillInterest cancellation and just abort connection instead.
tested for all transports
2021-02-03 17:27:25 +01:00
Simone Bordet 0ccaa9f87b Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-02-03 15:25:09 +01:00
Simone Bordet 0bbc9429a1 Fixed javadoc error.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-02-03 15:21:44 +01:00
gregw 5f4919c45a Fix #5605 Unblock non container Threads
cleanup debug
2021-02-03 14:04:29 +01:00
gregw 70056e2c69 Fix #5605 Unblock non container Threads
fix test
2021-02-03 13:40:06 +01:00
Ludovic Orban 421ed6bf8d implementation of HttpServletRequest.upgrade
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-02-03 13:10:38 +01:00
gregw 25cbe652a0 Fix #5605 Unblock non container Threads
reorder
2021-02-03 11:27:25 +01:00
gregw a100d80d26 Fix #5605 Unblock non container Threads
Don't consumeAll before upgrade
2021-02-03 11:03:02 +01:00
gregw a110fc3468 Fix #5605 Unblock non container Threads
test and fixes for the write side.
2021-02-02 17:55:15 +01:00
gregw 0d85c7d220 Fix #5605 Unblock non container Threads
test and fixes for the write side.
2021-02-02 17:49:17 +01:00
gregw 9cc7be4842 Fix #5605 Unblock non container Threads
Ensure that HttpInput is always closed to EOF, EarlyEOF or Error, so that non container threads doing blocking reads
will not block forever, even if late.   Delay recycling of HttpInput until next request is received.
2021-02-02 14:03:38 +01:00
Greg Wilkins 5497eb5017 TCK work around for #5803
TCK work around for #5803

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-01-27 13:49:15 +01:00
Joakim Erdfelt e81c847998
Happy New Year 2021 (Jetty 10 edition)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-01-21 15:05:57 -06:00
Joakim Erdfelt 176e29e408
Happy New Year 2021
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-01-21 12:31:00 -06:00
Joakim Erdfelt 7d167e17fa
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2021-01-19 10:41:29 -06:00
Joakim Erdfelt 25a3d19734
Adding IPv6 Address (non-literal) without port test case
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-01-14 10:03:06 -06:00
Simone Bordet 7fe8d1d4ad Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-01-12 10:43:02 +01:00
Lachlan 01c4390808
Merge pull request #5862 from eclipse/jetty-10.0.x-1673-generateTestKeystore
Issue #1673 - generate test keystore instead of distributing one
2021-01-12 17:18:24 +11:00
Simone Bordet 69cf23ab28 Improvements to the Jetty documentation.
Ported the Jetty Server Dump documentation in the troubleshooting section.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-01-11 16:49:28 +01:00
Simone Bordet 6173e001fb Improvements to the Jetty documentation.
Updated specific module documentation.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-01-11 11:31:42 +01:00
Simone Bordet 26d64bd9db Improvements to the Jetty documentation.
Updated the bytebufferpool module documentation.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-01-11 11:31:30 +01:00
Simone Bordet d7e5587eee Fixes #5689 - Jetty ssl keystorePath doesn't work with absolute path.
Introduced new properties jetty.sslContext.keyStoreAbsolutePath
and jetty.sslContext.trustStoreAbsolutePath to default to
${jetty.base}/etc/keystore.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-01-08 21:54:04 +01:00
Lachlan Roberts c2b9d92a2f Issue #1673 - generate keystore when using test-keystore module
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-01-06 18:07:42 +11:00
gregw 7dfb44f7ad Revert TCK work around
Revert temporary fix for challenged TCK test (#5803)
2021-01-05 13:55:33 +01:00
Greg Wilkins 51120b1f0b
Tries improvements (#5736)
* ArrayTrie handles full alphabet
* TreeTrie handles case sensitive
* improved trie selection from Index builders
* optimisations, cleanups and benchmarks.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-01-05 12:52:34 +01:00
Lachlan 65a908b65d
Merge pull request #5807 from eclipse/jetty-10.0.x-5757-Charsets
Cleanup of charset usage in Response
2020-12-21 16:09:49 +11:00
Lachlan Roberts 477a6c0a10 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-12-15 20:58:33 +11:00
Lachlan Roberts 88a838fb17 Introduce extra enum state for DEFAULT encoding.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-12-15 13:40:22 +11:00
Lachlan Roberts b13fb8ad1e Resolve TODOs and other changes from review.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-12-15 12:21:47 +11:00
Greg Wilkins 9edbd56ffb
Temporary fix for challenged TCK test (#5803)
This is to pass the current TCK.  This has been challenged in https://github.com/eclipse-ee4j/jakartaee-tck/issues/585
2020-12-14 15:12:11 +01:00
Greg Wilkins 25ddd6e154
Fix #5794 Close socket on bind failure (#5802)
* Fix #5794 Close socket on bind failure

Fix #5794 Close socket on bind failure

* Fix #5794 Close socket on bind failure

Fix #5794 Close socket on bind failure

* Fix #5794 Close socket on bind failure

Update fix with IO.close()
2020-12-14 12:16:44 +01:00
Simone Bordet adbe5c58a1 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-12-14 11:21:28 +01:00
Lachlan Roberts 908acd5904 The default iso-8859-1 encoding should be set in the Content-Type.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-12-14 17:22:36 +11:00
Joakim Erdfelt 2662be0a05
Merge pull request #5795 from eclipse/jetty-10.0.x-5784-fix-dual-license-text
Issue #5784 - fix dual license text
2020-12-11 11:37:58 -06:00
Greg Wilkins f17a5fb3fe
Fixes #5779 Include should not set pathInContext (#5780)
Fixes #5779 by ensuring that ContextHandler does not set pathInContext for include.
2020-12-11 10:04:31 +01:00
Joe Witt f7d4b940a2
Issue #5794 ensuring serverChannel is closed in the event of a failed bind to ensure proper resources are cleaned
Signed-off-by: Joe Witt <joewitt@apache.org>
2020-12-10 20:59:09 -07:00
Joakim Erdfelt f0badc5c5e
Issue #5784 - Fixing source header text: EPL-2.0 OR Apache-2.0
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-12-10 16:04:50 -06:00
Lachlan Roberts f5fab09498 Issue #5757 - cleanup logic around character encoding in Response
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-12-09 15:25:46 +11:00
Lachlan Roberts 5490b3add4 Issue #5757 - improve javadoc around inferred and assumed charsets
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-12-08 09:32:26 +11:00
Simone Bordet a241b9dd5e Improved logging.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-27 13:43:09 +01:00
Ludovic Orban aa8bd5d820 replace Trie interface and impls usage with new *Index interfaces and Builders
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-11-26 14:14:16 +01:00
dejpec 22c6b8fced
Access to cookie config with accessor method (#5526)
With this minimal change one can provide different cookie configs for the same SessionHandler
without coping the whole method into the inherited class.

Signed-off-by: Dejan Pecar <dejan.pecar@abacus.ch>
2020-11-25 14:24:29 +01:00
gregw 0a70cba8ae Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: gregw <gregw@webtide.com>
2020-11-24 18:36:24 +01:00
Greg Wilkins 9f82ca0a80
Use File.list and File.walk within a try with resource (#5718)
* Use File.list and File.walk within a try with resource

The API contract of File.list and File.walk requires them to be closed after use.

* Fix from review

Left out filter

* Fix from review

Factored out deleteFile with better debug

* Fix from review

Can delete files whilst walking

* Fix from review

Restored sweepFile
fixed minor code suggestions
2020-11-24 18:12:42 +01:00
Ludovic Orban 2d46951bcb remove unnecessary transition to READY in ContentProducer.isReady
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-11-23 16:25:35 +01:00
Simone Bordet 1ac0af4a76 Fixes #5691 - HttpInput may skip setting fill interest.
Updates after review.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-21 16:40:12 +01:00
Simone Bordet 4654335fdb Fixes #5691 - HttpInput may skip setting fill interest.
HttpInput.run() now uses contentProvider.isReady() to ensure that
if there is no content, the fill interest is set.

AsyncContentProvider.isReady() is now looping if there is content
but it cannot be transformed (e.g. too few gzipped bytes).

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-20 16:52:14 +01:00
Simone Bordet 8edb5cfc24 Issue #5691 - HttpInput may skip setting fill interest.
Code cleanups and logging improvements.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-20 16:50:24 +01:00
Simone Bordet 88c03ac1dc Issue #5605 - java.io.IOException: unconsumed input during http request parsing.
Fixed test after merge.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-19 16:47:36 +01:00
Simone Bordet cb10c35daf Issue #5605 - java.io.IOException: unconsumed input during http request parsing.
Fixed detection of EOF in failAllContent().

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-19 15:21:58 +01:00
Simone Bordet e3e5c2e25a Issue #5605 - java.io.IOException: unconsumed input during http request parsing.
Writing content in separate writes may result in the server
only reading partial content, producing a response with
`Connection: close` that would cause the client socket to
stop receiving data for the next response, failing the test.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-18 21:41:08 +01:00
gregw 699e3ba54c fixed merge
Signed-off-by: gregw <gregw@webtide.com>
2020-11-18 14:42:07 +01:00
gregw f37ad023a8 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: gregw <gregw@webtide.com>
2020-11-18 11:20:48 +01:00
Greg Wilkins 14f94f738d
Issue #5605 unconsumed input on sendError (#5637)
* Issue #5605 unconsumed input on sendError

Add Connection:close if content can't be consumed during a sendError. Processed after the request has returned to the container.

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

* Update from review

 + Add close on all uncommitted requests when content cannot be consumed.

* Update from review

 + fixed comment
 + space comma

* Only consume input in COMPLETE if response is >=200 (ie not an upgrade or similar)

* Updated to be less adventurous

I do not think it was valid to always consumeAll in COMPLETE as this could break upgrades with both 101s and 200s
Instead I have reverted to having this consumeAll logic only:
 + in sendError once control has passed back to the container and we are about to generate an error page.
 + in front of all the sendRedirection that we do without calling the application first.

Extra tests also added

* Updated to be less adventurous

reverted test

* Testcase for odd sendError(400) issue.

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

* Fix for odd sendError(400) issue.

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

* Testcase for odd sendError(400) issue.

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

* Always try to consumeAll on all requests

* Refinements after testing in 10

* Refinements after testing in 10

Fixed test

* Fixed comment from review

* Updates from review

+ added redirect methods that consumeAll
+ ensureContentConsumedOrConnectionClose renamed to ensureConsumeAllOrNotPersistent
+ ensureConsumeAllOrNotPersistent now handles HTTP/1.0 and HTTP/1.1 differently

* better consumeAll implementation

* update from review

 + better javadoc
 + filter out keep-alive
 + added more tests

* update from review

 + better javadoc

* update from review

 + fixed form redirection test for http 1.0 and 1.1

* update from review

 + HttpGenerator removes keep-alive if close present
 + Use isRedirection

Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-18 10:40:05 +01:00
Joakim Erdfelt e9c6c942ea
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-11-17 09:12:50 -06:00
Joakim Erdfelt 1448444c65
Merge pull request #5560 from eclipse/jetty-9.4.x-5539-statisticsservlet-output
Issue #5539 - Proper StatisticsServlet output format via content negotiation
2020-11-17 08:52:34 -06:00
Simone Bordet a3a153d08d Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-11-17 13:41:45 +01:00
Greg Wilkins 71087e53a6
Minor cleanup SecureRequestCustomizer (#5660)
* For #5650 protect from bad SslSession

Better protection from a bad SslSession like seen in #5650

* review indicated that there is too much depth to defend.  So just a little cleanup in this PR.
2020-11-17 13:21:03 +01:00
Joakim Erdfelt 314c65fb14
Issue #5539 - Adding StatisticsServlet tests in test-distribution
+ Updating module definition for JSON

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-11-16 12:31:28 -06:00
gregw 3508fdc955 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: gregw <gregw@webtide.com>
2020-11-16 11:56:13 +01:00
Greg Wilkins 850a0330ff
Cleanup request/response recycle #4711 (#5643)
* Cleanup request/response recycle #4711

Reordered recycle in request and response to field order so that we can check that all fields are recycled.

* Fixed ordering of reader consumption

* update from review
2020-11-16 11:48:33 +01:00
Jan Bartel 1245df26a4 Log failure to delete session file.
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-11-13 12:46:15 +01:00
gregw 8884575f85 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: gregw <gregw@webtide.com>
2020-11-12 17:17:55 +01:00
Greg Wilkins f4c32e788a
Fix #5562 Improve HTTP Field cache allocation (#5565)
* Fix #5562 Improve HTTP Field cache allocation

Fix #5562 by initially putting cacheable fields into a inexpensive arraylist.
Only create the Trie (with space and complexity costs) if a second request is received.

* Fixed NPE

* Feedback from review

Create `HttpHeader.isPseudo()`` method
improved clarity with `createFieldCacheIfNeeded()``

* Feedback from review

Only defer Trie creation to first cacheable field, not until next request.

* Updates from review

* Update from review

 + more javadoc
 + empty set return
2020-11-12 17:05:32 +01:00
Lachlan Roberts 6934b94261 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-11 14:21:58 +11:00
Lachlan Roberts e937b34a82 fixes to XML formatting
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-10 00:11:21 +11:00
Lachlan Roberts 5579b805e3 fix some formatting and comments in XML files
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-09 23:38:51 +11:00
Lachlan Roberts 4c172b5bbb Fix xml <Ref/> tags using id instead of refid.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-09 23:30:36 +11:00
Joakim Erdfelt 0bb5e8c4b1
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-11-03 13:51:03 -06:00
Ludovic Orban 814dc69803 Get rid of addContent() by making produceContent() return Content instead.
Make EOF and errors be special content.
Transition to a much simplified FSM by using the needContent() / produceContent() model.
Implement blocking on top of async, this way there is only one FSM.
(Milestone 6)

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-11-03 17:30:25 +01:00
Ludovic Orban a4258ec9c0 Merge all HttpInput* impls into a single class, push all differences to HttpChannel* impls (Milestone 5)
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-11-03 17:30:25 +01:00
Ludovic Orban d0f04a8eae addContent now returns void (Milestone 4)
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-11-03 17:30:25 +01:00
Ludovic Orban 982ddc0c48 FCGI queue and pull model, merge all common code between H1, H2 and FCGI (Milestone 3)
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-11-03 17:30:25 +01:00
Ludovic Orban 946f334810 http2 impl (Milestone 2)
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-11-03 17:30:25 +01:00
Ludovic Orban 5a24c8dd17 HTTP and FCGI pass all tests (Milestone 1)
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-11-03 17:30:24 +01:00
Greg Wilkins f88f09a148
SessionCookieConfig name may be null (#5557)
* SessionCookieConfig name may be null

Protect against NPE by make a null name in SessionCookieConfig deactive session cookies.

* SessionCookieConfig name may be null

Protect against NPE by make a null name in SessionCookieConfig deactive session cookies.

* SessionCookieConfig name may be null

Protect against NPE by make a null name in SessionCookieConfig deactive session cookies.

* feedback from review

added static method to convert null name to default.
2020-11-03 16:22:26 +01:00
Simone Bordet 40fd98d6a9 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-11-02 10:47:03 +01:00
Simone Bordet 5a59d47a68 Improvements to the Jetty documentation.
Ported and updated the documentation about JMX.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-10-30 16:32:49 +01:00
Lachlan Roberts d6751c9936 Issue #5493 - Fix and simplify graceful shutdown of StatisticsHandler
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-27 15:40:58 +11:00
Simone Bordet 4a4a73df2e Fixes #5488 - jetty-dir.css not found when using JPMS.
Moved jetty-dir.css from jetty-util to jetty-server,
so that it can be found by ResourceHandler when using JPMS.

Updated DefaultServlet to call a ResourceHandler method
to retrieve the stylesheet.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-10-22 16:48:27 +02:00
Joakim Erdfelt 5045244f54
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-10-17 05:38:31 -05:00
Joakim Erdfelt 1e9c736692
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-10-16 17:51:32 -05:00
Joakim Erdfelt 07d35d32ae Fixing windows build/test issues. 2020-10-16 15:39:38 -05:00
Joakim Erdfelt 97f795160c Fixing windows build/test issues. 2020-10-16 13:54:27 -05:00
Joakim Erdfelt 6cf538fd25
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-10-16 09:05:31 -05:00
gregw ba477fa5a7
Fixes #5454 Reset Error Context
Reset the error context when a request is recycled.
2020-10-16 08:16:43 -05:00
Joakim Erdfelt e12c3ce50b
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-10-16 08:11:42 -05:00
Joakim Erdfelt 34d27e8548
Issue #5448 - cleanup request.isSecure logic (#5450)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-10-16 10:53:47 +02:00
Joakim Erdfelt fdd880b66b
Issue #5451 - Cleanup of temp file cleanup.
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-10-15 18:10:38 -05:00
Lachlan Roberts 0e3cfe8fc2 Issue #5287 - share compression pools and size with max num threads
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-14 22:28:26 +11:00
Lachlan Roberts 608a895aab Issue #5287 - make default CompressionPool capacity 1024
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-14 22:28:26 +11:00
Lachlan Roberts 21576f2312 Issue #5287 - fix usages of new CompressionPool
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-14 22:28:26 +11:00
Joakim Erdfelt 68560090fe
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-10-13 12:36:01 -05:00
Joakim Erdfelt 89dc16ae09
Issue #5443 - Forwarding Headers are optional
Cleanup handling of forwarded.authority

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-10-13 10:27:01 -05:00
Joakim Erdfelt 0721178007
Issue #5443 - Forwarding Headers are optional
The `X-Proxied-Https: off` case should have an implied port
not a hardcoded port.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-10-13 08:31:32 -05:00
Joakim Erdfelt 457025bc16
Issue #5443 - Forwarding Headers are optional
Additional NPE safety checks.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-10-13 08:24:49 -05:00
Joakim Erdfelt ea1103077c
Issue #5443 - Forwarding Headers are optional
+ Additional tests for HTTP/1.0
+ Overly complex negative test cases for
   `X-Forwarded-Proto: http` and
   `X-Proxied-Https: off`
+ Failure testcase for `X-Proxied-Https: foo`

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-10-13 08:20:27 -05:00
Joakim Erdfelt abdada05b1
Issue #5443 - Forwarding Headers are optional
+ Improve / document implied secure scheme behaviors
  for both `Proxy-Ssl-Id` or `Proxy-auth-cert`

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-10-13 07:15:38 -05:00
Joakim Erdfelt f0681b33eb
Issue #5443 - Forwarding Headers are optional
+ Simplify isSecure handling in customize.
+ Simplify handling of `Proxy-Ssl-Id` header.
+ Simplify handling of `Proxy-auth-cert` header.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-10-13 07:03:37 -05:00
Joakim Erdfelt 0b646ee6b7
Issue #5443 - Forwarding Headers are optional
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-10-13 05:10:42 -05:00
Joakim Erdfelt f0607273f3
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-10-13 04:54:36 -05:00
Simone Bordet e99f5835e9 Improvements to the Jetty documentation.
Ported and updated the documentation about configuring Jetty behind a load balancer.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-10-12 23:10:11 +02:00
Simone Bordet 1cd15e8d85
Fixes #5379 - Better handling for wrong SNI. (#5398)
* Fixes #5379 - Better handling for wrong SNI.

Reworked the SNI logic.
Added support for IP addresses in the SAN extension of certificates in the X509 class.
Fixed keystores to have CN=localhost and SAN with ip=127.0.0.1 and ip=[::1].
Fixed tests that were not using the correct Host header.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-10-12 15:48:53 +02:00
Joakim Erdfelt c2266fdd63
Issue #5417 - Cleanup of PR from Review
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-10-12 04:50:51 -05:00
Joakim Erdfelt 149f389fd8
Issue #5417 - Honoring implied ports on ForwardedRequestCustomizer better
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-10-09 09:54:57 -05:00
Joakim Erdfelt 857e888e8b
Issue #5401 - Move HttpTester to jetty-http
+ leaving jetty-http-tools alone

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-10-07 14:50:31 -05:00
Simone Bordet 7e75215cfc Improvements to the Jetty documentation.
Ported the TLS documentation.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-10-05 18:12:47 +02:00
gregw 911173f8f7 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-10-05 13:57:20 +02:00
Greg Wilkins c40b955e09
Issue #5022 Filter Cache cleanup (#5271)
* Issue #5022 Filter Cache cleanup

Issue #5022 Filter Cache cleanup:
 + Fixed many compiler warnings
 + removed old LazyList leftovers
 + Don't create holder string for source unless required
 + Only have a single type of chain, so it can be wrapped regardless of cache
 + Reverse mappings lists to make filter chain creation easier
 + build chain directly rather than build a list then a chain

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

* added comment to explain ordering

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

* More cleanups

* fixed toString format
turn off debug in OSGI test
2020-10-05 13:29:11 +02:00
gregw 8ff02018ef Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: gregw <gregw@webtide.com>
2020-09-30 16:55:38 +02:00
Jan Bartel eb02009f87
Issue #5365 ISE not NPE if fail to create session. (#5370)
If SessionHandler.newHttpSession(Request) fails to create a session
it returns null. Request.getSession(true) cannot throw a checked
exception, nor can it return null, so we should throw ISE.

Signed-off-by: Jan Bartel <janb@webtide.com>
2020-09-30 16:51:54 +02:00
Joakim Erdfelt ad2446dd6c
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-09-29 11:24:28 -05:00
Joakim Erdfelt 3423375a97
Issue #5357 - Updating to https://eclipse.org/ (#5358)
* Issue #5357 - Updating to https://eclipse.org/

 - Removing redundant <url> refs in pom.xml
 - Correcting bad indenting from merge
 - Correcting mailing list references
 - Correcting bugs.eclipse.org references
 - Correcting text file references
 - Correcting html references
 - Correcting further references
 - Correcting download.eclipse.org reference
 - Adding test for demo-base /proxy/current/
 - Ensuring jetty-client is included in javadoc-proxy.war/WEB-INF/lib

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-29 11:02:32 -05:00
Greg Wilkins 5e583fa9f3
Fix #5327 NPE in PushBuilder (#5328)
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-09-28 13:36:56 +02:00
Lachlan Roberts 11465791cc Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-09-25 15:20:25 +10:00
Lachlan 7e627359b3
Merge pull request #5276 from eclipse/jetty-9.4.x-IncludeExcludeConnectionStatistics
update documentation for statistics collection
2020-09-25 15:20:04 +10:00
Joakim Erdfelt 39271d6b63
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-09-23 18:33:45 -05:00
Joakim Erdfelt 8fe32ce217
Merge pull request #5251 from eclipse/jetty-9.4.x-5247-forwarded-header-priority
Issue #5247 ForwardedRequestCustomizer authority order rework
2020-09-23 16:14:50 -05:00
Chris Walker 70c8822eef
Updated module descriptions for consistency. Resolves #5313 2020-09-23 13:10:47 -05:00
Greg Wilkins 0ac34ff2b8
Issue #5304 HTTP2 HostHeader (#5307)
* Issue #5304 HTTP2 HostHeader

Updated HostHeaderCustomizer to actually add the Host header, either from values passed in the custructor or from the getServerName and getServerPort methods.

The HttpURI is no longer updated.

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

* Issue #5304 HTTP2 HostHeader

 + Found and fixed bug in HttpFields
 + Added port normalization support to HttpScheme
 + added test

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

* blank line

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

* Issue #5304 HTTP2 HostHeader

 + refixed bug in HttpFields

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

* Issue #5304 HTTP2 HostHeader

 + still fixing HttpFields bug

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

* Issue #5304 HTTP2 Host Header

updates from review
2020-09-23 15:05:52 +02:00
Simone Bordet 35305b6a5c Improvements to the Jetty documentation.
Reworked the start documentation.

Started skeleton of the operations guide.
Removed old_docs/deploying/hot-deployment.adoc and
old_docs/gettingstarted/getting-started/jetty-deployment.adoc,
since its content has been moved to the refactored documentation.

Restructured the skeleton of the operations guide.
Removed old_docs/deploying/anatomy-of-a-webapp.adoc,
since its content has been moved to the refactored documentation.

Removed old_docs/deploying/automatic-webapp-deployment.adoc,
since its content has been moved to the refactored documentation.

Removed old_docs/deploying/configuring-virtual-hosts.adoc,
since its content has been moved to the refactored documentation.

Removed old_docs/contexts/serving-webapps-from-particular-port.adoc
and example-jetty-embedded/src/main/resource/jetty-otherserver.xml,
since its content has been moved to the refactored documentation.

Simplified POMs.
Simplified index.adoc files, refactoring common things into config.adoc.

Expanded the deploy configuration documentation.
Expanded the protocols configuration documentation.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-09-22 19:28:43 +02:00
Joakim Erdfelt 33286db44b
Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-5133-webappcontext-extraclasspath-cleanup 2020-09-22 12:24:01 -05:00
Joakim Erdfelt ebfdf8fc1b
Issue #5247 - Updates from review by greg
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-21 10:34:28 -05:00
Joakim Erdfelt f6bcbda689
Issue #5133 - Changes from Review with jan & greg
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-21 09:42:26 -05:00
Jan Bartel 36b9661fab
Issue #5280 Remove unused SessionHandler methods. (#5303)
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-09-21 14:41:40 +02:00
Lachlan df085a610f
Merge pull request #5248 from eclipse/jetty-10.0.x-5198-UpdateGzipHandler
Issue #5198 - update gzip handler
2020-09-21 10:41:16 +10:00
Joakim Erdfelt 6cf6b78a16
Issue #5246 - Adding DeflaterPool to GzipHandler.dump
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-17 10:27:15 -05:00
Joakim Erdfelt 75677b8a61
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-09-17 02:43:18 -05:00
Joakim Erdfelt 290c98e9b1
Issue #5285 - Making Content-Encoding for form content consistent
+ Fixing unit test expectations

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-16 15:48:03 -05:00
Joakim Erdfelt 844f134d21
Issue #5285 - Using Status code 415 Unsupported Media Type instead.
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-16 15:39:43 -05:00
gregw afe5044d8c Fixes #5281
Added work module to create work directory
reviewed by janbartel
2020-09-16 16:20:16 +02:00
Jan Bartel 16bc946ee8 Reduce startup logging. 2020-09-16 15:44:56 +02:00
Jan Bartel b36430e5dc Reduce startup session logging
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-09-16 12:09:34 +02:00
Jan Bartel bf39dc186a Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-09-16 11:28:13 +02:00
Jan Bartel bd589de512
Issue #5268 Change WARN to DEBUG for NullSessionCache eviction setter. (#5270)
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-09-16 11:27:07 +02:00
Lachlan Roberts fbaabf5c8f update documentation for statistics collection
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-16 15:48:27 +10:00
Greg Wilkins 780e1207c7
Issue #5254 List/Show modules (#5257)
* Issue #5254 List/Show modules

 * simplified --list-modules output
 * added --show-module

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

* improve module descriptions

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-09-14 18:07:16 +02:00
Joakim Erdfelt 59b85b6288
Issue #5247 - Updating Javadoc on ForwardedRequestCustomizer
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-11 11:58:04 -05:00
Joakim Erdfelt a2233ce233
Issue #5247 - Introduce ForwardedRequestCustomizer.Priority enum
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-11 11:17:31 -05:00
Joakim Erdfelt ac42cbd143
Issue #5247 - Improve testing of ForwardedRequestCustomizer
+ Merge ProxyPass tests from CheckReverseProxyHeadersTest into
  ForwardedRequestCustomizerTest
+ Deleted CheckReverseProxyHeadersTest.java
+ Add more tests for ForcedHost configuration
+ Updated ForwardedRequestCustomizer to conform to expectations

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-11 11:11:09 -05:00
Lachlan Roberts f2abf21df6 Move AsciiLowerCaseSet to jetty-util & changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-10 08:02:59 +10:00
Jan Bartel b72343b955
Issue #2609 Add gracePeriod to file session store. (#5243)
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-09-09 23:42:53 +02:00
Joakim Erdfelt 4280303046
Issue #5247 - Document ForwardedRequestCustomizer authority search order
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-09 15:20:21 -05:00