Commit Graph

5614 Commits

Author SHA1 Message Date
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
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 2e53ec5384 Updating to version 9.4.37-SNAPSHOT 2021-01-14 11:27:24 -06:00
Joakim Erdfelt 238ec6997c Updating to version 9.4.36.v20210114 2021-01-14 10:29:28 -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
olivier lamy 9b100a5bfb Merge branch 'jetty-9.4.x' into jetty-10.0.x 2020-12-11 12:10:35 +10:00
Olivier Lamy 639cad63fe
Jetty 9.4.x optimize parser warning from logs and add spotbug (#5735)
* enable spotbugs in CI

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

record issues

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

use warning new generation

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

activate errorprone

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

fix Jenkinsfile

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

do not run spotbugs for jetty-runner as we do not want to fix all dependencies bugs :)

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

junit should allow empty results

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

maven console can be use only once...

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

one liner

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

recordissues only once

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

force id

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

aggregate results

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

configure a name for aggregated reports

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

mo more -T3 no need anymore of remote session test profile

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

I want to see what failing tests look like with new report.

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

skip spotbugs for jetty-jmh

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

get rid of findbugs as we now have spotbugs

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

Revert "I want to see what failing tests look like with new report."

This reverts commit df0d13e4c53d7461872e1f925ec06bd36e4a66c9.

activate errorProne parser

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

make pmd quiet for CI

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

remove -fae flag and do not display transfer progress

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

try junitParser() to see what it does

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

junit parser is a bad idea...

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

increase timeout

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

no -T2 for javadoc

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

fix skip spotbugs and pmd verbose

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

