Commit Graph

1808 Commits

Author SHA1 Message Date
Lachlan Roberts 2f668353ac
PR #11883 - changes from review
Signed-off-by: Lachlan Roberts <lachlan.p.roberts@gmail.com>
2024-07-25 10:29:36 +10:00
Jan Bartel 37fbd4167c Issue #12086 change mimetype of .ico resource to vnd.microsoft.icon 2024-07-25 08:18:05 +10:00
Ludovic Orban 834db77605
Implement HttpContent.writeTo() async API (#12020)
#8790 implement HttpContent.writeTo() async API

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-07-24 14:07:31 +02:00
Jan Bartel d43da5279c Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.1.x 2024-07-24 16:10:27 +10:00
Jan Bartel 558da27c2d
Issue #12044 ensure temp dir cleaned up (#12045)
* Issue #12044 ensure temp dir cleaned up
2024-07-24 14:20:52 +10:00
Lachlan Roberts 32b7043932 add javadoc for test classes
Signed-off-by: Lachlan Roberts <lachlan.p.roberts@gmail.com>
2024-07-23 17:55:37 +10:00
Lachlan Roberts 9ea7431c43 changes from review
Signed-off-by: Lachlan Roberts <lachlan.p.roberts@gmail.com>
2024-07-23 17:42:07 +10:00
Lachlan Roberts 52c6c88de6
add siwe.mod, distribution tests and documentation
Signed-off-by: Lachlan Roberts <lachlan.p.roberts@gmail.com>
2024-07-23 11:11:18 +10:00
Ludovic Orban 7ca1ef707e
Merge pull request #12064 from jetty/merge/jetty-12.1.x/update-from-12_0
Merge Jetty 12.0 into Jetty 12.1
2024-07-22 10:59:17 +02:00
gregw b83eefdca9 Fixed deprecation annotations 2024-07-22 17:12:14 +10:00
Ludovic Orban 7b3e953e56
Merge remote-tracking branch 'origin/jetty-12.0.x' into merge/jetty-12.1.x/update-from-12_0 2024-07-19 11:02:16 +02:00
Ludovic Orban a0d8f077f4 move core demos from jetty-core to jetty-demos
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-07-18 16:51:40 +02:00
Olivier Lamy c43410f94e
h2spec plugin version 1.0.12 (#11974)
* Use h2spec plugin new release 1.0.12

---------

Signed-off-by: Olivier Lamy <olamy@apache.org>
2024-07-16 10:52:50 -05:00
Ludovic Orban 964c2ea2d6 revert invalid changes
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-07-16 15:38:00 +02:00
Ludovic Orban d02d2eb8bd handle review comments
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-07-16 15:38:00 +02:00
Ludovic Orban f5db5209f4 #12022 fix NPE when GzipHandler is writing and an exception is thrown by the wrapping's Response.write()
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-07-16 15:38:00 +02:00
Greg Wilkins 12db285f17
Remove usage of a SecurityManager from EE11 (#12032)
Use callAs rather than doAs
Disable after java 21
2024-07-15 13:32:34 +10:00
Lachlan Roberts aa945d5bd1
add jetty module for siwe
Signed-off-by: Lachlan Roberts <lachlan.p.roberts@gmail.com>
2024-07-15 12:03:05 +10:00
Ludovic Orban 1a38b6884e
Make `Fields` interpret null values as empty strings (#12024)
#12018 make Fields interpret null values as empty strings

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-07-12 10:55:12 +02:00
Lachlan Roberts 225e89cb83
update version for jetty-siwe pom.xml
Signed-off-by: Lachlan Roberts <lachlan.p.roberts@gmail.com>
2024-07-12 15:12:13 +10:00
Lachlan Roberts 40062287fd
Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-SignInWithEthereum 2024-07-12 15:06:27 +10:00
Jan Bartel 1a43fbac7c
Issue #12019 ensure cmd line properties files applied (#12026) 2024-07-12 09:49:17 +10:00
Ludovic Orban 17c8a76efb
Deny HTTP/3 connection creation for clients missing cert when needClientAuth is true (#12014)
#11996 deny connection creation for clients missing needed cert

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-07-10 23:17:14 +02:00
Ludovic Orban 8f5207e6ca
Fix broken client tls negotiation (#11999)
#11965 make EMPTY_BUFFER not read-only anymore

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-07-10 16:52:51 +02:00
gregw 8735fee1dd Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.1.x
# Conflicts:
#	documentation/jetty-asciidoctor-extensions/pom.xml
#	documentation/jetty-documentation/pom.xml
#	jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java
#	jetty-core/jetty-server/src/test/java/org/eclipse/jetty/server/ResponseTest.java
2024-07-10 09:20:02 +10:00
Greg Wilkins 46204a86ff
Jetty 12.0.x resource Servlet (#11933)
Introduce ResourceServlet
* Split DefaultServlet into ResourceServlet
* Added tests for Resource and Default Servlet
* Improved documentation of the ResourceServlet
* Fixed the documentation
2024-07-10 09:05:56 +10:00
Greg Wilkins 29d27f7373
Fix #265 list licenses (#11993)
List licenses in --list-classpath
Add SPDX to all our manifests
handle License and Licence
2024-07-10 09:04:23 +10:00
Greg Wilkins c880d9309b
Added a `UriCompliance.Violation.USER_INFO` to deprecate user info in `HttpURI` (#12012)
As per [RFC9110](https://datatracker.ietf.org/doc/html/rfc9110#name-deprecation-of-userinfo-in-) user info is deprecated in server implementations.
The new violation for USER_DATA is included by default in 12.0.x, but will be removed in 12.1.x
2024-07-10 09:02:55 +10:00
Ludovic Orban 78e605ac40
Upgrade quiche to version 0.22.0 (#11995)
upgrade quiche to version 0.22.0

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-07-08 12:17:14 +02:00
Lachlan Roberts 70e619208d PR #11883 - fixes to EthereumCredentials
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-07-05 18:59:24 +10:00
Lachlan Roberts ac5925ad00 PR #11883 - test fixes and cleanup
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-07-05 18:20:32 +10:00
Lachlan Roberts 90e5919dac PR #11883 - javadoc and code cleanup
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-07-05 17:13:01 +10:00
Lachlan Roberts 436ca41c81 Issue #11560 - Implement EIP-4361 Sign-In With Ethereum
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-07-05 15:47:17 +10:00
gregw cd070ce6db Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.1.x
# Conflicts:
#	jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/InstructionFlusher.java
#	jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/ArrayByteBufferPool.java
#	jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/content/BufferedContentSink.java
#	jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/ContextScopeListenerTest.java
#	jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HttpOutput.java
2024-07-02 15:00:04 +10:00
gregw 5903efdf96 Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.1.x
# Conflicts:
#	jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/InstructionFlusher.java
#	jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/ArrayByteBufferPool.java
#	jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/content/BufferedContentSink.java
#	jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/ContextScopeListenerTest.java
#	jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HttpOutput.java
2024-07-01 11:05:47 +10:00
Joakim Erdfelt f5abe07ade
Updating to version 12.0.12-SNAPSHOT 2024-06-27 19:09:24 -05:00
Joakim Erdfelt 9f90cedce3
Updating to version 12.0.11 2024-06-27 18:42:08 -05:00
Greg Wilkins 5e8cc2243e
Remove buffer from pool on write failure (#11951)
* Experiment with removable buffer from pool
* Changed remove return to be release boolean
* Fixes to avoid double release
* Tracking ByteBufferPool handles remove
* Adding assert on _channelState.isLockHeldByCurrentThread()

---------

Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2024-06-27 18:37:09 -05:00
Joakim Erdfelt f89e3b8aee
Merge pull request #11950 from jetty/experiment/jetty-12.0.x/11932-icb-subclasses
Make succeeded and failed in ICB final + introduce onSuccess
2024-06-27 12:00:27 -05:00
Joakim Erdfelt 2caf9c11c0 Cleanup XML environment specific deployment AppProviders 2024-06-27 11:48:37 -05:00
Joakim Erdfelt c7ad22e861
Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.1.x 2024-06-27 06:45:25 -05:00
Ludovic Orban c0af0e6d8d
#11932 revert final modifier
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-06-27 11:47:54 +02:00
Ludovic Orban 6188757500
#11932 fix bug in case of invalid action + add test
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-06-27 11:47:53 +02:00
Ludovic Orban cea6b4ad98
#11932 improve javadoc
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-06-27 11:46:41 +02:00
Ludovic Orban d3c93bde27
#11932 simplify queue handling
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-06-27 11:46:40 +02:00
Ludovic Orban 25bbdb5efc
#11932 refactor H3 message flusher to have ICB succeeded and failed final
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-06-27 11:46:39 +02:00
Ludovic Orban 6d0bddc07a
#11932 make succeeded and failed in ICB final + introduce onSuccess
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-06-27 11:46:18 +02:00
Greg Wilkins 15bcc5ecb0
Cleanups extracted from delayed PR #11876 (#11958)
* Cleanups extracted from delayed PR #11876

* Update from review
2024-06-26 16:49:58 +10:00
Lachlan f21bbcf40f
Merge pull request #11906 from jetty/jetty-12.0.x-coreMultiPart
Improve support for MultiPart in jetty-core
2024-06-26 12:57:35 +10:00
gregw efc20894ad Fix #11956 2024-06-25 23:29:56 +10:00
Joakim Erdfelt f78f4422f5
Issue #11925 - Fix Etag NPE when using URLResource and improve Base Resource is alias warning (#11930)
* Issue #11925 - ee9 DefaultServlet and suffix url-patterns.
* Issue #11925 - Fix NPE in EtagUtils with URLResource
* Issue #11925 - Make error message "Base Resource should not be an alias" more useful.
* Set <reuseForks> to false for problematic tests.
2024-06-25 08:11:35 -05:00
gregw d818a98cba Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.1.x
# Conflicts:
#	jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/Content.java
#	jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/ContextScopeListenerTest.java
2024-06-25 15:19:32 +10:00
Greg Wilkins 718c6fce51
Content.Source from methods (#11949)
Introduce Content.Source.from methods
These isolate code from specific implementations (which could even be made internal)
2024-06-25 12:32:29 +10:00
gregw 4228f8e76b Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.1.x 2024-06-25 09:32:38 +10:00
Greg Wilkins 36538d6e69
RetainableByteBuffer as mutable (#11801)
Tweaks to the RBB API to make the concept more uniform throughout the codebase.

* Make chunk a RBB
* Added Dynamic RBB as a replacement for both Accumulator and Aggregator

---------

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
2024-06-25 08:12:41 +10:00
Joakim Erdfelt 930ebc4b31
Merge pull request #11945 from jetty/fix/12.0.x/multipart-part-delete-existence-check
Issue #11944 - Part.delete() should only attempt to delete if the file exists
2024-06-24 07:23:48 -05:00
Lachlan Roberts af0902fdcf Issue #11906 - change default of useFilesForPartsWithoutFileName to true
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-06-24 15:36:17 +10:00
Lachlan Roberts c845b553fb Issue #11906 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-06-24 15:32:13 +10:00
Greg Wilkins 4f4bec0624
ByteChannelContentSource (#11910)
Introduces a ByteChannelContentSource which is needed for the spring framework integration.

It also introduces a few minor utilities:

a ByteBufferPool.Sized class that is a ByteBufferPool.Wrapper with a configured size and type so a no args acquire() method can be called. This avoid the need to many classes to have a three fields: pool, size and direct and also can avoid constructors/methods with size and direct
an ExceptionUtil.run(Runnable, Consumer<Throwable> failure) that is a simple try catch and avoids many private methods being created to do just that.
2024-06-24 14:35:23 +10:00
Lachlan Roberts c7249c7156 Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.0.x-coreMultiPart 2024-06-24 12:44:22 +10:00
Lachlan Roberts 9de9a487e1 PR #11906 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-06-24 12:43:55 +10:00
Lachlan Roberts 4a33439a8f PR #11906 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-06-24 11:48:11 +10:00
Greg Wilkins 1e241d8ed5
Servlet 61 cookie fixes (#11936)
* Fix #11934 Servlet 6.1 Cookies
* Added compliance mode MAINTAIN_QUOTES to keep the quotes as part of the cookie value.  Added mode RFC6265_QUOTED that includes this violation
* Never send a zero valued max-age parameter
* Partitioned is set if any attribute that is not "false" is set.
* Avoid equal sign for empty valued attributes
* Pushed responses delete max-age==0 cookies
2024-06-23 13:13:18 +10:00
Joakim Erdfelt 82faaee276
Merge remote-tracking branch 'origin/jetty-12.0.x' into fix/12.0.x/multipart-part-delete-existence-check 2024-06-21 15:41:56 -05:00
Joakim Erdfelt 25bb6a2104
Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.1.x 2024-06-21 15:28:23 -05:00
Joakim Erdfelt 99faa7a9a6
Fixing FileIDTest 2024-06-21 15:26:00 -05:00
Joakim Erdfelt 9f077aaeb3
Issue #11944 - Part.delete() should only attempt to delete if the file exists. 2024-06-21 13:40:06 -05:00
Joakim Erdfelt b15cfd125d
Update URLs for new jetty locations 2024-06-21 13:33:46 -05:00
Joakim Erdfelt aac0353092
Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x 2024-06-21 13:30:06 -05:00
Jan Bartel 8a0c4da385
Issue #11942 Update PoweredBy to reference new jetty.org site (#11943) 2024-06-21 04:33:15 +02:00
Jan Bartel fd263c727d
Jetty 12.0.x object identity ee8 and ee9 (#11888)
* Fix for ee8/9 object identity
2024-06-20 07:53:53 +02:00
Lachlan Roberts 65fa7afc77 PR #11906 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-06-20 12:40:21 +10:00
Joakim Erdfelt af23f51d92
Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.1.x 2024-06-19 16:18:15 -05:00
Jan Bartel 6ee17f002c
Issue #11847 implement environment context xml (#11859)
* Issue #11847 implement environment context xml
2024-06-19 09:36:06 +02:00
Lachlan Roberts 0fe432bc49 PR #11906 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-06-19 12:07:39 +10:00
Greg Wilkins 95059356c9
Fix contains in HttpFields name set and prove random access to HttpFields via EnumMap not worth it. (#11846)
Fix #11811 with javadoc and  benchmark
2024-06-19 09:32:49 +10:00
Ludovic Orban 9546b3ab49
Fix missing notifyRemoteAsyncErrors http config wiring (#11897)
Fixed missing notifyRemoteAsyncErrors http config wiring and add tests

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-06-18 20:00:04 +02:00
Lachlan 745cba4a6a
Merge pull request #11907 from jetty/jetty-12.0.x-openid
Fix openid.mod files for Jetty 12
2024-06-18 15:58:46 +10:00
Lachlan Roberts 6661eea1ee PR #11906 - fix to MultiPartCaptureTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-06-17 13:49:58 +10:00
Lachlan Roberts 3dcf266cf8 PR #11906 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-06-17 13:37:50 +10:00
Greg Wilkins d34556749f
Simplified Reactive Stream update for ContentSourcePublisher (#11849)
* Issue #11803 - Follow Reactive Streams specification
* Simplification of #11804 for Reactive Stream specification support

---------

Co-authored-by: Artem Golovko <artemgolovko98@gmail.com>
Co-authored-by: Olivier Lamy <olamy@apache.org>
2024-06-14 08:31:46 +10:00
Lachlan Roberts 34e27067f6 PR #11907 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-06-13 16:33:44 +10:00
Joakim Erdfelt a616acac9e
Issue #11909 - duplicate --modules=<name> can trigger ConcurrentModificationException
+ Reworked tracking of enabled modules to not
  trigger change in "sources" Set if the module
  is already enabled.
2024-06-12 13:21:56 -05:00
Simone Bordet 8e6ab939f5
Fixes #11892 - mtls not working with http/3. (#11900)
The client certificate is now exposed in QuicheConnection, so that it can be returned by QuicStreamEndPoint.getSslSessionData().

Not much else is exposed by Quiche, so not much else that we can provide to applications, for example no TLS session id, no cipher suite, etc.

Fixed --enable-native-access command line option to run tests, as the foreign dependency is in the class-path.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-06-12 17:29:16 +02:00
Lachlan Roberts 6278ad8f77 PR #11907 - add newlines to end of openid .mod files
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-06-12 12:18:04 +10:00
Jan Bartel 9d0a457e59
Fix #11902 undeprecate addHiddenClasses(Attributes, String...) (#11903) 2024-06-12 03:20:14 +02:00
Lachlan Roberts bc24f87303 Fix openid.mod files for Jetty 12
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-06-12 01:11:03 +10:00
Lachlan Roberts 362b582c50 fix failing tests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-06-11 23:53:53 +10:00
Lachlan Roberts 9862e2e365 Improve support for MultiPart in jetty-core
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-06-11 23:25:30 +10:00
Lachlan Roberts 76cf685763 Improve support for MultiPart in jetty-core
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-06-11 19:01:55 +10:00
Gary Gregory 1f78946a5c
Add response to debug log event in HttpSender#failRequest() (#11878)
Signed-off-by: Gary Gregory <garydgregory@gmail.com>
2024-06-06 02:40:26 +02:00
Joakim Erdfelt 8b506b4f28
Merge remote-tracking branch 'origin/release/12.0.10' into jetty-12.0.x 2024-06-04 11:39:43 -05:00
Joakim Erdfelt f653c2f658
Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.1.x 2024-06-04 10:48:58 -05:00
Lachlan Roberts 21f8e58e04 Issue #11873 - fixes for getDefaultFavicon and getDefaultStyleSheet in Server
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-06-04 13:47:02 +10:00
Olivier Lamy fb1697fd07
Updating to version 12.0.11-SNAPSHOT 2024-05-30 15:23:16 +10:00
Olivier Lamy 26106dfc84
Updating to version 12.0.10 2024-05-30 14:39:40 +10:00
Olivier Lamy e1c7a7ca02 commented code
Signed-off-by: Olivier Lamy <olamy@apache.org>
2024-05-30 04:25:16 +02:00
Olivier Lamy a4e186fb19 comment flaky part of the test
Signed-off-by: Olivier Lamy <olamy@apache.org>
2024-05-30 04:25:16 +02:00
Simone Bordet a089fbf3ea
Fixes #9778 - Jetty 12 - Remove WriteFlusher.Listener. (#11839)
* Fixes #9778 - Jetty 12 - Remove WriteFlusher.Listener.

This listener is not necessary anymore, as the min data rate checks have been moved to a StatisticsHandler.MinimumDataRateHandler.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-05-29 10:13:25 +02:00
Jan Bartel 5dc9a73970
Jetty 12.1.x move demos (#11836)
* Refactor all ee demos to remove duplicates
2024-05-28 07:59:10 +02:00
Lachlan bc03176224
Issue #11745 - fix the environment var for the GAE Instance in id-manager.xml (#11797)
* Issue #11745 - fix the environment var for the GAE Instance in id-manager.xml

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-05-28 03:54:59 +02:00
Jan Bartel 810eccaeea Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.1.x 2024-05-28 10:23:00 +10:00
Greg Wilkins 042582813f
Fix #9177 dump JVM info (#11845)
Fix #9177 dump info from Runtime, Jetty.VERSION and System.getProperties
2024-05-28 10:14:48 +10:00
Greg Wilkins 7e36f3c6e9
Fix #11507 getAttribute javadoc (#11843)
Fix #11507 getAttribute javadoc.
As some stage we should consider @Nullable or @NotNull annotations...
2024-05-28 08:06:06 +10:00
Simone Bordet e782f91ef2 Fixes #1470 - Replace Timer use with Jetty Scheduler.
Removed usages of the Timer class.

Deprecated TimerScheduler.

Code cleanup in ee10 classes.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-05-27 22:38:17 +02:00
Simone Bordet 65a016d1aa Fixes #11778 - jetty-http-spi does not properly provide SPI for modules.
Fixed all module-info.java files that did not have a "provides" declaration but had META-INF/services files.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-05-27 11:05:48 +02:00
Simone Bordet 36cdc12ab7 Fixed JPMS declarations.
Some require transitive was missing, and has been added.
In other cases, making a field private (e.g. for log instances) made the warning go away.
In another case, removed explicit dependency on websocket core exception, as it was not necessary.

Clean up the POMs for jetty-eeN-annotations, that had unnecessary dependencies.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-05-23 22:06:01 +02:00
Greg Wilkins eafa7ab0d6
Fix #11756 empty byte array for no content in ChunkAccumulator (#11827)
Fix #11756 empty byte array for no content in ChunkAccumulator
2024-05-23 06:45:27 +10:00
Greg Wilkins 10d0898460
Fix #11811 insensitive header name set (#11823)
* Fix #11811 insensitive header name set

Fix #11811 insensitive header name set by:
 + Using a EnumSet and TreeSet to ensure no duplicates in the set
 + Using an ArrayList to preserve the ordering (not necessary, but useful).

* updates from review
2024-05-23 06:42:01 +10:00
Ludovic Orban 07991f41d3
Allow ContentListener and AsyncContentListener to throw Exception (#11825)
#11800 allow ContentListener and AsyncContentListener to throw Exception

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-05-22 09:28:16 +02:00
gregw f684b69977 Merge branch 'jetty-12.0.x' into jetty-12.1.x 2024-05-22 15:42:00 +10:00
Greg Wilkins 1b82757854
Fix Deprecated ClassMatcher #11767 (#11769)
Fix #11767 by making deprecated ClassMatcher class wrap the util ClassMatcher

Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2024-05-21 10:42:33 +10:00
Greg Wilkins a1b3acb08a
Fixed header cache for unknown values (#11808)
Avoid adding the unknown marker into the CACHE index. Issue introduced in #11661 fixing #11659
2024-05-21 10:40:43 +10:00
Simone Bordet ac47ae8d22
Merged branch 'jetty-12.0.x' into 'jetty-12.1.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-05-20 22:58:06 +02:00
Greg Wilkins 4c1c6a2652
Implemented servlet 6.1 redirect with content (#11743)
* Implemented servlet 6.1 redirect with content

Added option for server to generate a short html redirect body content, as per RFC9110 (default false)
Allowed an aggregated servlet response content to be used if clear is false.

* Redirect is a noop in include

* Fixed init order

This style of extensibility (calling virtuals from constructors) is very fragile.

* Update javadoc from review

Also update EE10 to also noop included response methods

* Update javadoc from review

Also update EE10 to also noop included response methods

* Update javadoc from review

Also update EE10 to also noop included response methods

* Update jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/ServletApiResponse.java

Co-authored-by: Jan Bartel <janb@webtide.com>

* Updating ee11 jsp-impl to 11.0.0-M19

* Updates from review

* updates from review

* Update jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java

Co-authored-by: Simone Bordet <simone.bordet@gmail.com>

---------

Co-authored-by: Jan Bartel <janb@webtide.com>
Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2024-05-20 23:20:24 +10:00
Simone Bordet a4c297011b
Fixes #11072 - Jetty 12: CompleteCallbackHandler (#11786)
Introduced StateTrackingHandler.

StateTrackingHandler is a troubleshooting Handler that helps to identify those cases where the Handler/Request/Response APIs are used improperly.

In particular, it tracks the events described in StateTrackingHandler.Listener, such as the Handler callback not completed, or blocking demand callback, or a write callback not completed, etc.

It also provides dump() capabilities, so the current requests and their state is dumped to help troubleshooting.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-05-19 19:32:37 +02:00
Ludovic Orban c97c995642
Don't create circular throwables and don't throw StackOverflowError if one gets logged (#11793)
#11792 detect loops in throwables to avoid StackOverflowError

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-05-17 11:39:01 +02:00
gregw 22ddb6db77 Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.1.x 2024-05-16 17:28:29 +10:00
Simone Bordet a9b2da533f
Fixes #11763 - Race condition in QoSHandler. (#11772)
* Fixes #11763 - Race condition in QoSHandler.

Now using a read-write lock to atomically execute expire().
This guarantees that there are no races with resume().

The concurrency between handle() and resume(), which should be the most common case, is handled by atomic data structures.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-05-14 10:37:00 +02:00
Ludovic Orban 33bc4f7376 #11777 change Index to allow null string keys to avoid having to add null checks
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-05-14 09:37:08 +02:00
Joakim Erdfelt 9160108b6b Issue #11776 - NPE proteection in Request.getServerPort
If the HttpURI is scheme-less, the attempt to get the port can result in a NPE
2024-05-14 09:37:08 +02:00
Ludovic Orban c54141a4cb #11736 do not rethrow already thrown exception
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-05-13 12:05:10 +02:00
Simone Bordet ceaaa9167c HTTP/2 parser improvements.
Refactored length checks so that they are mostly performed once, rather than multiple times, during parsing.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-05-13 09:32:10 +02:00
Simone Bordet e8dd649520
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-05-13 09:28:09 +02:00
Joakim Erdfelt 3632a57f27
Merge branch 'release/12.0.9' into jetty-12.0.x 2024-05-07 14:23:44 -02:00
Greg Wilkins b78e478ec4
Experiment with fully virtual VirtualThreadPool (#11501)
Virtual threads are used for all threading.
2024-05-07 19:10:48 +10:00
Lachlan 40abe265ff
Merge pull request #11753 from jetty/jetty-12.0.x-11748-PathMappings-MiddleGlob
Issue #11748 - fix in PathMappings for websocket pathParam matching
2024-05-07 11:57:31 +10:00
Olivier Lamy 9d21483e2a
jetty 12.0.x merge 11 (#11750)
* [10.0.x] Bump the build-deps group with 10 updates

Bumps the build-deps group with 10 updates:

| Package | From | To |
| --- | --- | --- |
| [org.apache.maven.plugin-tools:maven-plugin-tools-api](https://github.com/apache/maven-plugin-tools) | `3.11.0` | `3.12.0` |
| [org.apache.maven.plugin-tools:maven-plugin-annotations](https://github.com/apache/maven-plugin-tools) | `3.11.0` | `3.12.0` |
| [org.apache.maven.plugins:maven-deploy-plugin](https://github.com/apache/maven-deploy-plugin) | `3.1.1` | `3.1.2` |
| [org.apache.maven.plugins:maven-install-plugin](https://github.com/apache/maven-install-plugin) | `3.1.1` | `3.1.2` |
| [org.apache.maven.plugins:maven-jar-plugin](https://github.com/apache/maven-jar-plugin) | `3.3.0` | `3.4.1` |
| [org.apache.maven.plugins:maven-plugin-plugin](https://github.com/apache/maven-plugin-tools) | `3.11.0` | `3.12.0` |
| [org.apache.maven.plugins:maven-shade-plugin](https://github.com/apache/maven-shade-plugin) | `3.5.2` | `3.5.3` |
| [org.apache.maven.plugins:maven-source-plugin](https://github.com/apache/maven-source-plugin) | `3.3.0` | `3.3.1` |
| [org.apache.maven.plugins:maven-gpg-plugin](https://github.com/apache/maven-gpg-plugin) | `3.2.2` | `3.2.4` |
| [com.github.spotbugs:spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) | `4.8.3.1` | `4.8.4.0` |


Updates `org.apache.maven.plugin-tools:maven-plugin-tools-api` from 3.11.0 to 3.12.0
- [Release notes](https://github.com/apache/maven-plugin-tools/releases)
- [Commits](https://github.com/apache/maven-plugin-tools/compare/maven-plugin-tools-3.11.0...maven-plugin-tools-3.12.0)

Updates `org.apache.maven.plugin-tools:maven-plugin-annotations` from 3.11.0 to 3.12.0
- [Release notes](https://github.com/apache/maven-plugin-tools/releases)
- [Commits](https://github.com/apache/maven-plugin-tools/compare/maven-plugin-tools-3.11.0...maven-plugin-tools-3.12.0)

Updates `org.apache.maven.plugin-tools:maven-plugin-annotations` from 3.11.0 to 3.12.0
- [Release notes](https://github.com/apache/maven-plugin-tools/releases)
- [Commits](https://github.com/apache/maven-plugin-tools/compare/maven-plugin-tools-3.11.0...maven-plugin-tools-3.12.0)

Updates `org.apache.maven.plugins:maven-deploy-plugin` from 3.1.1 to 3.1.2
- [Release notes](https://github.com/apache/maven-deploy-plugin/releases)
- [Commits](https://github.com/apache/maven-deploy-plugin/compare/maven-deploy-plugin-3.1.1...maven-deploy-plugin-3.1.2)

Updates `org.apache.maven.plugins:maven-install-plugin` from 3.1.1 to 3.1.2
- [Release notes](https://github.com/apache/maven-install-plugin/releases)
- [Commits](https://github.com/apache/maven-install-plugin/compare/maven-install-plugin-3.1.1...maven-install-plugin-3.1.2)

Updates `org.apache.maven.plugins:maven-jar-plugin` from 3.3.0 to 3.4.1
- [Release notes](https://github.com/apache/maven-jar-plugin/releases)
- [Commits](https://github.com/apache/maven-jar-plugin/compare/maven-jar-plugin-3.3.0...maven-jar-plugin-3.4.1)

Updates `org.apache.maven.plugins:maven-plugin-plugin` from 3.11.0 to 3.12.0
- [Release notes](https://github.com/apache/maven-plugin-tools/releases)
- [Commits](https://github.com/apache/maven-plugin-tools/compare/maven-plugin-tools-3.11.0...maven-plugin-tools-3.12.0)

Updates `org.apache.maven.plugins:maven-shade-plugin` from 3.5.2 to 3.5.3
- [Release notes](https://github.com/apache/maven-shade-plugin/releases)
- [Commits](https://github.com/apache/maven-shade-plugin/compare/maven-shade-plugin-3.5.2...maven-shade-plugin-3.5.3)

Updates `org.apache.maven.plugins:maven-source-plugin` from 3.3.0 to 3.3.1
- [Commits](https://github.com/apache/maven-source-plugin/compare/maven-source-plugin-3.3.0...maven-source-plugin-3.3.1)

Updates `org.apache.maven.plugins:maven-gpg-plugin` from 3.2.2 to 3.2.4
- [Release notes](https://github.com/apache/maven-gpg-plugin/releases)
- [Commits](https://github.com/apache/maven-gpg-plugin/compare/maven-gpg-plugin-3.2.2...maven-gpg-plugin-3.2.4)

Updates `com.github.spotbugs:spotbugs-maven-plugin` from 4.8.3.1 to 4.8.4.0
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.8.3.1...spotbugs-maven-plugin-4.8.4.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugin-tools:maven-plugin-tools-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-deps
- dependency-name: org.apache.maven.plugin-tools:maven-plugin-annotations
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-deps
- dependency-name: org.apache.maven.plugin-tools:maven-plugin-annotations
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-deps
- dependency-name: org.apache.maven.plugins:maven-deploy-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-deps
- dependency-name: org.apache.maven.plugins:maven-install-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-deps
- dependency-name: org.apache.maven.plugins:maven-jar-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-deps
- dependency-name: org.apache.maven.plugins:maven-plugin-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-deps
- dependency-name: org.apache.maven.plugins:maven-shade-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-deps
- dependency-name: org.apache.maven.plugins:maven-source-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-deps
- dependency-name: org.apache.maven.plugins:maven-gpg-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-deps
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-deps
...

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

* [11.0.x] Bump the integration-deps group with 2 updates

Bumps the integration-deps group with 2 updates: [org.wildfly.security:wildfly-elytron](https://github.com/wildfly-security/wildfly-elytron) and [com.google.cloud:google-cloud-datastore](https://github.com/googleapis/java-datastore).


Updates `org.wildfly.security:wildfly-elytron` from 2.3.1.Final to 2.4.1.Final
- [Commits](https://github.com/wildfly-security/wildfly-elytron/compare/2.3.1.Final...2.4.1.Final)

Updates `com.google.cloud:google-cloud-datastore` from 2.19.0 to 2.19.1
- [Release notes](https://github.com/googleapis/java-datastore/releases)
- [Changelog](https://github.com/googleapis/java-datastore/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/java-datastore/compare/v2.19.0...v2.19.1)

---
updated-dependencies:
- dependency-name: org.wildfly.security:wildfly-elytron
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: integration-deps
- dependency-name: com.google.cloud:google-cloud-datastore
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: integration-deps
...

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

* [10.0.x] Bump the dev-dependencies group with 20 updates

Bumps the dev-dependencies group with 20 updates:

| Package | From | To |
| --- | --- | --- |
| [com.google.errorprone:error_prone_annotations](https://github.com/google/error-prone) | `2.26.1` | `2.27.0` |
| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.26.1` | `2.27.0` |
| [commons-codec:commons-codec](https://github.com/apache/commons-codec) | `1.16.1` | `1.17.0` |
| commons-io:commons-io | `2.16.0` | `2.16.1` |
| [io.grpc:grpc-core](https://github.com/grpc/grpc-java) | `1.62.2` | `1.63.0` |
| [org.codehaus.plexus:plexus-utils](https://github.com/codehaus-plexus/plexus-utils) | `4.0.0` | `4.0.1` |
| [org.jboss.logmanager:jboss-logmanager](https://github.com/jboss-logging/jboss-logmanager) | `3.0.4.Final` | `3.0.6.Final` |
| [com.puppycrawl.tools:checkstyle](https://github.com/checkstyle/checkstyle) | `10.15.0` | `10.16.0` |
| [com.hazelcast:hazelcast](https://github.com/hazelcast/hazelcast) | `5.3.6` | `5.4.0` |
| [org.bouncycastle:bcpkix-jdk15to18](https://github.com/bcgit/bc-java) | `1.77` | `1.78.1` |
| [org.bouncycastle:bcprov-jdk15to18](https://github.com/bcgit/bc-java) | `1.77` | `1.78.1` |
| [org.bouncycastle:bcutil-jdk15to18](https://github.com/bcgit/bc-java) | `1.77` | `1.78.1` |
| [org.apache.maven.resolver:maven-resolver-api](https://github.com/apache/maven-resolver) | `1.9.18` | `1.9.20` |
| [org.apache.maven.resolver:maven-resolver-connector-basic](https://github.com/apache/maven-resolver) | `1.9.18` | `1.9.20` |
| [org.apache.maven.resolver:maven-resolver-impl](https://github.com/apache/maven-resolver) | `1.9.18` | `1.9.20` |
| [org.apache.maven.resolver:maven-resolver-spi](https://github.com/apache/maven-resolver) | `1.9.18` | `1.9.20` |
| [org.apache.maven.resolver:maven-resolver-transport-file](https://github.com/apache/maven-resolver) | `1.9.18` | `1.9.20` |
| org.apache.maven.resolver:maven-resolver-transport-http | `1.9.18` | `1.9.20` |
| [org.apache.maven.resolver:maven-resolver-util](https://github.com/apache/maven-resolver) | `1.9.18` | `1.9.20` |
| org.apache.maven.scm:maven-scm-provider-jgit | `2.0.1` | `2.1.0` |


Updates `com.google.errorprone:error_prone_annotations` from 2.26.1 to 2.27.0
- [Release notes](https://github.com/google/error-prone/releases)
- [Commits](https://github.com/google/error-prone/compare/v2.26.1...v2.27.0)

Updates `com.google.errorprone:error_prone_core` from 2.26.1 to 2.27.0
- [Release notes](https://github.com/google/error-prone/releases)
- [Commits](https://github.com/google/error-prone/compare/v2.26.1...v2.27.0)

Updates `commons-codec:commons-codec` from 1.16.1 to 1.17.0
- [Changelog](https://github.com/apache/commons-codec/blob/master/RELEASE-NOTES.txt)
- [Commits](https://github.com/apache/commons-codec/compare/rel/commons-codec-1.16.1...rel/commons-codec-1.17.0)

Updates `commons-io:commons-io` from 2.16.0 to 2.16.1

Updates `io.grpc:grpc-core` from 1.62.2 to 1.63.0
- [Release notes](https://github.com/grpc/grpc-java/releases)
- [Commits](https://github.com/grpc/grpc-java/compare/v1.62.2...v1.63.0)

Updates `org.codehaus.plexus:plexus-utils` from 4.0.0 to 4.0.1
- [Release notes](https://github.com/codehaus-plexus/plexus-utils/releases)
- [Commits](https://github.com/codehaus-plexus/plexus-utils/compare/plexus-utils-4.0.0...plexus-utils-4.0.1)

Updates `org.jboss.logmanager:jboss-logmanager` from 3.0.4.Final to 3.0.6.Final
- [Release notes](https://github.com/jboss-logging/jboss-logmanager/releases)
- [Commits](https://github.com/jboss-logging/jboss-logmanager/compare/3.0.4.Final...3.0.6.Final)

Updates `com.puppycrawl.tools:checkstyle` from 10.15.0 to 10.16.0
- [Release notes](https://github.com/checkstyle/checkstyle/releases)
- [Commits](https://github.com/checkstyle/checkstyle/compare/checkstyle-10.15.0...checkstyle-10.16.0)

Updates `com.google.errorprone:error_prone_core` from 2.26.1 to 2.27.0
- [Release notes](https://github.com/google/error-prone/releases)
- [Commits](https://github.com/google/error-prone/compare/v2.26.1...v2.27.0)

Updates `com.hazelcast:hazelcast` from 5.3.6 to 5.4.0
- [Release notes](https://github.com/hazelcast/hazelcast/releases)
- [Commits](https://github.com/hazelcast/hazelcast/compare/v5.3.6...v5.4.0)

Updates `org.bouncycastle:bcpkix-jdk15to18` from 1.77 to 1.78.1
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

Updates `org.bouncycastle:bcprov-jdk15to18` from 1.77 to 1.78.1
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

Updates `org.bouncycastle:bcutil-jdk15to18` from 1.77 to 1.78.1
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

Updates `org.bouncycastle:bcprov-jdk15to18` from 1.77 to 1.78.1
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

Updates `org.bouncycastle:bcutil-jdk15to18` from 1.77 to 1.78.1
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

Updates `org.apache.maven.resolver:maven-resolver-api` from 1.9.18 to 1.9.20
- [Release notes](https://github.com/apache/maven-resolver/releases)
- [Commits](https://github.com/apache/maven-resolver/compare/maven-resolver-1.9.18...maven-resolver-1.9.20)

Updates `org.apache.maven.resolver:maven-resolver-connector-basic` from 1.9.18 to 1.9.20
- [Release notes](https://github.com/apache/maven-resolver/releases)
- [Commits](https://github.com/apache/maven-resolver/compare/maven-resolver-1.9.18...maven-resolver-1.9.20)

Updates `org.apache.maven.resolver:maven-resolver-impl` from 1.9.18 to 1.9.20
- [Release notes](https://github.com/apache/maven-resolver/releases)
- [Commits](https://github.com/apache/maven-resolver/compare/maven-resolver-1.9.18...maven-resolver-1.9.20)

Updates `org.apache.maven.resolver:maven-resolver-spi` from 1.9.18 to 1.9.20
- [Release notes](https://github.com/apache/maven-resolver/releases)
- [Commits](https://github.com/apache/maven-resolver/compare/maven-resolver-1.9.18...maven-resolver-1.9.20)

Updates `org.apache.maven.resolver:maven-resolver-transport-file` from 1.9.18 to 1.9.20
- [Release notes](https://github.com/apache/maven-resolver/releases)
- [Commits](https://github.com/apache/maven-resolver/compare/maven-resolver-1.9.18...maven-resolver-1.9.20)

Updates `org.apache.maven.resolver:maven-resolver-transport-http` from 1.9.18 to 1.9.20

Updates `org.apache.maven.resolver:maven-resolver-util` from 1.9.18 to 1.9.20
- [Release notes](https://github.com/apache/maven-resolver/releases)
- [Commits](https://github.com/apache/maven-resolver/compare/maven-resolver-1.9.18...maven-resolver-1.9.20)

Updates `org.apache.maven.scm:maven-scm-provider-jgit` from 2.0.1 to 2.1.0

Updates `org.apache.maven.resolver:maven-resolver-connector-basic` from 1.9.18 to 1.9.20
- [Release notes](https://github.com/apache/maven-resolver/releases)
- [Commits](https://github.com/apache/maven-resolver/compare/maven-resolver-1.9.18...maven-resolver-1.9.20)

Updates `org.apache.maven.resolver:maven-resolver-impl` from 1.9.18 to 1.9.20
- [Release notes](https://github.com/apache/maven-resolver/releases)
- [Commits](https://github.com/apache/maven-resolver/compare/maven-resolver-1.9.18...maven-resolver-1.9.20)

Updates `org.apache.maven.resolver:maven-resolver-spi` from 1.9.18 to 1.9.20
- [Release notes](https://github.com/apache/maven-resolver/releases)
- [Commits](https://github.com/apache/maven-resolver/compare/maven-resolver-1.9.18...maven-resolver-1.9.20)

Updates `org.apache.maven.resolver:maven-resolver-transport-file` from 1.9.18 to 1.9.20
- [Release notes](https://github.com/apache/maven-resolver/releases)
- [Commits](https://github.com/apache/maven-resolver/compare/maven-resolver-1.9.18...maven-resolver-1.9.20)

Updates `org.apache.maven.resolver:maven-resolver-transport-http` from 1.9.18 to 1.9.20

Updates `org.apache.maven.resolver:maven-resolver-util` from 1.9.18 to 1.9.20
- [Release notes](https://github.com/apache/maven-resolver/releases)
- [Commits](https://github.com/apache/maven-resolver/compare/maven-resolver-1.9.18...maven-resolver-1.9.20)

---
updated-dependencies:
- dependency-name: com.google.errorprone:error_prone_annotations
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: com.google.errorprone:error_prone_core
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: commons-codec:commons-codec
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: io.grpc:grpc-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: org.codehaus.plexus:plexus-utils
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: org.jboss.logmanager:jboss-logmanager
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: com.puppycrawl.tools:checkstyle
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: com.google.errorprone:error_prone_core
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: com.hazelcast:hazelcast
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: org.bouncycastle:bcpkix-jdk15to18
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: org.bouncycastle:bcprov-jdk15to18
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: org.bouncycastle:bcutil-jdk15to18
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: org.bouncycastle:bcprov-jdk15to18
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: org.bouncycastle:bcutil-jdk15to18
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: org.apache.maven.resolver:maven-resolver-api
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: org.apache.maven.resolver:maven-resolver-connector-basic
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: org.apache.maven.resolver:maven-resolver-impl
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: org.apache.maven.resolver:maven-resolver-spi
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: org.apache.maven.resolver:maven-resolver-transport-file
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: org.apache.maven.resolver:maven-resolver-transport-http
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: org.apache.maven.resolver:maven-resolver-util
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: org.apache.maven.scm:maven-scm-provider-jgit
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: org.apache.maven.resolver:maven-resolver-connector-basic
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: org.apache.maven.resolver:maven-resolver-impl
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: org.apache.maven.resolver:maven-resolver-spi
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: org.apache.maven.resolver:maven-resolver-transport-file
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: org.apache.maven.resolver:maven-resolver-transport-http
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: org.apache.maven.resolver:maven-resolver-util
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

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

* revert git scm upgrade which break the build

Signed-off-by: Olivier Lamy <olamy@apache.org>

* hazelcast upgrade would need more work

Signed-off-by: Olivier Lamy <olamy@apache.org>

* [10.0.x] Bump the integration-deps group with 2 updates

Bumps the integration-deps group with 2 updates: [org.wildfly.security:wildfly-elytron](https://github.com/wildfly-security/wildfly-elytron) and [com.google.cloud:google-cloud-datastore](https://github.com/googleapis/java-datastore).


Updates `org.wildfly.security:wildfly-elytron` from 2.3.1.Final to 2.4.1.Final
- [Commits](https://github.com/wildfly-security/wildfly-elytron/compare/2.3.1.Final...2.4.1.Final)

Updates `com.google.cloud:google-cloud-datastore` from 2.19.0 to 2.19.1
- [Release notes](https://github.com/googleapis/java-datastore/releases)
- [Changelog](https://github.com/googleapis/java-datastore/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/java-datastore/compare/v2.19.0...v2.19.1)

---
updated-dependencies:
- dependency-name: org.wildfly.security:wildfly-elytron
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: integration-deps
- dependency-name: com.google.cloud:google-cloud-datastore
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: integration-deps
...

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

* [11.0.x] Bump the dev-dependencies group across 1 directory with 5 updates

Bumps the dev-dependencies group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [ch.qos.logback:logback-core](https://github.com/qos-ch/logback) | `1.5.3` | `1.5.6` |
| [com.google.errorprone:error_prone_annotations](https://github.com/google/error-prone) | `2.27.0` | `2.27.1` |
| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.27.0` | `2.27.1` |
| [com.hazelcast:hazelcast](https://github.com/hazelcast/hazelcast) | `5.3.6` | `5.4.0` |
| org.apache.maven.scm:maven-scm-provider-jgit | `2.0.1` | `2.1.0` |



Updates `ch.qos.logback:logback-core` from 1.5.3 to 1.5.6
- [Commits](https://github.com/qos-ch/logback/compare/v_1.5.3...v_1.5.6)

Updates `com.google.errorprone:error_prone_annotations` from 2.27.0 to 2.27.1
- [Release notes](https://github.com/google/error-prone/releases)
- [Commits](https://github.com/google/error-prone/compare/v2.27.0...v2.27.1)

Updates `com.google.errorprone:error_prone_core` from 2.27.0 to 2.27.1
- [Release notes](https://github.com/google/error-prone/releases)
- [Commits](https://github.com/google/error-prone/compare/v2.27.0...v2.27.1)

Updates `com.google.errorprone:error_prone_core` from 2.27.0 to 2.27.1
- [Release notes](https://github.com/google/error-prone/releases)
- [Commits](https://github.com/google/error-prone/compare/v2.27.0...v2.27.1)

Updates `com.hazelcast:hazelcast` from 5.3.6 to 5.4.0
- [Release notes](https://github.com/hazelcast/hazelcast/releases)
- [Commits](https://github.com/hazelcast/hazelcast/compare/v5.3.6...v5.4.0)

Updates `org.apache.maven.scm:maven-scm-provider-jgit` from 2.0.1 to 2.1.0

---
updated-dependencies:
- dependency-name: ch.qos.logback:logback-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: com.google.errorprone:error_prone_annotations
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: com.google.errorprone:error_prone_core
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: com.google.errorprone:error_prone_core
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: com.hazelcast:hazelcast
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: org.apache.maven.scm:maven-scm-provider-jgit
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

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

* revert maven-scm-provider-jgit upgrade

Signed-off-by: Olivier Lamy <olamy@apache.org>

* revert hazelcast upgrade

Signed-off-by: Olivier Lamy <olamy@apache.org>

* fix upperbound

Signed-off-by: Olivier Lamy <olamy@apache.org>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Olivier Lamy <olamy@apache.org>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-06 11:01:05 +02:00
Lachlan Roberts 932c03bcab Issue #11748 - fix in PathMappings for websocket pathParam matching
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-05-06 16:41:03 +10:00
Jan Bartel 0177f0cae3 Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.1.x 2024-05-04 12:58:40 +10:00
Joakim Erdfelt 8e7e42201a
Updating to version 12.0.10-SNAPSHOT 2024-05-03 09:28:36 -04:00
Joakim Erdfelt efe8023327
Updating to version 12.0.9 2024-05-03 09:02:37 -04:00
Simone Bordet 724273be09
Fixes #11679 - Jetty 12.0.8 seems to leak connection when it encounters earlyEOF. (#11719)
* Fixes #11679 - Jetty 12.0.8 seems to leak connection when it encounters earlyEOF.
* Changed HttpConnection.RequestHandler.earlyEOF() to produce EofException instead of BadMessageException, as it is more appropriate.
* Changed handling of HttpChannelState.onFailure() to not fail the write side unless there is a pending write callback.
* Early EOF events now produce a EofException that is also an HttpException.
* Now failures only impact pending writes, so that it would be possible to write an HTTP error response.

---------

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2024-05-03 08:56:09 -04:00
Greg Wilkins 8e456c4ee5
Improve javadoc to fix #11720 (#11731)
* Improve javadoc to fix #11720

---------

Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2024-05-03 08:51:30 -04:00
Jan Bartel ce13b8590f Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.1.x 2024-05-03 12:18:49 +10:00
Jan Bartel b11d1cb27f
Issue #11709 fix jetty-with-custom-class.xml file and use it (#11716)
* Issue #11709 fix jetty-with-custom-class.xml file and use it
2024-05-03 04:14:46 +02:00
Simone Bordet 42ba415318
Addendum to #11566. (#11722)
* Addendum to #11566.

Restored methods that were removed in WebAppClassLoader.Context.

Fixed method signatures for deprecated method -- they must take the deprecated ClassMatcher, not the newly introduced one.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-05-02 17:40:49 +02:00
Ludovic Orban cfee4fe433
Fix flaky `testUploadWithPendingReadConcurrentServerCloseClosesStream()` (#11693)
* #11692 fix flaky testUploadWithPendingReadConcurrentServerCloseClosesStream()

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-05-02 12:10:37 +02:00
Ludovic Orban 45e474b7d5
Improve ThreadLimitHandler (#11723)
* Improve ThreadLimitHandler

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-05-02 12:09:29 +02:00
Jan Bartel 53bb51a69d Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.1.x 2024-05-01 15:27:49 +10:00
Jan Bartel fa7d8158e0 Add support for HttpSession.Accessor 2024-05-01 15:25:48 +10:00
Jan Bartel d7e66dd818
Issue #11707 fix PropertyFileLoginModuleTest (#11714) 2024-05-01 03:20:37 +02:00
Jan Bartel 70599e41cf
Issue #11705 remove unused decorate.mod and etc files (#11717) 2024-05-01 03:20:19 +02:00
gregw b11996a3c4 Introduced EE11 and jetty-12.1.x 2024-04-26 22:42:57 +10:00
Jan Bartel 151fffb48e Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.1.x 2024-04-26 16:50:05 +10:00
Jan Bartel e9c71be811
Jetty 12.0.x refactor common maven plugin classes (#11651)
* Issue #11514 - Cleanup `jetty.webapp.addServerClasses` property behavior for ee10/ee9/ee8

* Merging patterns (default -> env -> config)
* Moved ClassMatcher to util
* System Server Classes
* Renaming to Hidden/Protected
* Updated for loss of dump.war
* Update jetty-core/jetty-ee/src/main/java/org/eclipse/jetty/ee/WebappClassLoading.java
* fixed OSGi tests
* Ensure default hidden server and system classes.
* Fixed ee9 OSGi to load jetty-ee
* Adding more deprecations
* Changing XML demos/tests to use new getter names
* rollback xml changes in ee9/ee8
* Fix ee8 maven plugin
* Make jetty-maven dependency optional in ee9 to match ee10

---------

Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Co-authored-by: gregw <gregw@webtide.com>
2024-04-25 20:53:40 -05:00
Joakim Erdfelt 429809e549
Issue #11453 - Testcase for reported issue (#11454) 2024-04-25 09:54:20 -05:00
Lachlan 0c144845d4
update SizeLimitHandler with fixes needed for appengine tests (#11570)
* update SizeLimitHandler with fixes needed for appengine tests

---------

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-04-24 16:28:28 -05:00
Simone Bordet c10ec98b5b
Fixes #11597 - Document Request Customizers.
Documented the request customizers in the programming guide.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-04-24 18:57:16 +02:00
Simone Bordet e491fc3d30
Document the rewrite Jetty module. (#11686)
* Document the rewrite Jetty module.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-04-24 18:19:34 +02:00
Ludovic Orban bb633b8a0f
Fix `HttpFields.Mutable.Wrapper.computeField()` (#11688)
* #11687 make HttpFields.Mutable.Wrapper.computeField() call onRemoveField() and remove the field when null is returned by computeFn
* #11687 replace IAE with NPE
* #11687 replace collect(Collectors.toList()) with toList()

---------

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-04-23 18:13:01 -05:00
gregw a8ffebff2b Merge remote-tracking branch 'origin/jetty-12.0.x' into jetty-12.1.x 2024-04-24 09:02:13 +10:00
Joakim Erdfelt 4cc938429f
Issue #11648 - Introducing HttpDateTime class. (#11672)
+ Introduces HTTP (and Cookie) Date/Time parsing
  according to spec algorithms.
+ Introduces formatting according to spec
  mandated preferred RFC 1123 format.
+ Deprecate DateParser
2024-04-23 17:17:59 -05:00
Ludovic Orban a1450f5cf7
Fix for some invalid server behaviors when a client is aborting a request (#11637)
* #11631 abort instead of rethrow when the exception handler in handle() throws an exception
* fix ee10 state machine error when client aborts
* H3: wire client-sent reset packet on abort
* H3: only fail finished streams when fill interested is false

---------

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-04-23 08:30:21 -05:00
gregw 2223170c4f Merge branch 'jetty-12.0.x' into jetty-12.1.x
Signed-off-by: gregw <gregw@webtide.com>
2024-04-23 17:38:22 +10:00
Ludovic Orban 656e904d91
Fix buffer leak in `HttpClientStreamTest.testUploadWithConcurrentServerCloseClosesStream()` (#10431)
Fix buffer leak in HTTP and FCGI when the server is being shut down while there are in-flight requests

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-04-22 16:15:58 +02:00
Olivier Lamy d2beb2bd3f
Issue #9487 Upgrade to Infinispan 15 (#11503)
* upgrade to final release of infinispan 15

---------

Signed-off-by: Olivier Lamy <olamy@apache.org>
2024-04-22 10:28:00 +02:00
Joakim Erdfelt 24f3a249c4
Merge remote-tracking branch 'refs/remotes/origin/jetty-11.0.x' into jetty-12.0.x
# Conflicts:
#	documentation/jetty-documentation/src/main/asciidoc/programming-guide/maven/jetty-maven-plugin.adoc
2024-04-19 15:13:52 -05:00
Joakim Erdfelt 766a058786
Introduce various aliases to start.jar options (#11639)
* Issue #5944 - introduce --files=<uri>|<location> alias
* Issue #5945 - introduce --skip-create-files=<moduleName> alias
* Issue #5946 - introduce --add-config-dir=<path> alias
* Updating documentation for new names
2024-04-19 11:10:42 -05:00
Joakim Erdfelt 8b1c6bcd06
Issue #11659 - Properly ignore OWS before field values. (#11661)
* implemented changes to CACHE and parseFields to handle OWS properly for all UNMATCHED_VALUE headers.
* added 3 new OWS test cases (that fail in 12.0.x HEAD btw) to handle this OWS case.
2024-04-18 20:33:25 -05:00
Ludovic Orban 74b76b9a2e
Merge remote-tracking branch 'origin/jetty-11.0.x' into merge/jetty-12.0.x/11660-upgrade-quiche-to-0_21_0 2024-04-18 10:41:37 +02:00
Greg Wilkins 33feac33e7
Revert "Revert NON_POOLING change" (#11649)
This reverts commit 2bf7d6cecc.
2024-04-18 15:52:03 +10:00
Ludovic Orban 940c7440b4 #11655 use awaitility to assert as the queue could be updated after the response was received by the client
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-04-17 10:32:06 +02:00
Ludovic Orban 8d95000e2c fix comment
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-04-17 10:31:30 +02:00
Ludovic Orban f281cad479 add comment
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-04-17 10:31:30 +02:00
Ludovic Orban d8b910c843 fix activation pattern
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-04-17 10:31:30 +02:00
Ludovic Orban 43e3ee7406 resync quiche structure with its JNA mapping
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-04-17 10:31:30 +02:00
Ludovic Orban 94a63e494e resync quiche structure with its JNA mapping
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-04-17 10:31:30 +02:00
Ludovic Orban 740c44ca4c remove unneeded settings
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-04-17 10:31:30 +02:00
Ludovic Orban 08223be155 update to use the finalized foreign api of JDK 22
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-04-17 10:31:30 +02:00
Lachlan ea7982732f
Merge pull request #11645 from jetty/jetty-12.0.x-11420-qpackDecoder
Issue #11420 - fix dynamic table referencing in QpackDecoder
2024-04-16 11:27:26 +10:00
Lachlan Roberts 284083e5f0 PR #11645 - add end-to-end test for dynamic table reference
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-04-15 13:41:54 +10:00
Lachlan Roberts 8f19a29ccb PR #11645 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-04-15 12:13:12 +10:00
Greg Wilkins 30bee710f1
Move ClassMatcher to core to have a consistent fix for addServerClasses in all environments (#11566)
* Issue #11514 - Cleanup `jetty.webapp.addServerClasses` property behavior for ee10/ee9/ee8

* Fix test

* Merging patterns (default -> env -> config)

* Moved ClassMatcher to util

* Adding more deprecations

* Changing XML demos/tests to use new getter names

* rollback xml changes in ee9/ee8

---------

Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Co-authored-by: Jan Bartel <janb@webtide.com>
2024-04-12 17:31:47 +10:00
Lachlan Roberts fa5c6aa320 PR #11645 - fix calculation for relative index from an Entry
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-04-11 14:34:21 +10:00
Lachlan Roberts 600dbfee25 Issue #11420 - fix dynamic table referencing in QpackDecoder
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-04-11 13:01:30 +10:00
Joakim Erdfelt 83526f77d3
Issue #11490 - fixing CustomRequestLog.setIgnorePaths (#11638) 2024-04-10 16:32:44 -05:00
gregw 765cdb20db Cleanup in preparation for creating EE11 2024-04-05 17:19:01 +02:00
gregw 175b191bc9 updates from review 2024-04-04 23:01:57 +02:00
gregw aff96fe739 updates from review 2024-04-04 22:48:02 +02:00
Ludovic Orban 66c1c3b798 #11594 add alias check to allow all context resources to be served, as for the equivalent servlet tests
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-04-04 17:50:25 +02:00
Joakim Erdfelt 6320839bff
Issue #11488 - unset port is -1 to be compatible with Java classlib (#11578)
+ Changing unset port in HttpURI to -1 (from 0)
+ Changing unset port in HostPort to -1 (from 0)
2024-04-04 10:26:15 -05:00
gregw 10b557f81d updated pom version 2024-04-03 23:53:04 +02:00
gregw 627aaa3830 Merge branch 'jetty-12.0.x' into fix/12.0.x/addserverclasses-ee9-gw 2024-04-03 23:51:51 +02:00
gregw 7f432235da WIP
swapped defaults to environment
added unit tests
2024-03-30 10:27:21 +01:00
Joakim Erdfelt b3ef872d6b
Updating to version 12.0.9-SNAPSHOT 2024-03-29 15:20:11 -05:00
Joakim Erdfelt ffffdcc3c8
Updating to version 12.0.8 2024-03-29 14:31:57 -05:00
Jan Bartel 724ba194cc Ensure default hidden server and system classes. 2024-03-29 18:46:21 +01:00
Joakim Erdfelt 58293ad1f1
Update Dependencies [12.0.x] - March 2024 (#11591)
* Bump jetty-setuid-jna
* Updating dependencies
* Updating dependencies in jetty-ee10-annotations
* Updating dependencies in jetty-ee10-plus
* Fix jetty-ee8-osgi-boot deps
* Fix jetty-ee9-osgi-boot deps
* Address osgi duplicate resource plugin
2024-03-29 12:23:22 -05:00
Simone Bordet 1b05d49fd8
Allow configuring showCause in ErrorHandler (#11587)
Allows to suppress "caused by" in error message, not only the stacks traces.
ErrorHandler.showCause = false by default.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Dennis Hoersch <dennis.hoersch@springernature.com>
Co-authored-by: Dennis Hoersch <dhs3000+ghtu@posteo.de>
2024-03-29 16:37:56 +01:00
Ludovic Orban 0451bd4b86
Disable Conscrypt tests on aarch64 (#11590)
Disabled client and tests on aarch64 cpu, enabled client tests on all OS.

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-03-29 11:16:06 +01:00
gregw 19aad85e82 Merge branch 'jetty-12.0.x' into fix/12.0.x/addserverclasses-ee9-gw 2024-03-28 18:50:12 +01:00
Greg Wilkins 9b6944e04a
Remove usages of URIUtil.toURI and URIUtil.split (#11577)
* Issue #11567 - fix relative path for resourceBase set in DefaultServlet

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Remove the ResourceFactory adaption from between baseResource and a HttpContent.Factory

* Remove toURI usage

* ensure ee9 DefaultServlet encodes the pathInContext

* Moved toURI functionality to ResourceFactory

* use context baseResource if baseResource not set

* removed usages of URIUtil.split

* fixed javadoc

* updates from review

* updates from review

* updates from review

* updates from review

* fixed resource leak in test

* fixed resource leak in test

* updates from review

* Fixes to URIUtil for Windows (#11585)

* Fixes for Windows
* Remove test that is not needed

* inlined resolveOrNew

---------

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Co-authored-by: Lachlan Roberts <lachlan@webtide.com>
Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2024-03-28 16:32:03 +01:00
Ludovic Orban 89c41b2550
Cleanup Resource IO (#11364)
Refactorings to rationalize and simplify how we do IO with resources internally by introducing the IOResources helper.

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-03-28 11:08:44 +01:00
Simone Bordet e00a71a00f
Fixes #11583 - Broken HTTP/3 tests (#11584)
Initialized PEM directories for both client and server.
Added [lib] section that was missing due to #11263.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-03-27 22:37:33 +01:00
Olivier Lamy ee82c2b761
Issue #10387 configure doclint to not generate verbose useless warning, remove obsolete parameter (#11544)
Signed-off-by: Olivier Lamy <olamy@apache.org>
2024-03-27 22:27:21 +01:00
gregw ce085027d2 renamed as per review 2024-03-27 17:35:01 +01:00
Greg Wilkins ddc6dc28d3
Update jetty-core/jetty-ee/src/main/java/org/eclipse/jetty/ee/WebappClassLoading.java
Co-authored-by: Jan Bartel <janb@webtide.com>
2024-03-27 17:31:27 +01:00
Joakim Erdfelt 05aa1e1b08
Issue #11495 - Add UriCompliance rules that follow the HTTP / URI / Servlet specs for illegal & suspicious characters (#11496)
* Issue #11495 - Add UriCompliance rules that follow the HTTP / URI / Servlet specs for illegal & suspicious characters
* more illegalPathCharacterData test cases
* Correcting SUSPICIOUS_PATH_CHARACTERS semantic (encoded and decoded)
* Check for illegal and suspicious characters as we are parsing the path.
* Only look for ambiguous paths if we know there are dots or encodings.

---------
Co-authored-by: gregw <gregw@webtide.com>
2024-03-27 09:28:30 -05:00
gregw 4214001a79 revert reverted name changes in ee8 and ee9 2024-03-27 13:38:44 +01:00
Joakim Erdfelt 121999bf7c
Issue #11539 restore old behavior of `Resource.copyTo()` with regards to existing destination files. (#11540)
* Issue #11539 restore old behavior of Resource.copyTo()
* Do not delete destination resource
  if it exists before copy to restore
  the behavior to what we had in
  Jetty 9/10/11.
* Formalizing IO.resolvePath()
2024-03-27 07:38:00 -05:00
Jan Bartel 92cb3cbe7e
Issue #11572 add check for isDeployable when hot deploy file changes (#11576)
* Issue #11572 add check for isDeployable when hot deploy file changes
2024-03-27 09:59:36 +01:00
gregw 5bfc74f816 Updated for loss of dump.war 2024-03-26 20:12:06 +01:00
gregw 0ddab409eb Merge branch 'jetty-12.0.x' into fix/12.0.x/addserverclasses-ee9-gw
# Conflicts:
#	jetty-ee10/jetty-ee10-webapp/src/main/java/org/eclipse/jetty/ee10/webapp/WebAppContext.java
2024-03-26 18:21:14 +01:00
Joakim Erdfelt 9defd5d416
Issue #11548 - Replication as jetty-ee10-webapp testcase (#11550)
* Issue #11548 - Replication as jetty-ee10-webapp testcase
* Correct order of WebAppContext.stop

---------

Co-authored-by: Jan Bartel <janb@webtide.com>
Co-authored-by: gregw <gregw@webtide.com>
2024-03-26 07:04:49 -05:00
Lachlan 028221e343
Ensure request is set for ContextScopeListener in EE10 (#11518)
* Ensure request is set for ContextScopeListener in EE10
2024-03-25 19:18:00 +01:00
Jan Bartel 2fc7ad87d8
Reintroduce Cross Context Dispatch in Jetty 12 (#11451)
Re-introduce some support for cross context dispatch
2024-03-25 18:44:44 +01:00
gregw 01f2903cde System Server Classes
Renaming to Hidden/Protected
2024-03-25 13:26:47 +01:00
gregw 3866b7527e Merge remote-tracking branch 'origin/jetty-12.0.x' into fix/12.0.x/addserverclasses-ee9-gw 2024-03-25 11:54:37 +01:00
Ludovic Orban 13acb1779e
Fix ClosedFileSystemException on hot redeploy (#11549)
#11548 implemented workaround for JDK-8291712

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-03-25 11:13:10 +01:00
gregw 8b46ea20bc System Server Classes 2024-03-25 09:10:41 +01:00
gregw eb1c207879 System Server Classes 2024-03-25 08:49:54 +01:00
Simone Bordet 258a5e04de
Fixes #10870 - How to set HttpConfiguration.securePort when the HTTPS port is dynamic? (#11547)
Introduced NetworkConnector.Listener to notify of open/close events.
Applications can register a listener on one NetworkConnector, be notified when it opens, and configure other components (for example using the NetworkConnector.localPort).

Cleaned up ManagedSelector.CloseConnections, which had code that was not used, and fixed the close of non-connection elements such as the ServerSocketChannel and DatagramChannel (when acceptors=0).

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-03-24 20:52:56 +01:00
Simone Bordet 4a22ab3f82
Improvements and cleanups to ErrorHandler. (#11556)
Defaulted showStacks to false, to reduce false positives reported by penetration testing tools.
Deprecated ErrorHandler.badMessageError(), as it was not invoked anymore.
Implemented HttpStreamOverHTTP[2|3].onBadMessage() that was left as TODO.
Simplified the same code for HTTP/1.
Moved invocation of ComplianceViolation.Listener.onRequestEnd() to HandlerInvoker.completeStream().

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-03-24 20:51:50 +01:00
gregw 17b20041ba System Server Classes 2024-03-24 19:47:41 +01:00
gregw 2775c3233d Moved ClassMatcher to util 2024-03-24 18:07:04 +01:00
Simone Bordet ae6f98ed47
Fixes #7647 - Document org.eclipse.jetty.client.Socks4Proxy "secure" parameter. (#11533)
Added javadocs and documentation.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-03-22 16:46:07 +01:00
Simone Bordet 0ab9f68491
Fixes #5857 - Deprecate AbstractConnectionPool "callback" methods. (#11542)
Deprecated idle(), acquired(), released() for removal.
Renamed removed(), now deprecated, to onRemoved() to match with onCreated().
Kept onCreated() and onRemoved() as they are the only methods that are not racy.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-03-22 16:16:50 +01:00
Greg Wilkins 51fc906d37
Optimized ReservedThreadExecutor with ThreadIdPool (#11498)
* Introduced ThreadIdPool and replaced ThreadLocal with it
 * Modified ReservedThreadExecutor to be backed by a ThreadIdPool of semaphores

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: gregw <gregw@webtide.com>
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
2024-03-21 16:53:14 +01:00
Greg Wilkins 3d49cd3b3c
Allow resolve to return non-existent resources (#11476)
Fix #11411 by allowing non-existent resources to be returned from resolve
Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
2024-03-21 12:49:50 +00:00
Ludovic Orban ef87cee33d fix copyTo(directory) for resources not backed by a path
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-03-20 18:48:02 +01:00
Ludovic Orban 5de0141423 Make sure testResourceCopyToDirectory() tests copying a file resource to a target folder
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-03-20 18:48:02 +01:00
Ludovic Orban 435384420f Fix Resource.copyTo() + add tests
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-03-20 18:48:02 +01:00
Dennis Hoersch d39dde5213
Allows to change the default ErrorHandler response type (#11522)
Allows to set the default mime type for the error response in `ErrorHandler`.
2024-03-19 19:17:12 +01:00
Simone Bordet 763999d08a
Merged branch 'jetty-11.0.x' into 'jetty-12.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-03-19 11:43:29 +01:00
Ludovic Orban 2067ec81e8 upgrade quiche to version 0.20.1
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-03-15 17:32:37 +01:00
Greg Wilkins c25e1aa7ff
Fix PerfRegression by preparing field cache (#11517)
Fix #11513 by preparing the field cache
2024-03-13 21:42:14 +01:00
Greg Wilkins c05ae3bb83
Implemented addBeanFromConstructor (#11319)
Added mechanism to safely add beans from a super constructor of ContainerLifeCycle


Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2024-03-13 17:52:55 +01:00
Greg Wilkins ffb5458720
Restored removed constructor (#11512)
Fix #11509 by restoring removed constructor as deprecated
2024-03-13 17:49:58 +01:00
Ludovic Orban 0a2382408f
Fix StatisticsHandler not receiving implicit status 200 (#11487)
#11482 introduce new onComplete event in EventsHandler and use it to record status in StatisticsHandler

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-03-13 17:30:33 +01:00
Joakim Erdfelt 369d9f7e2f
Merge remote-tracking branch 'origin/release/12.0.7' into jetty-12.0.x 2024-03-06 11:00:50 -06:00
Greg Wilkins 80f912a121
Improve HTTP parsing long look-ahead (#11486)
Use ByteBuffer.getLong to look for entire request (GET / HTTP/1.1) or response (HTTP/1.1 200 OK) line with 2 long lookups.  Failing that, a single long lookup is sufficient to determine the common methods and/or HttpVersion.

* Cleanup generator also

* Added a fallback int lookup
2024-03-05 17:34:14 +01:00
Joakim Erdfelt 18b2a7c201
Updating to version 12.0.8-SNAPSHOT 2024-02-29 16:00:27 -06:00
Joakim Erdfelt c89aca8fd3
Updating to version 12.0.7 2024-02-29 15:18:56 -06:00
Greg Wilkins 4155e7bc25
Add suppressed failures in Callback failed (#11435)
If an exception is thrown during failure handling, then record the original failure as a suppressed Throwable on the thrown exception
2024-02-29 20:06:50 +01:00
Greg Wilkins 56e05a973f
HttpURI toURI passes all info (#11468)
* HttpURI toURI passes all info

Fix #11465 and #7750
HttpURI.toURI user and fragment are retained.
Use to URI(String) constructor, as all URI constructors will parse the URI anyway.

* HttpURI toURI passes all info

Fix #11465 and #7750
HttpURI.toURI user and fragment are retained.
Use to URI(String) constructor, as all URI constructors will parse the URI anyway.
2024-02-29 17:46:06 +01:00
Simone Bordet 561b8da4dd Changed CrossOriginHandler default to allow no origin and no credentials.
This makes the default configuration more secure and explicitly requires configuration from users.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-02-29 15:47:20 +01:00
gregw ee8823bd57 Merge remote-tracking branch 'origin/jetty-11.0.x' into jetty-12.0.x
# Conflicts:
#	jetty-core/jetty-http2/jetty-http2-tests/src/test/java/org/eclipse/jetty/http2/tests/DynamicTableTest.java
2024-02-28 14:41:32 +01:00
Greg Wilkins 686dd88c3a Fix #10805 zero dynamic table (#11445) (#11452)
* Fix #10805 zero dynamic table (#11445)

* Added test for #10805 Zero Dynamic Table

* fixed file header

* Added test for #10805 Zero Dynamic Table

* Fix for #10805 Zero Dynamic Table

Set the correct default size for the table.
Always send the max table size on the first encode

* updated file header

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

---------

Signed-off-by: gregw <gregw@webtide.com>
2024-02-28 14:39:06 +01:00
Joakim Erdfelt 1bba3cd41e
Merge pull request #11455 from jetty/fix/12.0.x/webinfconfig.unpack.protection
Improve DEBUG during WebInfConfiguration.unpack
2024-02-28 04:17:38 -08:00
Joakim Erdfelt 97cb50ead9
Improve Error messages for Ambiguous URIs (#11457)
* Some testing of HttpURI for Issue #11448
* Issue #11448 - improved stacktrace message for ambiguous URI
2024-02-28 06:15:56 -06:00
Joakim Erdfelt 98ceb73cc6
Issue #11387: Reintroduce MultiPartCompliance.LEGACY in ee9/ee8 (#11388)
* Issue #11387: Reintroduce MultiPartCompliance.LEGACY in ee9/ee8
* Correcting javadoc
* Updating MultiPartCaptureTest to ...
  * Test with MultiPartFormData.Parser and MultiPart.Parser
 * Enable all test cases
    * base64 behaviors modified to not auto-decode base64 content
    * forms submitted without `_charset_` part (some using a different
       charset than UTF-8, like `Shift_JIS`)
* Fixing checkstyle warning
* Re-enable Part-ContainsContents expectations
* Rename MultiPartCompliance.NO_CRLF_AFTER_PREAMBLE to WHITESPACE_BEFORE_BOUNDARY to fit spec better
* Make ee9/ee8 legacy parser use legacy tokenization
* Testing ee9/ee8 legacy parser base64 auto-decoding behaviors
* Cleanup jetty-test-multipart class naming
* Adding ee10 tests against raw multipart examples
* Adding shorter whitespace multipart test
* Adding jetty-core version of failing ee10 tests
* Fixed missed notification for CR content in case of 1 chunk ending with CR and the next chunk ending with LF.
* Removed internal unused class MultiPartParser.
* Adding MultiPartCompliance.Violation events
  + in MultiPart.Parser
  + in MultiPartFormData.Parser
* lenient mode behavior
* new name fits violation better
+ adding violation to MultiPart.Parser.parseHeaderStart
* some simple cleanup of new ee9 code

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2024-02-27 15:09:26 -06:00
Joakim Erdfelt 54aaa3a398
Improve DEBUG during WebInfConfiguration.unpack 2024-02-27 10:15:24 -06:00
Joakim Erdfelt 2803f5a872
Fixes #11270 - Improve XmlConfiguration reporting of Resource location during error (#11345)
Now catching and rethrowing XmlConfigurationException with details about the XML file location.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2024-02-27 16:39:28 +01:00
Ludovic Orban 1e6240e2f4
Fix NPE in HttpReceiverOverHTTP2.read() when the channel's stream is null (#11443)
* Added null guard.
* Avoid executing the event actions in case the response is either complete or (new change) terminated.

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2024-02-27 15:59:17 +01:00
Joakim Erdfelt bb646ed085
Improve jetty-util on Windows (#11440)
* Improve jetty-util on Windows
* Enable ATOMIC_MOVE on Resource.copyTo()
* Add reference to Resource impl in exception.
* Attempting to address sneaky Windows path strings that look like URIs
* Deprecate URIUtil.correctFileURI in favor of new URIUtil.correctURI method
2024-02-27 06:32:44 -06:00
Joakim Erdfelt 866f44584c
Issue #11361 - UriCompliance.checkUriCompliance improvements (#11444)
* Issue #11361 - UriCompliance.checkUriCompliance improvements
2024-02-27 06:32:07 -06:00
Lachlan d3f19bb947
Merge pull request #11402 from jetty/jetty-12.0.x-11398-WebSocket-CloseChannelException
Issue #11398 - allow frames to be demanded in WebSocket onOpen
2024-02-27 17:11:53 +11:00
Lachlan 4f1401438a
Merge pull request #11433 from jetty/fix/jetty-12.0.x/11278-symlink-dir-listing
Issue #11278 - fix 500 response when trying to display symlinked directory
2024-02-27 17:10:55 +11:00
Simone Bordet 6facb0f7f5
Fixes #11370 - IllegalStateException when last write fails. (#11439)
Removed the call to `ServletChannel.abort()` from the write callback.

As the write was issued from `ServletChannel.handle()` case COMPLETE, it was eventually calling `ServletChannelState.completed(Throwable)`, which is expecting the requestState to be COMPLETING.
However, calling `abort()` would set the requestState to COMPLETED, causing the IllegalStateException.

There should be no need to call `abort()` from the callback of failed writes, since failing the various callbacks should be enough, eventually failing the `HttpStream`, which would take care of tearing down the connection (HTTP/1) or the stream (HTTP/2+).

Now aborting the response from ServletChannelState.completed(Throwable).
Fixed SizeLimitHandler exception message.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-02-26 17:27:20 +01:00