Commit Graph

23139 Commits

Author SHA1 Message Date
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 f10ae7c955
Merge pull request #6649 from eclipse/jetty-10.0.x-jetty-jaspi
Issue #6406 - backport of jetty-jaspi changes to jetty-10 (#6412)
2021-08-27 13:20:51 +10:00
Lachlan 5954fc2ca2
Merge pull request #6569 from eclipse/jetty-10.0.x-6554-SecurityHandler
Issue #6554 - create the DefaultIdentityService even if no realmName is provided
2021-08-27 13:12:35 +10:00
Lachlan Roberts 4d579d682c Issue #6406 - backport jetty-jaspi changes to 10.0.x
Co-authored-by: Frode Carlsen <frode.odde.carlsen@nav.no>
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-27 11:30:16 +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 3badb8629f
Merge pull request #6655 from eclipse/jetty-10.0.x-6654-websocket-upgrade-npe-request-cookies
Issue #6654 - Fix NPEs from bad Servlet API use
2021-08-25 13:48:30 -05:00
Joakim Erdfelt 325739b0fc
Merge pull request #6663 from eclipse/jetty-10.0.x-6661-windows-socket-setoptions
Issue #6661 - Make ServerConnector socket options setting optional
2021-08-25 06:03:30 -05:00
Simone Bordet e8beb58baf Fixes #6652 - Improve ReservedThreadExecutor dump. (#6653)
Fixes #6652 - Improve ReservedThreadExecutor dump.

Filtering out non-reserved threads in dump() and doStop().

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Greg Wilkins <gregw@webtide.com>
(cherry picked from commit b2a023675c)
2021-08-25 10:18:04 +02:00
Lachlan Roberts 705fe19e2a Issue #6554 - add test for creation of DefaultIdentityService
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-25 12:10:06 +10:00
Joakim Erdfelt 18b66d1d47
Merge pull request #6622 from eclipse/jetty-10.0.x-upgrade-slf4j
Bump slf4j to 2.0.0-alpha4
2021-08-24 16:49:01 -05: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
Joakim Erdfelt a82b45c5fb
Issue #6654 - Fix NPEs from bad Servlet API use
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-08-24 09:05:47 -05:00
Lachlan e3e630bdf0
Merge pull request #6568 from eclipse/jetty-10.0.x-6553-SecurityHandler
Issue #6553 - give 403 response if UNAUTHENTICATED and auth is mandatory
2021-08-24 14:04:54 +10:00
Joakim Erdfelt 32e6698f0b
Issue #6654 - Fix NPEs from bad Servlet API use
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-08-23 16:01:32 -05:00
Joakim Erdfelt 401f1959d2
Issue #6654 - Fix NPEs from bad Servlet API use
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-08-23 11:38:15 -05:00
Lachlan Roberts a508fc5eef Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-6553-SecurityHandler 2021-08-20 20:19:25 +10:00
Lachlan Roberts b854b0b1db Issue #6553 - revert behaviour for DeferredAuthentication
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-20 20:17:25 +10:00
Lachlan Roberts a27018bc39 Issue #6553 - add tests, use 401 code instead of 403, add same check for DeferredAuth
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-20 20:00:31 +10:00
Jan Bartel b2c420a124
Issue #6327 Ensure TempDirTest runs in envs other than CI (#6638)
* Issue #6327 Ensure TempDirTest runs in envs other than CI

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

* pass sysproperty env=ci to surefire run

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

Co-authored-by: Olivier Lamy <oliver.lamy@gmail.com>
2021-08-20 11:40:18 +10:00
Simone Bordet 9f896c6390 Fixes #6624 - Non-domain SNI on java17
Java 17 only allows letter|digit|hyphen characters for SNI names.