* remove -T options

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-12-11 11:47:26 +10: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
Joakim Erdfelt 9319f10425 Updating to version 10.0.1-SNAPSHOT 2020-12-02 15:30:13 -06:00
Joakim Erdfelt b9645a1737 Updating to version 10.0.0 2020-12-02 15:04:53 -06: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
Simone Bordet ac3d492305
Merge pull request #5729 from eclipse/jetty-10.0.x-3080-no_classifier_tests
Fixes #3080 - Do not create and use jars with "tests" classifier.
2020-11-26 11:22:03 +01:00
Joakim Erdfelt fe0a4f624e
Merge remote-tracking branch 'origin/release-9.4.35' into jetty-9.4.x 2020-11-25 15:56:09 -06:00
Simone Bordet 5d83f6670a Fixes #3080 - Do not create and use jars with "tests" classifier.
Removed the jetty-server and jetty-servlet test-jar artifacts.
The only one left is the jetty-maven-plugin test-jar.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-11-25 19:16:50 +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
Joakim Erdfelt e8683cba9f Updating to version 9.4.36-SNAPSHOT 2020-11-20 16:05:27 -06:00
Joakim Erdfelt bdc54f03a5 Updating to version 9.4.35.v20201120 2020-11-20 15:05:50 -06: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 71ad5447a4
Merge remote-tracking branch 'origin/release-9.4.34' into jetty-9.4.x 2020-11-04 10:24:21 -06: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
Joakim Erdfelt edaadff55b Updating to version 9.4.35-SNAPSHOT 2020-11-02 09:04:51 -06:00
Joakim Erdfelt e46af88704 Updating to version 9.4.34.v20201102 2020-11-02 08:03:51 -06: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 a1b3d3319d
Merge pull request #5491 from eclipse/jetty-9.4.x-5488-jetty-dir.css
Fixes #5488 - jetty-dir.css not found when using JPMS.
2020-11-02 10:40:19 +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 e726eefb0b Updating to version 9.4.34-SNAPSHOT 2020-10-20 18:55:39 -05:00
Joakim Erdfelt 1be6875565 Updating to version 9.4.33.v20201020 2020-10-20 18:28:51 -05: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
Joakim Erdfelt 85e257fc98 Updating to version 9.4.33-SNAPSHOT 2020-09-30 11:53:09 -05:00
Joakim Erdfelt de97d26f7b Updating to version 9.4.32.v20200930 2020-09-30 11:03:24 -05: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
Joakim Erdfelt f74cada660
Issue #5247 - Priority based ForwardedRequestCustomizer
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-09 14:56:33 -05:00
Joakim Erdfelt fc0683ac17
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-09-09 11:40:00 -05:00
Joakim Erdfelt 165e59b3e2
Merge pull request #5226 from eclipse/jetty-9.4.x-5224-xforwarded-multiple-ports
Issue #5224 X-Forwarded-Host support for port
2020-09-09 11:37:33 -05:00
Joakim Erdfelt 4215edd3b9
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-09-09 09:30:30 -05:00
Lachlan Roberts 2f23c5936e Issue #5198 - revert usage of deflater ByteBuffer API for GzipHandler
The CRC32 checksum may need to convert the ByteBuffer to an array anyway so
we are better off not setting the deflater input with ByteBuffer directly.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-09 14:03:42 +10:00
Lachlan Roberts 4e6827c539 Issue #5198 - fix usage of inflater/deflater ByteBuffer API
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-09 13:53:09 +10:00
Joakim Erdfelt 2896ed31d6
Issue #5224 - Updating ForwardedRequestCustomizerTest expectations
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-08 12:34:53 -05:00
Joakim Erdfelt 56b1d17d79
Issue #5233 - correcting NCSARequestLogTest expectation on unsupported version
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-08 05:59:41 -05:00
Lachlan Roberts 7a04b3eb19 Issue #5198 - use ByteBuffer API for inflater/deflaters for GzipHandler
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-08 17:10:36 +10:00
Lachlan Roberts 3bdd82eb5e Issue #5198 - GzipHandler should use InflaterPool as well as DeflaterPool
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-08 15:27:21 +10:00
Lachlan Roberts 17ec87f51c Issue #1761 - add extra .ini file configuration for gzip.mod
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-08 09:46:51 +10:00
Lachlan Roberts 7642be8fd0 Issue #4988 - make the MIME type comparison in GzipHandler case insensitive
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-07 17:29:13 +10:00
Joakim Erdfelt b2e0f69ea8
Issue #5233 - Bad/Unsupported HTTP version should return 505 not 400.
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-04 12:23:11 -05:00
Joakim Erdfelt 9d839fe6e6
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-09-02 12:59:04 -05:00
Joakim Erdfelt 5fef14019a
Merge pull request #5215 from eclipse/jetty-9.4.x-5214-head-huge-static
Issue #5214 - Servlet HEAD doesn't support content-length over Integer.MAX_VALUE
2020-09-02 12:54:38 -05:00
Joakim Erdfelt e2134b13d7
Issue #5224 - X-Forwarded-Host support for port
+ More test cases
+ Allowing X-Forwarded-Host to parse port (if present properly)

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-02 10:27:33 -05:00
Joakim Erdfelt e4ca153364
Issue #5224 - Test to replicate reported issue
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-02 09:34:16 -05:00
Jan Bartel 9ab95ed824 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-09-02 12:09:23 +02:00
Jan Bartel ef0c752476
Issue #4888 Ensure HttpSessionListener can access session via (#5220)
Issue #4888 Ensure HttpSessionListener can call Request.getSession

Signed-off-by: Jan Bartel <janb@webtide.com>
2020-09-02 11:53:23 +02:00
Greg Wilkins a6b7f73019 Merge branch 'jetty-9.4.x-5214-head-huge-static' of https://github.com/eclipse/jetty.project into jetty-9.4.x-5214-head-huge-static 2020-08-31 18:22:10 +02:00
Greg Wilkins 9e326fe520 + improved sentinels values for content-length
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-08-31 18:19:11 +02:00
Joakim Erdfelt 9128fc48e4
Cleanup dead code in ResourceService
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-08-31 11:16:22 -05:00
Joakim Erdfelt dcb06d3c35
Issue #5214 - Use known content_length when in HEAD mode
+ Adding DefaultServlet.doHead() to avoid servlet wrapping
+ Making ResourceService HEAD aware

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-08-31 11:03:49 -05:00
Joakim Erdfelt eba360f662
Issue #5214 - Use known content_length when in bypass write
+ In the case of HEAD, the servlet-api response is a wrapper
  of javax.servlet.http.HttpServlet$NoBodyResponse
  We know the content_length, use it.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-08-31 09:43:04 -05:00
