Commit Graph

5542 Commits

Author SHA1 Message Date
Joakim Erdfelt cf0193421e
Issue #8905 - GzipHandler should include `Vary` header on 304 (Not Modified) responses (per RFC9110)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-11-16 14:31:44 -06:00
Lachlan 690220fc40
Merge pull request #8787 from eclipse/jetty-10.0.x-8786-KeyStoreScanner-Symlink
Issue #8786 - add configuration for KeyStoreScanner to not resolve aliases
2022-11-10 17:17:59 +11:00
Simone Bordet c280e31b46
Fixes #7117 - Timeout with Expect 100 continue when using ProxyServlet. (#8873)
* Fixes #7117 - Timeout with Expect 100 continue when using ProxyServlet.

Now getReader() tests whether it has to send a 100 continue in case getInputStream() 
is not called because the reader is reused.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-11-09 12:16:42 +01:00
Joakim Erdfelt 793bee9e14
Issue #8716 - Handle bad host/authority headers better (#8717)
* Issue #8716 - Handle bad host/authority headers better
* Remove extra `Host` header in testcase that doesn't deal with bad Host headers
* Create URIUtil.isRegName
* Correcting HostPortTest.testValidAuthority
* Correcting RequestTest.testInvalidHostHeader
* Remove clonable, set to final

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-11-08 18:08:20 -06:00
Lachlan Roberts 0a14cca307 changes from review - rename resolveAlias to followLinks
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-11-03 20:37:55 +11:00
Lachlan Roberts 3b7ea99780 set type of arg in jetty-ssl-context-reload.xml
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-11-03 19:26:00 +11:00
Lachlan Roberts 8607e3ef15 changes to ssl-reload module & documentation from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-11-03 18:54:53 +11:00
Greg Wilkins 47c289188e
Fix #8536 HotSwap start race (#8544)
Don't stop until after new handler installed.
2022-09-23 16:54:21 +10:00
Olivier Lamy dbd07146ec
merge back release branch to bump version to 10.0.13-SNAPSHOT (#8593)
* Updating to version 10.0.12

* Updating to version 10.0.13-SNAPSHOT

* VERSION.TXT =+ content of jetty-9.4.49.v20220914 release

* remove strange line and reorder
2022-09-16 19:50:12 +10:00
Joakim Erdfelt 8eba1c9924
Issue #8578 - Changes from review
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-09-12 09:55:14 -05:00
Joakim Erdfelt a6a386a6cc
Issue #8578 - restore backward compat of getRequestURL and getRequestURI when working with CONNECT method
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-09-09 15:11:46 -05:00
Simone Bordet 77ad0189ba
Fixes #8532 - Review System.nanoTime() usages. (#8535)
* Fixes #8532 - Review System.nanoTime() usages.

Introduced o.e.j.util.NanoTime class to deal with nanoTimes.

Now NanoTime.now() should be used instead of System.nanoTime(),
and various <unit>[elapsed|since|until]() methods to calculate nanoTimes.

Furthermore, comparing 2 nanoTimes should be done via isBefore(),
rather than using the < operator, which is wrong as specified in
the System.nanoTime() javadocs.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-09-06 09:30:02 +02:00
Michael Weigmann 1b78db7be2
Use getSchemaTableName also in the create table statement (#8006)
When all other sql statements are built, this method is used for including the schema name in front of the table name (if specified). So to make it more consistent, it would be better to also create the table in the specified schema.

PS: Please indulge me for not opening an issue, as i think this optimization is pretty trivial and need no big discussion.

Signed-off-by: Michael Weigmann <michael.weigmann@hsh-berlin.com>

Signed-off-by: Michael Weigmann <michael.weigmann@hsh-berlin.com>
2022-09-02 14:18:27 +10:00
Lachlan bcf3cd19e5
Merge pull request #8468 from eclipse/jetty-10.0.x-well-known-aliaschecking
define the resourceBase in well-known ContextHandler to allow alias checking
2022-08-17 22:00:03 +10:00
Lachlan Roberts 3db45e11dd define the resourceBase in well-known ContextHandler to allow alias checking
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-08-16 18:05:12 +10:00
Lachlan 32e081566e
Merge pull request #8433 from eclipse/jetty-10.0.x-aliasCheckingPerf
improve performance of alias checking
2022-08-15 10:23:16 +10:00
Simone Bordet 99a983ebf0
Fixed type from "int" to "boolean" in jetty-threadpool.xml.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-08-10 14:51:26 +02:00
Simone Bordet be3d16bdbb
Fixes #8007 - Support Loom. (#8360)
Implemented support for virtual threads for HTTP/1.1, HTTP/2 and HTTP/3.

The virtual thread support is in AdaptiveExecutionStrategy.
When virtual threads are supported and enabled, reserved threads are disabled and
blocking tasks are run in a virtual thread instead that being executed by the Executor.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-08-10 14:31:04 +02:00
Lachlan Roberts 5b52570665 use CopyOnWriteArrayList for AliasCheck list
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-08-09 21:10:43 +10:00
Lachlan Roberts 4eff1a91c8 improve performance of alias checking
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-08-08 18:51:57 +10:00
Lachlan 998bc8c7e8
Merge pull request #8315 from eclipse/jetty-10.0.x-8296-AliasChecking
Issue #8296 and #8259 -  AllowedResourceAliasChecker improvements
2022-08-08 13:23:02 +10:00
Lachlan Roberts 99cb930d78 changes from review PR #8315
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-07-27 10:21:35 +10:00
Lachlan Roberts cff4ff6c98 Issue #8296 - attempt to resolve symlinks for baseResource in ContextHandler.doStart()
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-07-21 18:59:51 +10:00
Greg Wilkins 26a255e481
Fix #8294 push added cookie (#8298)
* Fix #8294 push added cookie

Reparse cookie added with addCookie
Added extra test to ensure maxAge is being parsed with other cookie attributes

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2022-07-18 12:39:40 -05:00
Lachlan Roberts 6c35fc6f65 Issue #8259 - AliasCheckers for different resource bases on same Context
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-07-18 17:22:38 +10:00
Lachlan Roberts 23df34e2d4 Issue #8296 - let AllowedResourceAliasChecker work before fully started
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-07-18 15:21:17 +10:00
Greg Wilkins c1c2bdbb45
Fix errors in Mapped pool and javadoc (#8264)
* Fix errors in javadoc
* Further RBBP improvements
2022-07-07 22:49:04 +10:00
Greg Wilkins 2b817f06c6
Combined ByteBufferPool (#8171)
All `ByteBufferPool` can now be accessed as `RetainableByteBufferPools`.

Users now need to configure only a single buffer pool and there is just the additional retained parameter that needs consideration.
Default buffer pool has been changed to logarithmic, but we may wish to review that before next release.
Default factor size has been increased to 4096.
2022-07-04 10:38:30 +10:00
Joakim Erdfelt 64d12e2a5a
Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194)
* Updating to version 10.0.11

* Updating to version 10.0.12-SNAPSHOT
2022-06-22 16:24:48 -05:00
Joakim Erdfelt c2bc103cb9
Merge Release 10.0.10 back into `jetty-10.0.x` (#8180)
* Updating to version 10.0.11-SNAPSHOT
2022-06-21 14:41:41 +02:00
Joakim Erdfelt ad757df736
Removing invalid maxConnections references (#8175)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-06-17 15:56:04 -05:00
Joakim Erdfelt d63569d025
Migrate code from jetty-util Logger to slf4j Logger (#8162)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-06-15 20:01:48 +02:00
Lachlan 0699bc5326
Use static exceptions for closing websocket flushers and in ContentProducer (#8155)
* Use StaticException class in jetty-util for websocket flushers.
* Use StaticException class for ContentProducer recycle and consumeAll

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
2022-06-13 14:11:31 +02:00
Jan Bartel d725855194
Issue #8088 Add STOP.EXIT System property to configure ShutdownMonitor.exitVm (#8133)
* Issue #8088 Add STOP.EXIT System property to configure ShutdownMonitor.exitVm (#8089)

* Issue #8088 Add STOP.EXIT System property to configure ShutdownMonitor.exitVM

* Ensure missing STOP.EXIT doesn't override default exitVm=true

* Disable another test

* Disable test that might not work, depending on test execution order.
2022-06-09 08:06:55 +10:00
Joakim Erdfelt 8de55150fe
Cherry-pick of Improvements to PathSpec for Jetty 10.0.x (#8136)
* Cherry-pick of Improvements to PathSpec.
* From commit: 5b4d1dd1c6
* Fixing ConstraintSecurityHandler usage of PathMappings
* Fixing bad INCLUDE logic from cherry-pick in ServletHandler.doScope()
* Cleanup of non ServletPathSpec behaviors in ServletPathMapping class
* Skip optional group name/info lookup if regex fails.
* Prevent NPE on static servletPathMappings
* Update WebSocketMappings to use new PathMappings.getMatched(String)

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-06-08 12:36:30 -05:00
Jan Bartel 3caee26742
Jetty 10.0.x 7801 duplicate set session cookie (#7808)
* Issue #7801 Duplicate set session cookie after id change.

Signed-off-by: Jan Bartel <janb@webtide.com>
2022-06-08 10:15:24 +10:00
Joakim Erdfelt 944ce6354f
Fixing #7975 - ForwardedRequestCustomizer should clear old MethodHandles when renaming headers. (#8102)
* Adding test case to prove report
* Fixing updateHandles() to clear the stored handles list.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-06-02 14:17:26 -05:00
Joakim Erdfelt 2850db13e2
Fixes #7818 - Regression: allow HttpChannel.Listener.onResponseBegin to modify response headers (#7850)
* allow HttpChannel.Listener.onResponseBegin to modify response headers

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-06-01 13:12:40 -05:00
Greg Wilkins 7a1c165677
Implement #8057 103 Early Hint (#8058)
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2022-06-01 11:56:54 +10:00
Lachlan 94e40a93cc
Merge pull request #7983 from eclipse/jetty-10.0.x-1771-secureRedirectHandler
Issue #1771 - add module for secure redirect
2022-05-30 11:58:52 +10:00
Simone Bordet d1e64f4693
Fixes #8014 - Review HttpRequest URI construction. (#8015)
Fixes #8014 - Review HttpRequest URI construction.

Now always adding a "/" before the path, if not already present.
Disabled flakey HTTP/3 test.
Parse CONNECT URIs as Authority

Co-authored-by: Greg Wilkins <gregw@webtide.com>
2022-05-26 18:13:17 +10:00
Lachlan Roberts a61f1458e6 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-legacyMultipartParser 2022-05-25 16:56:54 +10:00
Lachlan Roberts ed122dfa3c update description in secure-redirect.mod
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-05-25 15:22:08 +10:00
Lachlan Roberts 32ed6fab9c Issue #1771 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-05-24 16:53:20 +10:00
Lachlan Roberts 365fa76db3 Issue #1771 - add module for secure redirect
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-05-24 16:53:20 +10:00
Joakim Erdfelt 546c382255
Issue #7858 - GzipHandler request.isHandled support (#8013)
* Better conditional logic in GzipHandler
* Correct test expectations
* Use super.handle() where appropriate

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-05-18 15:12:16 -05:00
Lachlan Roberts f2e59a01b1 Add compliance mode for LEGACY multipart parser in Jetty 10+
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-05-17 10:58:12 +10:00
Lachlan 2093f3822e Add TRANSFER_ENCODING violation for MultiPart RFC7578 parser. (#7976)
* Add TRANSFER_ENCODING violation for MultiPart RFC7578 parser.
* Ignore TRANSFER_ENCODING violation for 8bit and binary.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-05-12 15:51:53 +10:00
Lachlan 7a5ea2bac0
Merge pull request #7873 from eclipse/jetty-10.0.x-4414-gzipInflationExclusion
Issue #4414 - add option to exclude paths from GzipHandler request inflation
2022-05-09 15:58:19 +10:00
Joakim Erdfelt fcd0222d2c
Issue #7837 - fix compilation error
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-05-04 06:59:17 -05:00