Commit Graph

2815 Commits

Author SHA1 Message Date
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 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 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
Simone Bordet b8d6e3f010
Fixes #6410 - Use SocketAddress instead of InetSocketAddress. (#6414)
* Fixes #6410 - Use SocketAddress instead of InetSocketAddress.

Removed usages of InetSocketAddress in method signatures where possible.
Deprecated old methods, and added new methods with SocketAddress.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-06-17 10:18:08 +02:00
Greg Wilkins a415606e01
Rename EWYK The AdaptiveExecutionStrategy (#6353)
Rename EWYK to AdaptiveExecutionStrategy, which better represents the nature of the strategy.

Updated the documentation 
Refactored substrategy selection for code clarity.
Added notes about chaining strategies and thread starvation

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2021-06-16 17:22:08 +10:00
Jan Bartel 900c71902c
Issue #6327 Remove DisabledOnJre or test where appropriate (#6386)
Signed-off-by: Jan Bartel <janb@webtide.com>
2021-06-10 21:26:16 +10:00
Greg Wilkins e3faf81860
Fix #6114 Deploy symlink webapps (#6317)
* Fix #6114 Deploy symlink webapps

Use Path.toRealPath rather than getCanonicalPath in the Scanner
Make following symlinks configurable

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-06-04 15:10:54 +02:00
Greg Wilkins 0d71185e10
Fix #6305 Optimise isProtectedTarget (#6306)
* Fix #6305 Optimise isProtectedTarget

Fix #6305 Optimise isProtectedTarget by using case insensitive Index.

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

* Fix #6305 Optimise isProtectedTarget

updates from review

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

* Fix #6305 Optimise isProtectedTarget

updates from review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-05-28 18:01:25 +10:00
Simone Bordet cfcb2efa80
Fixes #6276 - Support non-standard domains in SNI and X509. (#6296) (#6311)
* Fixes #6276 - Support non-standard domains in SNI and X509. (#6296)

Improved support for IP addresses in X509 (after #5379).
Introduced SslContextFactory.Client.SniProvider to allow applications to specify the SNI names to send to the server.
Improved logging of SNI processing.
Skip X509 matching over IP addresses when the host does
not look like an IP address, to avoid reverse DNS lookup.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
(cherry picked from commit 04df6d4ec2)
2021-05-24 16:57:57 +02:00
Ludovic Orban 61f4dbecdc review comment: improve readability
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-05-19 09:38:28 +02:00
Ludovic Orban 0b97b8415b only release connection when channel got released to avoid double connection release race condition
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-05-19 09:38:28 +02:00
Simone Bordet b5b3874275 Fixes #6099 - Cipher preference may break SNI if certificates have different key types.
Updated the logic in SslContextFactory.Server.sniSelect(...) to check if there is
any certificate that matches, and if so return a null alias in the hope to be called
again and pick the right alias for the SNI.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
(cherry picked from commit 68296911b7)
2021-05-10 12:25:56 +02:00
Simone Bordet 1c34222415 Fixes #6159 - Jetty with Conscrypt unable to handle any HTTPS requests when connected by IP rather than hostname.
Added null guard for `ExtendedSSLSession.getRequestedServerNames()`
which should never return null, but it does when using Conscrypt.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-05-07 15:52:24 +02:00
Lachlan 4c98990cd9
Create FileBufferedResponseHandler to buffer responses into a file. (#6010)
FileBufferedResponseHandler adds an HttpOutput.Interceptor to buffer all responses into a file until the output is closed. This allows the commit to be delayed until the response is complete and thus headers and response status can be changed while writing the body.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-04-19 11:02:44 +10:00
Lachlan 8a10cd1615
Merge pull request #6094 from eclipse/jetty-10.0.x-WebSocketServerComponents
Do not store WebSocketComponents in Server scope.
2021-03-31 10:55:36 +11:00
Lachlan Roberts a86a0c2662 Add static utility methods on container to add and remove beans.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-03-26 11:11:45 +11:00
Lachlan Roberts b51e40892d Fix lifecycle issues with WebSocketComponents and improve testing.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-03-26 00:07:57 +11:00
Greg Wilkins c1ae922ab0
Use Files.isSameFile to check Resource equality (#6093) (#6095)
Use Files.isSameFile to check Resource equality
Avoid using canonical and instead use Files.isSameFile

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
2021-03-24 21:44:27 +01:00
Greg Wilkins c59de808f1
Fix #5835 Durable filters and servlets (#6027)
Fix #5835 Durable filters and servlets with a general ServletHandler cleanup
update indexes after updating mapping
update mappings/indexes before destroyed listeners

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-03-22 11:28:25 +01:00
Jan Bartel 56864bd43d
Issue #6020 Fix redeploy error jetty-maven-plugin (#6023)
* Issue #6020 Fix redeploy error jetty-maven-plugin

Signed-off-by: Jan Bartel <janb@webtide.com>
2021-03-10 10:11:34 +01:00
Simone Bordet c2181ec566 Improvements to the Jetty documentation.
Added sections on server logging.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-03-09 19:19:50 +01:00
Simone Bordet 8de7b83966 Fixes #6034 - SslContextFactory may select a wildcard certificate during SNI selection when a more specific SSL certificate is present.
Now matching certificates are sorted, non-wildcard first, so that a more specific alias is returned.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-03-08 19:40:24 +01:00
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
Simone Bordet bffa62af23 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-02-24 09:39:19 +01:00
Simone Bordet c9cd1e4758
Merge pull request #5995 from eclipse/jetty-9.4.x-5994-qtp_free_threads
Fixes #5994 - QueuedThreadPool "free" threads
2021-02-24 09:31:03 +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
Simone Bordet 530c14e7b3 Issue #5994 - QueuedThreadPool "free" threads
Updates after review.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-02-23 18:12:55 +01:00
Simone Bordet 64e01beeeb Fixes #5994 - QueuedThreadPool "free" threads
Introduced to QueuedThreadPool:

* getMaxReservedThreads()
* getAvailableReservedThreads()
* getAvailableThreads()
* getReadyThreads()
* getLeasedThreads()

Also few small code cleanups.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-02-22 23:02:12 +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 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
Nicolas 358526be04
Fix SampleStatistic.toString: mean dispay the max (#5962)
Signed-off-by: Nicolas Trangosi <nicolas.trangosi@dcbrain.com>
2021-02-12 14:32:54 +10:00
Olivier Lamy 68790d861c
Issue #5933 ClientCertAuthenticator is not using SslContextFactory (#5934)
Added SslClientCertAuthenticator
Co-authored-by: olivier lamy <oliver.lamy@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>

Co-authored-by: gregw <gregw@webtide.com>
2021-02-10 11:03:54 +10: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 0d85c7d220 Fix #5605 Unblock non container Threads
test and fixes for the write side.
2021-02-02 17:49:17 +01:00
Jan Bartel 49098e6302 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Jan Bartel <janb@webtide.com>
2021-02-01 17:15:35 +01:00
Jan Bartel 4bf250fbaa
Jetty 9.4.x 5859 classloader leak queuedthreadpool (#5894)
* Issue #5859 Fix Classloader leak from QueuedThreadPool

Signed-off-by: Jan Bartel <janb@webtide.com>
2021-02-01 16:58:02 +01:00
Simone Bordet 95b5cfd532
Fixes #5902 - Grab Jetty startup output in documentation. (#5906)
* Fixes #5902 - Grab Jetty startup output in documentation.

Implemented an Asciidoctor extension that uses `JettyHomeTester` to run
Jetty and capture its output.
This extension is triggered by the `ServiceLoader` mechanism, so the
documentation jar is now in the plugin classpath.

Introduced `jetty-halt.xml` so that the JVM can be halted.
In this way, Jetty does not produce the "stopping" log lines and
therefore they won't be grabbed and included in the documentation.

Used the new `include::jetty[]` directive in the documentation.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Greg Wilkins <gregw@webtide.com>
2021-01-25 14:21:17 +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
Simone Bordet 4b775525ff Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-01-12 17:16:47 +01:00
Simone Bordet 03ec5bb773
Merge pull request #5825 from rk1165/issue_5786
Issue #5786 : Revisit Statistics classes
2021-01-12 17:15:44 +01:00
Jan Bartel 8cd0d45ed0 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2021-01-12 16:52:47 +01:00
Ludovic Orban e9832492b3 Add missing files to previous merge of remote-tracking branch origin/jetty-9.4.x into jetty-10.0.x
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-01-12 16:31:13 +01:00
Ludovic Orban 058a488c30 Merge remote-tracking branch origin/jetty-9.4.x into jetty-10.0.x
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-01-12 16:22:11 +01:00
Jan Bartel 46031c225a Re-enable PathWatcherTest after fix for 5830
Signed-off-by: Jan Bartel <janb@webtide.com>
2021-01-12 16:13:50 +01:00