Jan Bartel ad9d702adb
Issue #2609 - Uniform Find Expired Sessions (#5097)
* Issue #2609 Make all session stores use same algorithm to find expired sessions

Signed-off-by: Jan Bartel <janb@webtide.com>
2020-08-31 12:39:30 +02:00
Lachlan Roberts 40e37730bc Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-08-28 12:38:58 +10:00
Lachlan 001def4905
Merge pull request #5175 from eclipse/jetty-9.4.x-5105-StatisticsHandler
Issue #5105 - StatisticsHandler Graceful Shutdown of Async Requests
2020-08-28 11:54:45 +10:00
Lachlan Roberts a9c90d3309 Issue #5105 - change asyncGraceful to gracefulShutdownWaitsForRequests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-27 08:59:13 +10:00
Greg Wilkins 601710c9dc
Issue #5171 Simplify GzipHandler user-agent handling (#5196)
* Issue #5171 Simplify GzipHandler user-agent handling

+ Remove User-Agent handling from GzipHandler
+ Allow Vary header to be set
+ Create rewrite MsieRule to remove Accept-Encoding from IE<=6

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

* + Full implementation of HttpFields ensure
 + use for Vary field

* + fixed checkstyle

* + fixed test for merged header

* + fixed javadoc

* Issue #5171 Simplify GzipHandler user-agent handling

 + improved comments

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

* rename and testing after review
2020-08-26 23:55:36 +02:00
Joakim Erdfelt ccc863726b
Issue #5133 - Updates based on review
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-08-26 12:19:22 -05:00
Lachlan Roberts 2282d16c98 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-08-25 14:32:16 +10:00
Lachlan Roberts 8edb7682cd DebugHandler should use isAsyncStarted() instead of isSuspended()
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-25 10:40:09 +10:00
Lachlan Roberts 2d5da1fa35 StatisticsHandler should still return 503 responses on shutdown
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-25 10:34:59 +10:00
Lachlan Roberts 8faa71818f change addToAllConnectors method to addBeanToAllConnectors
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-25 10:22:18 +10:00
Jan Bartel 77779ed6d8
Issue #4996 - Regularlize logging (#5167)
* Issue #4996 Regularize logging

Signed-off-by: Jan Bartel <janb@webtide.com>

Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-08-24 17:15:13 +02:00
Lachlan Roberts c0268c590f change name of waitForSuspendedRequestsOnShutdown to asyncGraceful
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-24 16:19:59 +10:00
Lachlan Roberts 623d1be7c7 Change the way ConnectorStatistics is added to the Servers Connectors
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-21 15:45:58 +10:00
Lachlan Roberts ef2f1dfd0d Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-08-21 10:37:24 +10:00
Lachlan Roberts 70a679f5f4 reorder some CustomRequestLog methods to be same as jetty-10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-21 10:29:22 +10:00
Lachlan Roberts 12381e9cf5 cleanup various warnings and TODOs in CustomRequestLog
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-20 12:02:00 +10:00
Lachlan Roberts 0fae221afa Issue #5105 - fix GracefulStopTest expectations from 503s to 404s
StatisticsHandler no longer gives 503 responses after shutdown.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-20 07:27:12 +10:00
Lachlan Roberts a65f00156d Issue #5105 - add optional configuration to not wait for suspended requests in StatisticsHandler
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-20 07:27:12 +10:00
Lachlan Roberts 32358b1b77 Issue #5105 - fix StatisticsHandler bug with async dispatched requests
If the request is async dispatched, the check state.isSuspended() is not
correct to determine if the request was async or not. The check
state.isAsyncStarted() should be used instead.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-20 07:27:12 +10:00
Thomas Draebing a46ed5b5f0 Also manage graceful shutdown of already started async requests
Signed-off-by: Thomas Draebing <thomas.draebing@sap.com>
2020-08-19 09:59:21 +02:00
Simone Bordet 7b3dccc1bf Issue #5104 - AbstractProxyServlet include incorrect protocol version in Via header when accessed over H2.
Added HttpFields.computeField() for HttpHeader too and updated usages.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-08-13 11:50:43 +02:00
Simone Bordet 79d340fdb6 Fixes #5104 - AbstractProxyServlet include incorrect protocol version in Via header when accessed over H2.
* Introduced HttpFields.computeField() to put/append header values.
* Reworked AbstractProxyServlet.addViaHeader().

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-08-13 00:08:52 +02:00
Joakim Erdfelt 6848403d34
Issue #5133 - Reworking WebAppContext.extraClasspath
+ Reverting name ResourceFactory.newResource(String)
  to .getResource(String)
