Commit Graph

5623 Commits

Author SHA1 Message Date
Lachlan Roberts 21ec2f072f Issue #7567 - don't need to convert to lowercase with a AsciiLowerCaseSet
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-02-14 12:23:55 +11:00
Lachlan Roberts 0aa307db64 Issue #7567 - don't compare params when checking MIME type for GzipHandler
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-02-14 12:13:14 +11:00
Lachlan Roberts 16b070db01 Add option to allow well-known directories to be listed.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-02-08 11:27:00 +11:00
Simone Bordet a4fda96f49
Updating to version 10.0.9-SNAPSHOT 2022-02-07 12:02:02 +01:00
Simone Bordet 716c7afd8e
Updating to version 10.0.8 2022-02-07 11:34:12 +01:00
Simone Bordet 9181457013
Updated copyright years.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-01-27 18:20:41 +01:00
Dell Green fba2ef09e9
Issue #6282 - Allow SecuredRedirectHandler status code to be configurable (#7441)
Signed-off-by: Dell Green <dell.green@ideaworks.co.uk>
2022-01-27 10:50:38 -06:00
Joakim Erdfelt cb127793e5
Happy New Year 2022 (#7459)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-01-27 10:42:30 -06:00
mszabo-wikia fd2407c72f
Clarify that requestHeaderSize is a cumulative limit (#7417)
* Clarify that requestHeaderSize is a cumulative limit

HttpConfiguration documents the requestHeaderSize configuration option
as being a limit on the size of a single request header, but it is in
fact a limit on the cumulative size of all request headers as well as
the request URI. This patch updates the documentation accordingly, and
adds test cases for the HTTP/1.x and HTTP/2 parsers to verify the
behavior.

NB.: the HTTP/3 parser and configuration seem to correctly document this
option as being a global limit on header size.

* Improve requestHeaderSize tests and documentation per review

Signed-off-by: Máté Szabó <mszabo@wikia-inc.com>
2022-01-19 11:56:27 -06:00
Jan Bartel 0613818c5e
Issue #7375 Request scoped sessions (#7390)
Signed-off-by: Jan Bartel <janb@webtide.com>
2022-01-14 15:39:38 +11:00
Ludovic Orban f0810c0fa4 #7281 review test suite to improve code coverage
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-01-13 15:06:32 +01:00
Ludovic Orban 09c1b06399 #7281 add special case for zero-length content
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-01-13 15:06:32 +01:00
Ludovic Orban 5a551a832b #7281 check that at least one byte of raw content is consumed by the interceptor and clarify its javadoc
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-01-13 15:06:32 +01:00
Ludovic Orban 0fb3079c90 #7281 improve isSpecial javadoc
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-01-13 15:06:32 +01:00
Ludovic Orban 5cad97e134 #7281 rewrite nextTransformedContent
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-01-13 15:06:32 +01:00
Ludovic Orban 1682265a00 #7281 add more tests and fix shortcomings
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-01-13 15:06:32 +01:00
Ludovic Orban ec9846c116 #7281 add Interceptor javadoc
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-01-13 15:06:32 +01:00
Ludovic Orban 91f29a04a9 #7281 pass special content to interceptors
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2022-01-13 15:06:32 +01:00
Simone Bordet b51465f91a
Fixes #7369 - Document CustomRequestLog (#7370)
* Fixes #7369 - Document CustomRequestLog

Introduced `JavadocIncludeExtension` to include javadoc snippets in the documentation.
Added documentation about request logging.
Updated `CustomRequestLog` javadocs.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-01-12 10:27:53 +01:00
Joakim Erdfelt 1984d2de11
Issue #7277 - Allow `Request.getLocalName()` and `.getLocalPort()` to be overridden (#7357)
* Issue #7277 - Allow `Request.getLocalName()` and `.getLocalPort()` to be overridden (#7316)

* Introduce `HttpConfiguration.setServerAuthority(HostPort)`
  to influence `ServletRequest.getServerName()` and `ServletRequest.getServerPort()`
* Introduce `HttpConfiguration.setLocalAddress(SocketAddress)`
  to influence `ServletRequest.getLocalName()`, `ServletRequest.getLocalPort()`, and `ServletRequest.getLocalAddr()`
* Correcting Request URI logic on abs-uri without authority
* Adding test cases

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-01-06 08:01:08 -06:00
Jan Bartel 5aa598efd5
Issue #7313 Add AttributeContainerMap as bean to server for all constructors. (#7317)
Signed-off-by: Jan Bartel <janb@webtide.com>
2022-01-04 14:10:58 +11:00
Joakim Erdfelt 3c02a03a38
Issue #6973 - Setup Request/Response objects for success with RequestLog (#7183)
* Issue #6973 - Setup Request/Response objects for success with RequestLog

+ Prevents reading of Request body parameters
+ Still allows raw Request.getInputStream() and
  Request.getReader() usage
+ Restores committed response status code.
+ Does not rest committed response headers.
+ Adding testcase for post-commit response header
  issue. (currently disabled)
+ Remove Request.onRequestLog()
+ Move requestlog calling from HttpChannel to Request.onCompleted
+ address scenario where HttpChannel is null

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-12-28 20:11:52 -06:00
Simone Bordet dc5ffe1a8e Issue #6728 - QUIC and HTTP/3
- Made HttpChannelOverHTTP3.needContent() to look for content if none is immediately available.
- Improved javadocs.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Simone Bordet 23111b744f Issue #6728 - QUIC and HTTP/3
- Made BlockingContentProducer.onContentProducible() idempotent by checking if the input
is unready before releasing the semaphore.
This is necessary because HTTP/3 will call onContentProducible() just after receiving the request,
while other protocols assume that content is producible and only call onContentProducible()
when they read all the available content.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-20 09:33:38 +01:00
Ludovic Orban 44fb63e541 #7284 cleanup HttpInput reopen/recycle
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-12-16 14:19:56 +01:00
Ludovic Orban 12b14c5850 #7280 destroy interceptor when content producer gets recycled
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-12-15 11:13:58 +01:00
Lachlan e345ee28a5
Issue #7059 - prevent an internal NPE in AllowedResourceAliasChecker doStart (#7076)
- prevent an internal NPE in AllowedResourceAliasChecker doStart
- Fix LifeCycle issues with AllowedResourceAliasChecker
- add null check for protected targets in toString.
- improve warning message for AllowedResourceAliasChecker
- add AllowedResourceAliasCheckerTest
2021-12-07 09:37:11 +11:00
Lachlan 9b501022d5
Merge pull request #7166 from eclipse/jetty-10.0.x-6974-ByteBufferPool
Issue #6974 - improvements & fixes to ByteBufferPool implementations (#7017)
2021-12-03 14:46:16 +11:00
Lachlan Roberts 6172c96d80 update jetty-bytebufferpool-logarithmic.xml dtd to 10_0
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-12-02 20:02:10 +11:00
Simone Bordet cb25a83667
Issue #6728 - Prepare for QUIC and HTTP/3 (#7100)
* Issue #6728 - QUIC and HTTP/3

Modifications to Jetty to prepare for QUIC/HTTP3.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-12-01 09:39:51 +01:00
Lachlan Roberts 7abb1e62f2 Issue #7160- Add AMBIGUOUS_PATH_ENCODING to default UriCompliance mode.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-11-30 16:51:58 +11:00
Lachlan c19921e60f Issue #6974 - improvements & fixes to ByteBufferPool implementations (#7017)
- WebSocket should user server ByteBufferPool if possible
- fix various bugs ByteBufferPool implementations
- add heuristic for maxHeapMemory and maxDirectMemory
- Add dump for ByteBufferPools
- add LogArrayByteBufferPool that does exponential scaling of bucket size.
- ByteBufferPools should default to use maxMemory heuristic
- Add module jetty-bytebufferpool-logarithmic

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2021-11-25 10:42:47 +11:00
Lachlan dd0613193c
Merge pull request #7000 from eclipse/jetty-10.0.x-1087-WellKnown
Issue #1087 - add module for a .well-known handler
2021-11-17 09:51:26 +11:00
Lachlan Roberts 1d88a52647 Issue #1087 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-11-12 13:55:08 +11:00
Lachlan Roberts bfd9d59ef5 Issue #7062 - remove the old test-keystore.p12 file
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-11-12 11:26:07 +11:00
Joakim Erdfelt f5bb6991b7
Issue #7031 - Fixing ResponseWriter (#7032)
+ Improving test coverage on response.getWriter()
  and response.getOutputStream() usage

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-10-26 10:29:27 -05:00
Lachlan Roberts 1c91fbe9b9 Issue #1087 - improvements to the documentation
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-10-25 10:54:30 +11:00
Lachlan Roberts dcc6cc435f Issue #1087 - add documentation and distribution test
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-10-22 16:43:22 +11:00
Lachlan 06a899f298
Merge pull request #6976 from eclipse/jetty-10.0.x-4317-GzipHandler-SSE
Issue #4317 - exclude text/event-stream MIME type from GzipHandler
2021-10-20 19:32:47 +11:00
Lachlan Roberts 6a3abd9770 Issue #1087 - add module for a .well-known handler
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-10-15 14:05:33 +11:00
Lachlan Roberts 4682e6381f Issue #6497 - add warnings for alias checker deprecations
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-10-15 12:01:35 +11:00
Lachlan Roberts 32187fb458 Issue #4317 - exclude text/event-stream MIME type from GzipHandler
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-10-11 13:37:07 +11:00
Joakim Erdfelt cfc67f86d2 Updating to version 10.0.8-SNAPSHOT 2021-10-06 14:51:32 -05:00
Joakim Erdfelt da8a4553af Updating to version 10.0.7 2021-10-06 14:32:37 -05:00
Simone Bordet 0412bdc3d9 Fixes #6938 - module-info.java file do not use the canonical order for the elements
Changed order of entries in module-info.java to be canonical

(cherry picked from commit 02691171d5)
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-10-01 09:25:55 +02:00
Olivier Lamy 51d44a3401
use dependencyManagement for internal dependencies (#6940)
Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2021-09-30 16:57:19 +10:00
Greg Wilkins aac366c300
Fix #6883 relative welcome redirect (#6886) (#6894)
* Fix #6883 relative welcome redirect (#6886)

Fix #6883 relative welcome redirect
 + make all redirects able to be relative
 + added test for relative redirection in ResourceService

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-09-23 15:37:56 +10:00
Greg Wilkins 9a14de058d
Fix #6860 IPv6 Format (#6861) (#6885)
Fix #6860 IPv6 format by adding an extensible HttpChannel method

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Co-authored-by: Lachlan Roberts <lachlan@webtide.com>
2021-09-22 21:03:23 +10:00
Greg Wilkins aa793eeafe
Jetty 10.0.x 6497 alias checkers alt (#6681)
* Issue #6497 - Replace the Alias checkers with new implementation.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
Co-authored-by: Lachlan Roberts <lachlan@webtide.com>
2021-09-21 18:35:51 +10:00
Greg Wilkins 0dc5371167
Fix #6869 HTML Error page charset (#6873) (#6878)
Fix #6869 HTML Error page charset passed as request attribute

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-09-21 16:08:01 +10:00
Jan Bartel d3bfb61761
Jetty 10.0.x 6687 upgrade infinispan (#6766)
* Issue #6687 Update to infinispan 11.0.11

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


* fix upperbound dependency
* use infinispan bom

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

Co-authored-by: Olivier Lamy <oliver.lamy@gmail.com>
2021-09-21 11:16:50 +10:00
Greg Wilkins f398da7200
Fix #6868 Fix copy constructors (#6872)
* Fix #6868 Fix copy constructors

Fixed copy constructors found by static code analysis

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-09-20 15:14:42 +10:00
Joakim Erdfelt a223815cbf
Issue #6752 - Extensible DefaultSessionCache map implementation
More changes requested from review

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-09-14 21:00:04 -05:00
Joakim Erdfelt 8991b7f452
Issue #6752 - Extensible DefaultSessionCache map implementation
Addressing changes requested from review

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-09-14 20:23:49 -05:00
Joakim Erdfelt 8788aaef5a
Issue #6752 - Extensible DefaultSessionCache map implementation
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-09-14 20:23:48 -05:00
dependabot[bot] b44dde6098
Bump maven-enforcer-plugin from 3.0.0-M3 to 3.0.0 (#6755)
* Bump maven-enforcer-plugin from 3.0.0-M3 to 3.0.0

Bumps [maven-enforcer-plugin](https://github.com/apache/maven-enforcer) from 3.0.0-M3 to 3.0.0.
- [Release notes](https://github.com/apache/maven-enforcer/releases)
- [Commits](https://github.com/apache/maven-enforcer/compare/enforcer-3.0.0-M3...enforcer-3.0.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-enforcer-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix some upper bound issues and exclude more javax

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

* fix upperbound dependencies issue with enforcer plugin upgrade

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

* exclude this wrong which makes enforcer plugin fail and btw it's not used

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

* fix last enforcer upperbound issues

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Olivier Lamy <oliver.lamy@gmail.com>
2021-09-14 06:10:48 +10:00
Padraic Renaghan 96945c7e10
Issue #6752 DefaultSessionCache more extensible using ConcurrentMap (#6753)
DefaultSessionCache is designed to be extended, by virtue of its protected session map. Subclasses can set their own map instance instead. However the session map is specified as ConcurrentHashMap, when it only needs to be ConcurrentMap.
Changed data type to ConcurrentMap to allow for wider options for subclasses, such as those wanted to use Caffeine's asMap() method which returns ConcurrentMap.
Although changing to even more relaxed Map would work, that does not provide as much clarity that the map will be used concurrently - therefore used ConcurrentMap instead.

Signed-off-by: Padraic Renaghan <padraic@renaghan.com>
2021-09-10 10:08:42 +10:00
Ludovic Orban 2231e6496e update javadoc of input state methods
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-09-06 15:47:07 +02:00
Ludovic Orban cd4166ce5b update HttpInput puml diagrams
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-09-06 15:47:07 +02:00
Jan Bartel db1c65564f
Issue #6327 Remove/re-enable disabled ShutdownMonitorTest tests (#6630)
Signed-off-by: Jan Bartel <janb@webtide.com>
2021-09-02 10:18:44 +10:00
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 edcb215ac7 Issue #6642 - use request UPGRADE_CONNECTION_ATTRIBUTE instead of 101 response.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-31 10:51:45 +10:00
Olivier Lamy 4be1e63bc1
Issue #6605 cherry-pick changes flaky test HttpOutputTest#testEmptyBufferKnown 10.0.x branch (#6651)
* #6605 testEmptyBufferKnown: make sure the assertion does not happen before the committed flag is read

Signed-off-by: Ludovic Orban <lorban@bitronix.be>

* #6605 rename test

Signed-off-by: Ludovic Orban <lorban@bitronix.be>

Co-authored-by: Ludovic Orban <lorban@bitronix.be>
2021-08-28 19:28:02 +10:00
Lachlan Roberts 2d4693a288 Issue #6642 - check for null Metadata in HttpConnection
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-27 14:51:07 +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
Joakim Erdfelt c5a33e27d2
Issue #5684 - Windows test overhaul (#6581)
Issue #5684 - Window's test overhaul

+ Migrate from @DisabledOnOs(WINDOWS) to assumptions on capabilities instead.
+ Fix other outstanding windows testing issues.
+ Cleanup FileBufferedResponseHandlerTest expectations on Windows.
+ PathWatcher scan interval is variable on windows
+ If unable to start testcase based on assumption,
  the stop shouldn't fail testcase
+ Increase various wait timeouts
+ Make tests less strict due to system speed issues
+ Disable Sni tests due to TLS behaviors differences in Windows
  + Windows TLSv1.3 seems to introduce this difference
  + If we restrict to TLSv1.2 this passes.
  + On Linux TLSv.13 on client side will always return a
  + javax.net.ssl.SSLHandshakeException in those test cases that expect it.
  + However, on Windows, Only the TLSv1.2 implementation will return a javax.net.ssl.SSLHandshakeException,
  + All other TLS versions on Windows will result in a
  + javax.net.ssl.SSLException: Software caused connection abort: recv failed
+ Disable ConcurrentStreamCreationTest
  + Not possible to create all of these streams.
+ Fixing DeploymentTempDirTest
  + Using unique workdir per testcase.
  + Don't expect to delete files / directories between tests
    (not supported on windows due to file locking anyway)
 + Fixing line ending difference on windows
 + InvalidPathException is a 404 Not Found
 + Cannot reuse test directory between runs due to memory mapped files that are still in use from previous run.
 + java.nio.file.FileSystemException: C:\code\jetty.project\jetty-webapp\target\tests\welcome#\index.html: The requested operation cannot be performed on a file with a user-mapped section open.

	at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:92)
	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
	at java.base/sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:235)
	at java.base/java.nio.file.spi.FileSystemProvider.newOutputStream(FileSystemProvider.java:478)
	at java.base/java.nio.file.Files.newOutputStream(Files.java:220)
	at org.eclipse.jetty.webapp/org.eclipse.jetty.webapp.WebAppDefaultServletTest.prepareServer(WebAppDefaultServletTest.java:84)

 + As is typical on windows, we are often unable to delete a file due to file locking issues.
 + Use a unique resource base between tests.
   This is to avoid file locking behaviors that prevent the
   resource base from being reused too quickly on windows.
 + Prevent test run if symlinks not supported
 + Allowing for Windows slosh char as well in asserts
 + SelectorUtils is File.separator dependent
 + Regex is now FS.separator independent
 + Using SelectorUtils from plexus correctly for include/exclude
 + Turning off mapped files for testing reasons.
 + Fix and re-enable RFC2616NIOHttpsTest
 + Issue #6552 - Fix test failures due to slf4j dep
 + Issue #6552 - upgrade testcontainers
 + Issue #6552 - move to assumption based docker existence
 + Issue #6552 - Fix enforcer rule violation on jna.
  Addresses the following side effect of upgrading testcontainers.

[WARNING] Rule 3: org.apache.maven.plugins.enforcer.RequireUpperBoundDeps failed with message:
Failed while enforcing RequireUpperBoundDeps. The error(s) are [
Require upper bound dependencies error for net.java.dev.jna:jna:5.6.0 paths to dependency are:
+-org.eclipse.jetty:infinispan-remote-query:10.0.7-SNAPSHOT
  +-org.testcontainers:testcontainers:1.16.0
    +-com.github.docker-java:docker-java-transport-zerodep:3.2.11
      +-net.java.dev.jna:jna:5.6.0 (managed) <-- net.java.dev.jna:jna:5.8.0

 + use annotation to disable test when docker not available and needed
 + Disabling FileSessionDistributionTests.stopRestartWebappTestSessionContentSaved on Windows
 + Using TLS basic
 + Programmatic removal of memory mapped behavior during testing
 + Fixing slf4j warning

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Co-authored-by: Olivier Lamy <oliver.lamy@gmail.com>
2021-08-26 11:26:46 -05:00
Simone Bordet 2689cf75d1
Fixes #6646 - Propagate callback invocation type to avoid deadlock in SmallThreadPoolLoadTest
Fixed occurrences of Callbacks that did not override getInvocationType() to properly declare whether they block or not.

Added test case for blocking writes for both client and server.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
(cherry picked from commit 9897c1b06e)
2021-08-26 09:28:33 +10:00
Joakim Erdfelt 54edcefd66 Issue #6661 - Make ServerConnector socket options setting optional 2021-08-24 16:45:06 -05:00
Joakim Erdfelt ec842078a2 Issue #6661 - Make ServerConnector socket options setting optional 2021-08-24 16:18:34 -05:00
Greg Wilkins 2f80582615
Fix flaky test from #6562 (#6627)
Fix flaky test from #6562

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-08-17 14:05:16 +10:00
Simone Bordet dbc0ce7c13
Fixes #6372 - Review socket options configuration (#6610)
* Fixes #6372 - Review socket options configuration

Introduced in ClientConnector:

* tcpNoDelay
* reusePort
* receiveBufferSize
* sendBufferSize

Reworked configuration of socket options in ClientConnector.
JMX-ified ClientConnector.

Introduced reusePort in ServerConnector.
Updated server modules with the new reusePort property.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-08-13 17:39:52 +02:00
Ludovic Orban a99ff502d1 #6327 enable more disabled tests
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-08-12 10:47:24 +02:00
Ludovic Orban 999b3ca11e #6327 enable ResourceHandlerTest.testSlowBiggest
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-08-12 10:47:24 +02:00
Ludovic Orban 5dc856196e #6327 extract HttpOutput._apiState value from toString
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-08-12 10:47:24 +02:00
Ludovic Orban 26d144d708 #6327 enable AsyncIOServletTest.testAsyncWriteClosed
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-08-12 10:47:24 +02:00
Simone Bordet 49a08450c2
Fixes #6043 - Reimplement UnixSocket support based on Java 16. (#6522)
Fixes #6043 - Reimplement UnixSocket support based on Java 16.

* Introduced new module "jetty-server-unixdomain".
It uses reflection to access the Java 16 Unix-Domain classes to keep compatibility with the other modules and the build.
* Added Jetty module with only HTTP/1.1 support for now (requires review of the modules to reuse them with various connectors).
* Updated documentation to mention UnixDomainServerConnector.
* Updated client libraries to support Unix-Domain.
* Updated PROXY protocol implementation to support Unix-Domain.
* Replaced unix.socket.tmp with better named jetty.unixdomain.dir property.
Defaulted jetty.unixdomain.dir property to system property user.home under Windows.
Simplified code that runs Unix-Domain tests.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-08-05 10:04:37 +02:00
Greg Wilkins b0140dae05
Fix #6562 last written bytebuffer (#6563) (#6579)
Fixes #6562 the last written bytebuffer calculation.
Also fixed an associated issue with unnecessary flush of an empty when last calculation already signalled last.
2021-08-05 09:13:12 +10:00
Greg Wilkins 4e3e99c5c5
Fix #6565 Deploy Symlinked applications (#6567)
Fix #6565 Deploy Symlinked applications by treating extracting context name (which becomes the default context path) from the base resource and then following aliases, so that base resource will not be an alias.   Added warning in ContextHandler if the base resource is an alias that we may not support this in future releases.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-08-02 18:16:34 +10:00
Jan Bartel 90a72b0798
Issue #6556 Ensure context classloader set when operating on memcache. (#6557)
* Issue #6556 Ensure context classloader set when operating on memcache.

Signed-off-by: Jan Bartel <janb@webtide.com>
2021-08-02 10:04:51 +10:00
Joakim Erdfelt 4d35dd736d
Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-6544-gziphandler-excludedMimeTypes 2021-07-30 07:25:18 -05:00
Ludovic Orban 73ab70d174 #6491 extract common parseAndFillForContent method
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-07-28 10:14:19 +02: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 a4053578cb
Merge pull request #6547 from eclipse/jetty-10.0.x-optimize-imports
Remove unused import lines
2021-07-27 12:53:01 -05:00
Joakim Erdfelt 1bdb69dc07
Issue #6544 - Fixing broken `jetty.gzip.excludedMimeTypeList` property support
+ Adding GzipHandler tests
+ Adding Gzip module tests
+ Updating jetty-gzip.xml for
  includedMimeTypesList and
  excludedMimeTypesList behavior
+ Adding GzipHandler support for
  setIncludedMimeTypesList(String) and
  setExcludedMimeTypesList(String

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-07-27 11:36:56 -05:00
Joakim Erdfelt fdc210f382
Remove unused imports
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-07-27 08:03:00 -05:00
Joakim Erdfelt 330fc0ba0b
Merge pull request #6537 from eclipse/jetty-10.0.x-tls-test-revamp
Issue #5684 - Update TLS tests
2021-07-27 07:44:21 -05:00
Ludovic Orban c9a5d8df58 #6322 Use RetainableByteBuffer and write a new pool for it
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-07-24 11:14:21 +02:00
Joakim Erdfelt 713136fb0e
Issue #5684 - Update TLS tests
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-07-23 13:33:57 -05:00
Joakim Erdfelt c4021023ee
Merge pull request #6526 from eclipse/jetty-10.0.x-6520-errorhandler-valid-xhtml-xml
Issue #6520 - Fixing ErrorHandler output of text/html
2021-07-23 12:56:17 -05:00
Joakim Erdfelt 43954e7325
Fix javadoc issues
+ <td valign=""> attribute not supported
+ bad </p> in @param tag

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-07-22 07:46:00 -05:00
Joakim Erdfelt cb2aeb3c7a
Issue #6520 - Fixing ErrorHandler output of text/html
+ Updating tests to ensure that output is xml verified
+ Updating output to use `<hr>` element properly.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-07-16 20:15:55 -05:00
Joakim Erdfelt c245a70893 Updating to version 10.0.7-SNAPSHOT 2021-06-29 10:51:22 -05:00
Joakim Erdfelt 37e7731b4b Updating to version 10.0.6 2021-06-29 10:27:56 -05: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 26f57b5f7c
Merge pull request #6415 from eclipse/jetty-10.0.x-6383-FixFileBufferedResponseHandlerTest
Issue #6383 - Fix flaky test FileBufferedResponseHandlerTest
2021-06-21 16:37:24 +10:00
Lachlan Roberts 1e2eb02260 Issue #6383 - Make FileBufferedInterceptor package private
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-06-18 09:47:35 +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
Lachlan Roberts 710cd0d1ac Issue #6383 - Fix flaky test FileBufferedResponseHandlerTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-06-16 11:11:13 +10:00
Joakim Erdfelt 9d2d1e29b7 Updating to version 10.0.6-SNAPSHOT 2021-06-11 09:42:42 -05:00
Joakim Erdfelt dc21b2d73c Updating to version 10.0.5 2021-06-11 09:18:00 -05: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
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
Jan Bartel 103e1d95fd
Issue #6329 Fix xml config problems (#6348)
* Issue #6392 Review accidental xml config changes

Signed-off-by: Jan Bartel <janb@webtide.com>
2021-06-10 21:11:50 +10:00
Joakim Erdfelt 987066aac1 Updating to version 10.0.5-SNAPSHOT 2021-06-04 13:28:47 -05:00
Joakim Erdfelt 5523480c54 Updating to version 10.0.4 2021-06-04 13:09:44 -05:00
Simone Bordet 3a8af443f5
Fixes #6330 - CustomRequestLog is missing HTTP version format option. (#6362)
Simplified javadoc.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-06-04 16:17:48 +02:00
Jan Bartel de37267ae5
Issue #6327 Fix cookie leak test (#6344)
* Issue #6327 Fix cookie leak test

Signed-off-by: Jan Bartel <janb@webtide.com>
2021-06-04 15:08:53 +02:00
Lachlan Roberts 9cc7517d65 Issue #6330 - Improve javadoc for CustomRequestLog %H
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-06-04 15:05:07 +02:00
Jan Bartel f50c4fd4b4 Issue #6327 Remove an invalid RequestTest
Signed-off-by: Jan Bartel <janb@webtide.com>
2021-06-04 15:04:32 +02:00
Simone Bordet 21aba4a724 Fixes #6323 - HttpClient requests with redirects gets stuck/never calls onComplete()
* Reworked the total timeout handling.
* Now a CyclicTimeouts handles the exchanges in each HttpDestination,
and a CyclicTimeouts handles the exchanges in each HttpConnection
(rather than in HttpChannel).
* Now adjusting the total timeout for copied requests generated by
redirects and authentication.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
(cherry picked from commit 2e7d17400f)
2021-06-04 12:12:40 +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
Jan Bartel b0cd198b1b
Issue #6268 Log max form size exceeded msg. (#6301) (#6319)
* Issue #6268 Log max form size exceeded msg.

Signed-off-by: Jan Bartel <janb@webtide.com>
2021-05-25 15:39:01 +10:00
Simone Bordet 9ace21992e Updated POM versions to 10.0.4-SNAPSHOT.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-05-21 17:07:46 +02:00
Lachlan cd73338b84
Remove WebSocketComponents & HouseKeeper on Server restart. (#6218)
* Remove WebSocketComponents & HouseKeeper on Server restart.
* Add testing for cleanup of websocket when stopping server.
* Add removeFilterHolder and removeFilterMapping methods on ServletHandler.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-05-20 14:48:23 +02:00
Simone Bordet 67e2b4af2f
Fixes #5306 - Default jetty.*.acceptors should be 1. (#6236)
* Fixes #5306 - Default jetty.*.acceptors should be 1.

Changed the acceptor default to 1, with -1 calculating a value based on the number of cores.
Updated documentation.
Fixed a glitch in ManagedSelector.getMaxSelectedKeys() to return long, not double.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-05-20 09:34:07 +02:00
Ludovic Orban 1d5d8071ba review comments
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-05-19 17:23:01 +02:00
Ludovic Orban 6ed64e1e65 fix HttpChannelOverHTTP2 recycling order to make sure no demanding content can be left pending
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-05-19 17:23:01 +02:00
Jan Bartel cd6462a625
Issue #6277 Better handling of exceptions thrown in sessionDestroyed (#6278)
* Issue #6277 Better handling of exceptions thrown in sessionDestroyed

Signed-off-by: Jan Bartel <janb@webtide.com>
2021-05-16 09:45:50 +10: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
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
Greg Wilkins 1263732576
Fix #6227 Async timeout dispatch race (#6228) (#6231)
Fix #6227 Async timeout dispatch race
Only allow the thread calling onTimeout to call dispatch and complete once timeout has expired.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-05-06 07:45:27 +10:00
Ludovic Orban 973dfcf4f7 consumeAll: fail content with static exception except when debug logs are enabled + move exception management from HttpInput to ContentProducer
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-04-28 13:15:51 +02:00
Lachlan 3b88b4713c
Merge pull request #6176 from eclipse/jetty-10.0.x-5817-CustomRequestLogFiltering
Issue #5817 - allow CustomRequestLog to be filtered with BiPredicate
2021-04-27 16:04:54 +10:00
Lachlan Roberts 988e158db3 Improve javadoc for CustomRequestLog.setFilter
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-04-26 16:46:53 +10:00
Ludovic Orban 25467f8904 Improve handling of HttpInput.Interceptor behavior
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-04-19 10:32:23 +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 Roberts 382aed8374 Issue #5817 - allow CustomRequestLog to be filtered with BiPredicate
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-04-15 19:03:50 +10:00
Simone Bordet e163b001c3 Fixes #6105 - HttpConnection.getBytesIn() incorrect for requests with chunked content
Moved recording of bytes to fillRequestBuffer(),
so they are accounted also for async reads.
Added test case.
Fixed test that was too strictly comparing HttpConnection.bytesIn,
that now report a correct, but larger value.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
(cherry picked from commit aed20abcbe)
2021-04-10 18:51:54 +02: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
Lachlan d7de3ea660
Merge pull request #6092 from eclipse/jetty-10.0.x-6084-GzipHandlerCompressionPool
Issue #6084 - CompressionPools should not be configured through the GzipHandler
2021-03-31 11:08:52 +11:00
Greg Wilkins 20fae6485c
Jetty 10.0.x #5684 disabled tests (#6081)
* Fixes for #5684
Simplified CyclicTimeoutTest#testBusy
InclusiveByteRange clears range list on errors
InclusiveByteRange is forgiving of tab separators and leading 0s

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-03-30 22:24:56 +02:00
Olivier Lamy a0796d1055 Updating to version 10.0.3-SNAPSHOT 2021-03-26 06:31:31 +00:00
Olivier Lamy 7bd207b309 Updating to version 10.0.2 2021-03-26 06:13:42 +00:00
Olivier Lamy d27363fa55 back to 10.0.2-SNAPSHOT
Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2021-03-26 06:10:47 +00:00
Jesse McConnell 7a9e01ac56
Updating to version 10.0.3-SNAPSHOT 2021-03-25 10:38:15 -05:00
Jesse McConnell aac6bfbd48
Updating to version 10.0.2 2021-03-25 10:21:44 -05:00
Simone Bordet 6fca106160 Reverted version to 10.0.2-SNAPSHOT.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-03-25 16:02:45 +01:00
Simone Bordet e068119bc3 Issue #6085 Fix duplicate valid session cookies to pick first valid.
Cosmetic changes.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-03-25 15:53:03 +01:00
Simone Bordet 43562774a8 Issue #6085 Fix duplicate valid session cookies to pick first valid.
Signed-off-by: Jan Bartel <janb@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-03-25 15:53:03 +01:00
Lachlan Roberts 3ad772e5e7 Issue #6084 - Add setters for the Deflater/Inflater pool used by GzipHandler.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-03-25 20:24:24 +11:00
Olivier Lamy 3d0574d64c Updating to version 10.0.3-SNAPSHOT 2021-03-25 04:10:39 +00:00
Olivier Lamy ab235ad687 Updating to version 10.0.2 2021-03-25 03:57:25 +00:00
Jan Bartel fd05a3d19c
Issue #6085 Fix reference counts for multiple valid cookies for sessions (#6088) (#6096)
* Issue #6085 Fix reference counts for multiple valid cookies for sesssions

Signed-off-by: Jan Bartel <janb@webtide.com>
2021-03-25 09:37:17 +11:00
Greg Wilkins 303e031235
Added before dependents to Modules (#6080)
Added `before` section to a module to control ordering
rename `options` section to `after`

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2021-03-24 13:31:36 +01:00
Greg Wilkins d80c622b00
Merge pull request from GHSA-v7ff-8wcx-gmc5 (#6089)
Always normalize ambiguous URIs

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-03-24 05:54:06 +01:00
Olivier Lamy d9db52f1d7
add an easy way to configure useInputDirectByteBuffers/useOutputDirectByteBuffers for HttpConfiguration (#6055)
* add an easy way to configure useInputDirectByteBuffers/useOutputDirectByteBuffers for HttpConfiguration

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2021-03-24 14:17:04 +10:00
Lachlan Roberts df87b6e21e Issue #6084 - Add warnings for deprecated GzipHandler methods for CompressionPool capacity.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-03-24 14:07:58 +11:00
Lachlan Roberts df13b33bfb Issue #6084 - CompressionPools should not be configured through the GzipHandler.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-03-24 13:56:07 +11:00
Joakim Erdfelt cba4864fef
Issue #5996 - Remove logback-access.mod (#6002)
* Issue #5996 - Removing logback-access.mod

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-03-24 03:21:45 +01:00
Greg Wilkins 0d91f33b79
Fix #6076 Protect from null local certificates (#6078)
Fix #6076 Protect from null local certificates
cache resulting X509 in session

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2021-03-23 22:17:40 +01:00
Joakim Erdfelt be22761a20 Fixes #6072 - jetty server high CPU when client send data length > 17408.
Avoid spinning if the input buffer is full.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-03-22 23:24:57 +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
Lachlan c664d673e0
Merge pull request #6033 from eclipse/jetty-10.0.x-6008-RequestLogFix
Issue #6008 - fix RequestLog usage with filePath.
2021-03-11 15:28:20 +11:00
Lachlan Roberts 671a76c613 Issue #6008 - add default ini line for jetty.requestlog.dir
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-03-10 21:37:30 +11:00
Lachlan Roberts c1215e46c2 Issue #6008 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-03-09 18:35:34 +11: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
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