5575 Commits

Author SHA1 Message Date
Joakim Erdfelt
a9c596e3d7
Updating various old/moved URL references found across project (jetty-10.0.x) (#10098)
* Now that the migration of `https://eclipse.org/jetty/` to `https://eclipse.dev/jetty/` has occurred, it is time to review the URI use in our project

+ Updated URLs in poms
+ Added more URIs to XmlConfiguration
+ Updated URLs in module files
+ Updated URLs in documentation
+ Updated URLs in HTML
+ Correcting bad double-scheme URLs (eg: `http://https://www.eclipse...`)
+ Updating text in *.mod files
+ Removing `/current/` from path `/jetty/documentation/current/`
+ Fixing mailing list URL

---------

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2023-07-14 12:38:45 -05:00
Joakim Erdfelt
17c593f9ea
No progress during Gzip Request Inflation results in bogus error (#9997)
* Issue #9990 - GzipHttpInputInterceptor doesn't decompress properly on some sized content.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2023-06-30 05:22:36 -05:00
Ludovic Orban
e30b23aca6 #9397 fix keystores with invalid Subject Alternate Names
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-26 23:09:24 +02:00
Greg Wilkins
cba1fd6930
Fix #9685 Date is not a content header (#9687)
resetContent does not reset Date Header

Signed-off-by: gregw <gregw@webtide.com>
2023-04-29 13:36:12 +02:00
Joakim Erdfelt
ca3c1756ad
Updating to version 10.0.16-SNAPSHOT 2023-04-11 13:23:25 -05:00
Joakim Erdfelt
68017dbd00
Updating to version 10.0.15 2023-04-11 12:24:32 -05:00
Simone Bordet
2c61011de1
Fixes #6184 - JEP-411 will deprecate/remove the SecurityManager from … (#9616)
* Fixes #6184 - JEP-411 will deprecate/remove the SecurityManager from the JVM.

Removed usages of `SecurityManager` and `AccessControlller.doPrivileged()`.
In places where they are still necessary, now using reflection via newly introduced `SecurityUtils` class.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-04-06 10:59:02 +02:00
Simone Bordet
278ec1be69
Fixes #9237 - Decouple QTP idleTimeout from pool shrink rate. (#9498)
Introduced `QueuedThreadPool.maxEvictCount` to be the number of idle threads that are evicted in one idle timeout.

When set to 1 (the default), the old behavior is reproduced: expiring 1 thread every idle timeout.
When set to larger values, allows to keep around the threads for the idle timeout (in case of further load spikes), but allows to quickly recover OS memory when they are truly idle.

For example, with 2000 threads, 30 seconds idle timeout and idleTimeoutMaxShrinkCount=1, it will take 995 minutes (about 16.5 hrs) to shrink the pool back to 10 threads.
By setting idleTimeoutMaxShrinkCount=100, the thread pool can be shrunk to 10 threads in about 10 minutes.

Note also that the new algorithm is more aggressive at shrinking the thread pool.
Previously, a small load might have been sufficient to never evict any thread, because all threads could take turns at executing jobs so that threads were mostly idle but would never really idle time out.
The new algorithm is more aggressive even in presence of a small load, so that if `minThreads` are sufficient to cope with the small load, then the other threads are evicted.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: gregw <gregw@webtide.com>
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Co-authored-by: gregw <gregw@webtide.com>
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
2023-03-31 15:36:34 +02:00
Joakim Erdfelt
9060adb8ca
Merge remote-tracking branch 'origin/jetty-10.0.x' into fix/jetty-10.0.x/jetty-sh-start-properties 2023-03-20 23:14:28 -05:00
Olivier Lamy
e62cc0344a Updating to version 10.0.15-SNAPSHOT 2023-03-01 18:55:10 +10:00
Greg Wilkins
4d146412c8
Fix #9334 Cookie Compliance (#9402)
Fix incorrect change to RFC6265 to not support dollars in cookie names.

Signed-off-by: gregw <gregw@webtide.com>
2023-02-21 21:31:43 +11:00
gregw
7a7d69a69f Happy no year
Remove modification date from copyright notice and instead just have the
project inception year.

Signed-off-by: gregw <gregw@webtide.com>
2023-02-15 15:22:32 +11:00
Simone Bordet
7b8c2c1bf0
Fix/jetty 10 9334 review cookie cutter (#9339)
Cookie cleanup
+ New Cookie parser with clearer focus on RFC6265.
+ Better compliance modes for RFC2965
+ Introduced CookieParser interface so that old and new parsers can coexist and be selected by compliance mode.

---------

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
Co-authored-by: Greg Wilkins <gregw@webtide.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-02-15 08:38:24 +11:00
Jan Bartel
e75ec5e37a
Issue #9181 NPE in SessionHandler (#9346) 2023-02-14 13:22:59 +11:00
Lachlan
622befbd0d
Merge pull request #9344 from eclipse/jetty-10.0.x-multipartCleanups
multipart cleanups jetty-10
2023-02-14 12:15:21 +11:00
jluehe
f43ca5d554
LowResourceMonitor.getReasons should include detailed reason instead of hard-coded message (#9337) (#9338) 2023-02-14 09:36:33 +10:00
Lachlan
1bb928bbf0
#9344 changes from review
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-02-14 09:35:18 +11:00
Lachlan
e623511de2
#9344 changes from review
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-02-14 09:35:09 +11:00
Greg Wilkins
5f25f5b389
Fix/jetty 10.0.x/uri host mismatch alt (#9343)
* Introduce HttpCompliance.MISMATCHED_AUTHORITY

* Update HttpCompliance.RFC2616

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

* Update NcsaRequestLogTest.testAbsolute

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

* Use RFC2616 mode in RFC2616 tests

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

* Alternative fix for mismatched host headers

This PR fixes the miss-matched host header issue in the Request.setMetaData method. This requires no change to the HttpParser.
A more comprehensive fix can be considered for jetty-12.

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

* Alternative fix for mismatched host headers

Updates from review

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

---------

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: gregw <gregw@webtide.com>
Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2023-02-14 07:43:19 +11:00
Lachlan Roberts
a5344d7a26 bring back some multipart improvements from #9287
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-02-09 21:25:39 +11:00
Joakim Erdfelt
5ca878f334
Report bad format string on error
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2023-02-06 15:33:19 -06:00
Greg Wilkins
8bf7c9cef8
Fix #9285 use possibly wrapper response for redirection (#9286)
Use the servlet response sendRedirect method.
Always close the connection if there is content.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2023-02-05 09:18:24 +11:00
dependabot[bot]
ca19b143a9
Bump maven.surefire.plugin.version from 3.0.0-M5 to 3.0.0-M8 (#9255) 2023-02-02 04:15:39 +00:00
Joakim Erdfelt
4993291af0
Wrong value of RequestDispatcher.FORWARD_CONTEXT_PATH attribute on root context (#9123)
* Wrong value of RequestDispatcher.FORWARD_CONTEXT_PATH on root context

* Fixes #9119 - uses proper context path that
  satisfies the root context rules of the servlet
  spec

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2023-01-20 08:16:43 -06:00
Joakim Erdfelt
54c4c03244
Updating to version 10.0.14-SNAPSHOT 2022-12-07 14:33:17 -06:00
Joakim Erdfelt
1c2636ea05
Updating to version 10.0.13 2022-12-07 14:12:50 -06:00
Joakim Erdfelt
7e1de8b1e2
Issue #8973 - Rework KeyStoreScanner handling for symlink related changes (#9014)
* Issue #8973 - Rework KeyStoreScanner handling for symlink related changes

+ Removed changes from #8786 and #8787
+ More test cases
+ revert jetty.sslContext.reload.followLinks boolean
+ Scanner should follow its own linkOptions setting
+ remove bad documentation in module-ssl-reload.adoc

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Co-authored-by: Lachlan Roberts <lachlan@webtide.com>
2022-12-07 09:24:19 -06:00
Simone Bordet
a546027db8
Fixes #9006 - WebSocket MessageInputStream.read() returns signed byte
Now properly coverting to `int`.
Added test.

Also fixed MultiPartInputStreamParser.Base64InputStream for the same issue.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-12-06 15:29:05 +01:00
Jan Bartel
cd7482a151
Issue #8460 simplify DefaultSessionIdManager start (#8464)
* Issue #8460 check DefaultSessionIdManager is started
2022-11-23 13:47:29 +11:00
Simone Bordet
e33c9a1284
Improved documentation about virtual threads. (#8900)
Added programming guide section about Jetty threading model.
Updated operations guide with new sections about virtual threads.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-11-21 21:16:10 +01:00
Joakim Erdfelt
44666573e2
Merge pull request #8906 from eclipse/fix/jetty-10-gziphandler-status-304-vary
Issue #8905 - GzipHandler should include `Vary` header on 304 (Not Modified) responses (per RFC9110)
2022-11-21 10:23:49 -06:00
Simone Bordet
83154b4ffe
Fixes #8863 - Provide a possibility to name virtual threads (#8903)
* Fixes #8863 - Provide a possibility to name virtual threads

Reworked the VirtualThreads APIs to be based on `Executor` rather than just `boolean`.
Introduced Jetty module `threadpool-virtual-preview`.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-11-21 15:39:54 +01:00
Greg Wilkins
55e9f738c9
Fix #8897 Ignore conditional headers as per RFC7232 (#8899)
* Ignore date based headers if etag ones are present.
* Also avoid parsing dates unless necessary.
* Check a resource has a lastModified date

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2022-11-17 12:27:21 +11:00
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