+ Reintroducing Resource.getResource(String)
+ ResourceHandler.getResource(String) cleaned up
  in light of Exception handling requirement
+ Resource.addPath(String) implementations can
  never return null now

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-08-12 13:06:09 -05:00
Joakim Erdfelt 0b0d7d3282
Issue #5133 - Reworking WebAppContext.extraClasspath
+ Now parsed by WebAppContext into List<Resource>
+ Reintroduced Resource.fromList
+ Refactored ResourceFactory to never return null
  and always throw an exception if unable to
  get/create/resolve the Resource

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-08-12 12:50:02 -05:00
Simone Bordet 16cd552995 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-08-11 21:00:43 +02:00
olivier lamy c198d26e6b Updating to version 10.0.0-SNAPSHOT 2020-08-11 16:47:55 +08:00
olivier lamy 429b091578 Updating to version 10.0.0.beta1 2020-08-11 16:47:54 +08:00
Jan Bartel e117fbe828
Issue #1337 Use either absolute or relative multipart file location (#5119)
* Issue #1337 Use either absolute or relative multipart file location

Signed-off-by: Jan Bartel <janb@webtide.com>
2020-08-10 10:31:16 +02:00
Simone Bordet dd4c1dbac0 Merged branch 'jetty-9.4.x' into 'jetty-9.4.x-5079-ipv6_brackets'. 2020-08-08 23:21:14 +02:00
Joakim Erdfelt dcf867cd2b
Issue #3916 - Improve multi range response Content-Length calc
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-08-08 11:34:25 -05:00
Joakim Erdfelt 2206b3edae
Issue #3916 - Fixing broken Content-Length evaluation
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-08-08 07:18:02 -05:00
Simone Bordet d53d9d8a1d Fixes #5079 - :authority header for IPv6 address not having square brackets.
On the client:
* Origin.Address.host is passed through HostPort.normalizeHost(),
so that if it is IPv6 is bracketed.
Now the ipv6 address passed to an `HttClient` request is bracketed.
* HttpRequest was de-bracketing the host, but now it does not anymore.

On the server:
* Request.getLocalAddr(), getLocalName(), getRemoteAddr(),
getRemoteHost(), getServerName(), when dealing with an IPv6 address,
return it bracketed.
The reason to return bracketed IPv6 also from *Addr() methods is that
if it is used with InetAddress/InetSocketAddress it still works, but
often it is interpreted as a URI host so brackets are necessary.
* DoSFilter was blindly bracketing - now it does not.

Added a number of test cases, and fixed those that expected
non-bracketed IPv6.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-08-07 15:53:19 +02:00
Jan Bartel 437e2be411 Fix license header. 2020-08-05 16:25:01 +02:00
Jan Bartel 8dd205d18f Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-08-05 15:43:08 +02:00
Jan Bartel 4f57810217
Issue #5081 - HouseKeeper synchronization (#5099)
* Issue #5081 HouseKeeper synchronization

Signed-off-by: Jan Bartel <janb@webtide.com>
2020-08-05 15:33:27 +02:00
Simone Bordet 062878f97b Issue #5083 - Convert synchronized usages to AutoLock.
Fixes after merge.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-08-04 17:59:13 +02:00
Simone Bordet c49035570e Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-convert_synchronized_to_autolock'. 2020-08-04 16:32:55 +02:00
Simone Bordet d2df0fc2e9 Fixes after review of #4975.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-31 17:59:55 +02:00
Simone Bordet 2fe01626a5 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-07-31 17:47:37 +02:00
Greg Wilkins 66ec16006e
Issue #5088 Review ContextHandler locking (#5094)
* Issue #5088 Review ContextHandler locking