While we could bypass this restriction on the client, when the SNI bytes arrive to the server they will be verified and if not allowed the TLS handshake will fail.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
(cherry picked from commit 693663a4ce)
2021-08-19 13:56:29 +02:00
Lachlan c150ce6859
Merge pull request #6621 from eclipse/jetty-10.0.x-6617-openidBasicAuth
Issue #6617 - add support for the client_secret_basic authentication method
2021-08-19 16:19:15 +10:00
Lachlan ee24872d09
Merge pull request #6620 from eclipse/jetty-10.0.x-6618-OpenID-audArray
Issue #6618 - azp claim should not be required for single value aud array
2021-08-19 09:36:33 +10:00
Olivier Lamy 1acf54ba59
Upgrade h2spec-maven-plugin to 1.0.6 (#6616)
Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2021-08-19 09:06:52 +10:00
Joakim Erdfelt efb09607f1
Bump slf4j to 2.0.0-alpha4
Also logback to 1.3.0-alpha9

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-08-18 05:44:51 -05:00
Lachlan Roberts ffc7f0595e Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-6618-OpenID-audArray 2021-08-18 11:27:36 +10:00
Lachlan Roberts 50798ff504 Issue #6617 - change jetty property name to jetty.openid.authMethod
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-18 10:43:50 +10:00
Jan Bartel a7a2ae6f84
Issue #6586 - remove unnecessary dependencies (#6599)
* Issue #6586 Remove unnecessary dependencies

Signed-off-by: Jan Bartel <janb@webtide.com>
2021-08-17 16:58:35 +10:00
Greg Wilkins a5b1845e60
Disable ipv6 test for #6624 (#6625) (#6629)
Temp disable of test that is breaking the build.
2021-08-17 16:15:00 +10: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
Lachlan Roberts af316e58ff Issue #6618 - Use a new OpenIdCredentials constructor instead of static method.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-17 13:31:49 +10:00
Lachlan b8370f679c
Merge pull request #6604 from eclipse/jetty-10.0.x-6602-SessionTrackerLeak
Issue #6602 - Do not leak WebSocket SessionTracker if closed in onOpen
2021-08-17 09:28:46 +10:00
Lachlan Roberts b0503091c2 Use correct auth method string in OpenIdConfiguration default constructor
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-17 09:24:02 +10:00
Joakim Erdfelt 518c13a636
Bump slf4j to 2.0.0-alpha4
Also logback to 1.3.0-alpha9

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-08-16 10:46:18 -05:00
Lachlan Roberts b91c3fdbb0 Issue #6617 - add support for the client_secret_basic authentication method
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-16 15:43:19 +10:00
Lachlan Roberts 9af67f8bff Issue #6618 - azp claim should not be required for single value aud array
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-16 10:45:26 +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
Greg Wilkins 2b0161e743
Fix #6476 Use dry run in jetty.sh (#6598)
* Fix #6597 Use dry run in jetty.sh

Use a --dry-run in jetty.sh to pre-expand the java arguments and thus avoid having two JVMs running in the case of exec.

Also made a small change to allow script to check the current directory for JETTY_BASE, as that allows testing and runs in the same style as direct calls to start.jar

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2021-08-13 17:37:51 +02:00
Simone Bordet 4af93b5e19
Issue #6476 - warn on exec (#6597)
Fixes #6476 - Show message if JVM args are present but new JVM is spawned

* Improved documentation by correctly redacting out `jetty-halt.xml`,
an XML file that is only necessary for rendering the documentation.
* Added WARN message when new JVM is spawned.
* Updated documentation.
* Updated --list-config to report whether a JVM is forked.
* Added test case.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-08-13 17:32:53 +02:00
Ludovic Orban 324fe5e3ee #6327 enable testDefaultServletSuccess
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-08-12 10:47:24 +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 15bef0c9ed #6327 rework testRequestIdleTimeout and merge http(s) and fcgi test
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-08-12 10:47:24 +02:00
Ludovic Orban c818581185 #6327 more latches, less sleeps
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-08-12 10:47:24 +02:00
Ludovic Orban 1a15f2c48d #6327 enable more disabled tests, using awaitility and shortening wasteful sleeps
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-08-12 10:47:24 +02:00
Ludovic Orban 0108a197e8 #6327 enable disabled HttpConnectionLifecycleTest tests, using awaitility to remove wasteful sleeps
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-08-12 10:47:24 +02:00
Ludovic Orban 6881ee9a6a #6327 make SelectorManagerTest.testConnectTimeoutBeforeSuccessfulConnect always enabled, using latches and less wasteful timeouts
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-08-12 10:47:24 +02:00
Ludovic Orban 0a98a37cb6 #6327 wait for the request to be committed before sending the data
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-08-12 10:47:24 +02:00
Ludovic Orban 72505af846 #6327 stop relying on timeouts to abort tested requests
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-08-12 10:47:24 +02:00
Ludovic Orban 8766bddb50 #6327 improve test
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-08-12 10:47:24 +02:00