Commit Graph

1360 Commits

Author SHA1 Message Date
Lachlan 0a78b9845d
Merge pull request #6657 from eclipse/jetty-10.0.x-6642-WebSocketConnectionHeaders
Issue #6642 - WebSocket handling of Connection: upgrade,close.
2021-08-31 14:25:47 +10:00
Lachlan Roberts 949aa6c342 Issue #6642 - move shutdown logic into HttpChannelOverHTTP and HttpConnection
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-27 11:53:54 +10:00
Lachlan Roberts fa316fc20d Issue #6642 - never shutdown output after generating a request.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-26 13:09:36 +10:00
Lachlan Roberts cb9a8d4060 Issue #6642 - change HttpGenerator state to END before returning
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-25 11:27:56 +10:00
Lachlan Roberts f7d9d8fcf8 Issue #6642 - prevent connection close after websocket upgrade
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-24 19:39:34 +10:00
Joakim Erdfelt 5dcc14b114
Merge pull request #6551 from eclipse/jetty-10.0.x-6545-refresh-mimetypes
Issue #6545 - Add more mime-types
2021-07-28 05:47:36 -05:00
Ludovic Orban bd11d6f682 #6491 add defensive check and introduce HttpParser.isTerminated()
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-07-28 10:14:19 +02:00
Joakim Erdfelt 8971ea991f
Issue #6545 - Add more mime-types
+ Adding webp + avif + apng based on current
  `Accept` header offerings from current browsers.

Firefox 90.0
`Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8`

Chrome 92.0.4515.107
`Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9`

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-07-27 11:48:39 -05:00
Greg Wilkins 8945a58ffc
Reduce header cache memory usage on non persistent requests (#6494)
Delay creating a header cache until a second request on a parser.
Refactored cache code into subclass

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-07-07 12:51:06 +10:00
Lachlan 259f9af9c9
Merge pull request #6490 from eclipse/jetty-10.0.x-6489-UriCompliance
Issue #6489 - fix RFC3986_UNAMBIGUOUS and UNSAFE UriCompliance modes.
2021-07-06 15:58:51 +10:00
Lachlan Roberts 76ab749aca Issue #6489 - fix RFC3986_UNAMBIGUOUS and UNSAFE UriCompliance modes.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-07-01 17:52:07 +10:00
Lachlan Roberts b82b46243d Issue #6489 - fix RFC3986_UNAMBIGUOUS and UNSAFE UriCompliance modes.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-07-01 17:27:17 +10:00
Lachlan 3c32afa05c
Issue #6473 - canonicalPath refactor & fix alias check in PathResource (Jetty-10) (#6478)
Issue #6473 - canonicalPath refactor & fix alias check in PathResource

* Reverted %-escape handling for URI query parts.
* Performing canonicalization in ServletContext.getResource(),
  and improving alias checking in ContextHandler.getResource().
* Performing canonicalization checks in Resource.addPath() to avoid
  navigation above of the root.
* Test added and fixed.
* Various cleanups.
* Improved javadoc and comments
* Compliance mode HttpURI uses UriCompliance.Violation

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Greg Wilkins <gregw@webtide.com>
2021-06-29 15:42:39 +02:00
Lachlan bc0fbbb5c1
Revert logic in Request.setMetaData, clear emptySegment on HttpUri.clear() (#6468)
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Manually merged as ECA checks are broken
2021-06-24 17:18:49 +10:00
Greg Wilkins 4673846635
Compliance modes documentation (#6312)
Added doco on compliance modes

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2021-06-24 15:20:05 +10:00
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 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
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
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
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
Guilherme Amaral e3c87fc2af
Changed exception check by JUnit API usage (#6133) 2021-04-06 08:51:50 +10: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
Joakim Erdfelt fa6c617069
Fixing checkstyle warning
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-02-23 16:28:09 -06:00
gregw bc3e1dc94e Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: gregw <gregw@webtide.com>
2021-02-23 20:06:30 +01:00
Greg Wilkins 8bd4a9fad8
Fix #5999 ArrayIndexOutOfBounds for unicode in HttpURI segment (#6000)
Fixed ArrayTrie to not throw if passed a unicode character.
2021-02-23 20:03:45 +01: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
gregw 1113b15110 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2021-02-18 14:18:31 +01:00
Joakim Erdfelt 10e531756b
Merge pull request from GHSA-m394-8rww-3jr7
Use comparator based sort
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: gregw <gregw@webtide.com>

Co-authored-by: gregw <gregw@webtide.com>
2021-02-18 14:14:38 +01:00
olivier lamy 1d5662f841 Merge branch 'jetty-9.4.x' into jetty-10.0.x 2021-02-18 07:44:37 +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 97ee0fd527 fixed bad merge 2021-02-17 18:49:37 +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
gregw ea3f3a5b93 Update merge to 10 comment 2021-02-17 18:09:37 +01:00
Greg Wilkins ad6fc62bb5
Cleanup setPathQuery from #5954 (#5981)
Cleanup setPathQuery from #5954 so that it does not retain an old query if the passed string does not contain a query
2021-02-17 18:05:12 +01:00
gregw 1e364eccf8 Re re Fix rewrite tests for #5954
Re re Fix rewrite tests for #5954. Restore setPathQuery behaviour to preserve queries if none are set.
2021-02-17 12:41:55 +01:00
gregw dd5a565c08 Re re Fix rewrite tests for #5954
Re re Fix rewrite tests for #5954. Restore setPathQuery behaviour to preserve queries if none are set.
2021-02-17 12:12:56 +01:00
gregw 472f04c1eb fix checkstyle 2021-02-16 17:01:46 +01:00
gregw 7769f61242 Fixed checkstyle 2021-02-16 16:55:14 +01:00
gregw ff3d5656a2 fix test style 2021-02-16 16:54:05 +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
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 421ed6bf8d implementation of HttpServletRequest.upgrade
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-02-03 13:10:38 +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
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