The locking was primarily as a memory guard for the availability status, which was already volatile.
Have instead using an AtomicReference with a simple state machine layered on top of start/stop lifecycle.
There was also protection for AttributesMap, which is no longer needed as AttributesMap is now concurrent.

* Issue #5088

updates from review

* Issue #5088

updates from review (better this time)
2020-07-30 17:58:34 +02:00
Simone Bordet 089e51f0bc Fixes #5083 - Convert synchronized usages to AutoLock.
Updates after review.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-29 15:34:01 +02:00
Simone Bordet 8d69fc41a7 Fixes #5083 - Convert synchronized usages to AutoLock.
* Replaced relevant usages of synchronized with AutoLock.
* Made AutoLock serializable since classes that use it may be stored in the HttpSession.
* Added convenience methods to AutoLock to execute lambdas with the lock held.
* Introduced AutoLock.WithCondition to use a Lock and a Condition together.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-27 23:14:05 +02:00
Joakim Erdfelt fe9deae849 Updating to version 9.4.32-SNAPSHOT 2020-07-23 13:53:47 -05:00
Joakim Erdfelt 450ba27947 Updating to version 9.4.31.v20200723 2020-07-23 12:46:54 -05:00
Lachlan Roberts 6364490161 restore old ServletPathMapping even for include dispatch types
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-23 23:41:56 +10:00
Lachlan Roberts 5726fa9364 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-23 10:19:53 +10:00
Greg Wilkins 65de149f84
Issue #5057 - Included root context path (#5058)
* Fixes #5057 Included root context path

Root context path in include should be empty string.

* Issue #5057

merged context path methods as result of review.
ServletContent.getContextPath now returns the encoded contextPath (if anybody is silly enough to have one).
2020-07-20 17:35:48 +02:00
Jan Bartel 668174d91d Issue #5025 - wrong welcome file handling with dispatcher.include() and non-default mapping (#5026)
Signed-off-by: Grzegorz Grzybek <gr.grzybek@gmail.com>
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-07-16 12:26:39 +02:00
Lachlan Roberts f0f153cc97 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-07-16 09:10:07 +10:00
Lachlan bbb0f6617c
Merge pull request #5042 from eclipse/jetty-9.4.x-5019-SslReload
Issue #5019 - hot-reload SSL certificates if keystore file changed
2020-07-16 09:09:03 +10:00
Lachlan cadaf87583
Merge pull request #5046 from eclipse/jetty-10.0.x-4985-AttributeNameSet
Issue #4985 - fix NPE related to use of Attributes.Wrapper getAttributeNameSet() Jetty 10
2020-07-16 08:51:56 +10:00
Lachlan Roberts c09e4d6f86 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-16 08:46:29 +10:00
Lachlan 42ea202858
Merge pull request #5047 from eclipse/jetty-9.4.x-moduleCommentDoNotEdit
the "DO NOT EDIT" comment in .mod files should start with '#'
2020-07-16 08:43:00 +10:00
gregw 7c44d0a01a Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-07-15 23:38:04 +02:00
Greg Wilkins 5c1dda3f7c
Issue #5029 Relative Redirection (#5038)
* Issue #5029 Relative Redirection

Provide option to allow relative redirection

* Issue #5029 Relative Redirection

Fixed checkstyle

* rename from review
2020-07-15 23:14:26 +02:00
Grzegorz Grzybek b08fd185c8
Issue #5025 - wrong welcome file handling with dispatcher.include() and non-default mapping (#5026)
Signed-off-by: Grzegorz Grzybek <gr.grzybek@gmail.com>
2020-07-15 14:29:33 +02:00
Lachlan Roberts de1b6745c5 the DO NOT EDIT comment in .mod files should start with '#'
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-15 16:47:22 +10:00
Lachlan Roberts 037097211c fix cast for HttpServletMapping
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-15 16:03:12 +10:00
Lachlan Roberts 2541f1f648 add javadoc for KeyStoreScanner class
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-15 11:20:57 +10:00
Lachlan Roberts a83844df32 changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-14 16:10:07 +10:00
Lachlan Roberts 62ee077b79 move code of ssl-reload module to jetty-util, move module files to jetty-server
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-13 23:11:09 +10:00
Lachlan Roberts e92d35bd2c fix checkstyle error from extra newline
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-13 15:56:46 +10:00
Lachlan Roberts 6325d4b55c Issue #4985 - fix NPE related to use of Attributes.Wrapper getAttributeNameSet()
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-13 14:17:37 +10:00
olivier lamy eefe3d202b revert fail release
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-07-10 15:04:22 +10:00
olivier lamy 9619a5a743 Updating to version 10.0.0.beta1 2020-07-10 14:23:28 +10:00
olivier lamy aaeffb719e Updating to version 10.0.0-SNAPSHOT 2020-07-09 12:25:34 +10:00
olivier lamy 23c99ffdbe Updating to version 10.0.0.beta1 2020-07-09 11:20:55 +10:00
Jan Bartel 7ca67f9948 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-07-07 14:13:11 +02:00
Lachlan effcccd27a
Merge pull request #4980 from eclipse/jetty-9.4.x-threadPoolDocumentation
fix documentation on where to configure ThreadPool
2020-07-07 18:18:48 +10:00
Simone Bordet ba6a6ea67d Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-07-06 23:10:19 +02:00
Simone Bordet f2c6b67827
Fixes #4971 - Simplify Connection.upgradeFrom()/upgradeTo(). (#5008)
Fixes #4971 - Simplify Connection.upgradeFrom()/upgradeTo().

Now the upgrade-from connection produces a "floating" buffer 
(not belonging to a pool), so that it can release the original buffer.

The upgrade-to connection is free to copy or store this "floating" buffer.

Strengthened ByteBufferPool behavior when releasing non-pooled
ByteBuffers: the buffer is now discarded.

Updated javadocs and all implementations.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-06 22:45:03 +02:00
Lachlan Roberts 085a6112c5 Issue #4985 - revert changes from 9.4 merge to Include, Forward and Async Attributes
The proper ServletPathMapping is not set on the baseRequest when these are constructed
so we can't save fields from this in the constructor. The ServletPathMapping is
later set in the ServletHandler.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-06 16:11:56 +10:00
Lachlan Roberts 345440139b Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-06 12:18:58 +10:00
Lachlan 9a56301de1
Merge pull request #5004 from eclipse/jetty-9.4.x-4985-AttributeNameSet
Issue #4985 - fix NPE related to use of Attributes.Wrapper getAttributeNameSet()
2020-07-06 11:34:27 +10:00
Simone Bordet 7d8e56bd10 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-07-03 16:46:23 +02:00
Simone Bordet ae43b70a9f
Jetty 9.4.x 4967 buffer corruption for http2 failures (#5001)
Fixes #4967 - Possible buffer corruption in HTTP/2 session failures

Partially reverted the changes introduced in #4855, because they
were working only when sends were synchronous.

Introduced ByteBufferPool.remove(ByteBuffer) to fix the issue.
Now when a concurrent failure happens while frames are being
generated or sent, the buffer is discarded instead of being
recycled, therefore resolving the buffer corruption.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-03 16:35:33 +02:00
Lachlan Roberts f35d6cfd80 Issue #4985 - remove TODO in Dispatcher
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-02 16:02:24 +10:00
Lachlan Roberts 9126b282b1 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-4985-AttributeNameSet 2020-06-30 11:22:41 +10:00
Joakim Erdfelt e1c8a0e8b8
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-06-25 12:52:29 -05:00
Joakim Erdfelt 3adec35cf5
Fixing CustomImportOrder checkstyle violations
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-06-25 09:25:05 -05:00
Lachlan Roberts 693312a577 Issue #4985 - ensure every attribute in getAttributeNameSet has a non null value
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-25 23:15:12 +10:00
Lachlan Roberts 5ce5737395 fix information on ThreadPool configuration
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-18 17:45:32 +10:00
Joakim Erdfelt 6795f3915f
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-06-12 12:04:50 -05:00
Joakim Erdfelt 6df6fa33b8 Updating to version 9.4.31-SNAPSHOT 2020-06-11 08:24:34 -05:00
Joakim Erdfelt 271836e4c1 Updating to version 9.4.30.v20200611 2020-06-11 07:21:18 -05:00
Jan Bartel cb09abe873
Issue #4920 Restore ability to invalidate sessions on shutdown (#4933)
Signed-off-by: Jan Bartel <janb@webtide.com>
2020-06-10 18:40:19 +02:00
Simone Bordet dd6cd4b881 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-06-09 16:11:53 +02:00
Simone Bordet 56bda1b3ae
Jetty 9.4.x 4855 h2spec failures (#4946)
* Fixes #4855 - Occasional h2spec failures on CI

In case of bad usage of the HTTP/2 API, we don't want to close()
the stream but just fail the callback, because the stream
may be performing actions triggered by a legit API usage.

In case of a call to `AsyncListener.onError()`, applications may decide to call
AsyncContext.complete() and that would be a correct usage of the Servlet API.
This case was not well handled and was wrongly producing a WARN log with an
`IllegalStateException`.

Completely rewritten `HttpTransportOverHTTP2.TransportCallback`.
The rewrite handles correctly asynchronous failures that now are executed
sequentially (and not concurrently) with writes.
If a write is in progress, the failure will just change the state and at the
end of the write a check on the state will determine what actions to take.

A session failure is now handled in HTTP2Session by first failing all the
streams - which notifies the Stream.Listeners - and then failing the session
- which notifies the Session.Listener.
The stream failures are executed concurrently by dispatching each one to a
different thread; this means that the stream failure callbacks are executed
concurrently (likely sending RST_STREAM frames).
The session failure callback is completed only when all the stream failure
callbacks have completed, to ensure that a GOAWAY frame is processed after
all the RST_STREAM frames.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-06-09 13:15:05 +02:00
olivier lamy 2413f551f1 Merge branch 'jetty-9.4.x' into jetty-10.0.x 2020-06-07 09:30:54 +10:00
Simone Bordet 029470c5dc Fixes #4939 - acceptorQueueSize [sic]
acceptorQueueSize -> acceptQueueSize.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-06-04 18:31:40 +02:00
Lachlan Roberts 86ea115e1f Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-06-04 09:27:43 +10:00
Lachlan Roberts 38f56f5973 make some test methods public to fix build
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-04 09:26:35 +10:00
Joakim Erdfelt 426795660f
Cleaning up double-merge final issues.
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-06-03 16:14:32 -05:00
Joakim Erdfelt 90c1fc668c
Merge branch 'jetty-10.0.x' of github.com:eclipse/jetty.project into jetty-10.0.x 2020-06-03 16:10:51 -05:00
Joakim Erdfelt 0cce039e7c
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-06-03 16:10:41 -05:00
Greg Wilkins 0f48708922 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-06-03 23:01:52 +02:00
Greg Wilkins ff8ae56fa9
Issue #4936 response buffer corruption (#4937)
* Issue #4936 - Adding LargeHeaderTest to replicate issue

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

* Issue #4936 - Updating LargeHeaderTest to use ServerConnector

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

* Issue #4936 - Fail LargeHeaderTest if client detects issues.

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

* Issue #4936 large response header buffer corruption

If the response buffer is too large, the header buffer was released
but not nulled, then an exception thrown, which again released the
not nulled buffer.  The buffer thus ends up in the buffer pool twice!

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

* Issue #4936 large response header buffer corruption

removed old comment

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

Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-06-03 22:54:12 +02:00
Joakim Erdfelt 41440b6c2c
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-06-01 09:40:43 -05:00
Jan Bartel 42155e889b Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-06-01 14:47:07 +02:00
Joakim Erdfelt f9b75ff1a3
Issue #4923 - Applying changes requested in PR
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-06-01 07:15:07 -05:00
Joakim Erdfelt b6d24c2396
Issue #4923 - Applying changes requested in PR
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-06-01 07:13:28 -05:00
Joakim Erdfelt 6a953e3a0e
Issue #4923 - Applying changes requested in PR
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-05-29 16:30:08 -05:00
Joakim Erdfelt c1c2c07a51
Issue #4923 - restore caching of SSLSession information for SSL Attributes
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-05-29 13:30:59 -05:00