Commit Graph

21005 Commits

Author SHA1 Message Date
Simone Bordet fb07bdf159 Issue #4967 - Possible buffer corruption in HTTP/2 session failures.
Fixed test failure after merge.

Made sure the lastStreamId is updated when resetting a new
stream since it has been seen by the server and handled.

This avoids that a new stream arriving during shutdown is
interpreted as a connection failure, therefore failing all
pending streams - we want them to complete.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-07 11:42:16 +02:00
Simone Bordet ba6a6ea67d Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-07-06 23:10:19 +02:00
Simone Bordet f2c6b67827
Fixes #4971 - Simplify Connection.upgradeFrom()/upgradeTo(). (#5008)
Fixes #4971 - Simplify Connection.upgradeFrom()/upgradeTo().

Now the upgrade-from connection produces a "floating" buffer 
(not belonging to a pool), so that it can release the original buffer.

The upgrade-to connection is free to copy or store this "floating" buffer.

Strengthened ByteBufferPool behavior when releasing non-pooled
ByteBuffers: the buffer is now discarded.

Updated javadocs and all implementations.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-06 22:45:03 +02:00
Simone Bordet 3eb031b2b9 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-07-06 17:30:14 +02:00
Simone Bordet 43353d0ca9 Issue #4890 - JettyClient behavior when SETTINGS_HEADER_TABLE_SIZE is set to 0 in SETTINGS Frame.
Fixed NPE in debug logs.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-06 17:29:07 +02:00
Jan Bartel bd15434915 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-07-06 10:37:32 +02:00
Jan Bartel d785b590b1
Issue #5000 Fix NPE in FilterMapping.appliesTo (#5005)
* Issue #5000 Fix NPE in FilterMapping.appliesTo

Signed-off-by: Jan Bartel <janb@webtide.com>
2020-07-06 10:24:10 +02:00
Lachlan Roberts 085a6112c5 Issue #4985 - revert changes from 9.4 merge to Include, Forward and Async Attributes
The proper ServletPathMapping is not set on the baseRequest when these are constructed
so we can't save fields from this in the constructor. The ServletPathMapping is
later set in the ServletHandler.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-06 16:11:56 +10:00
Lachlan 33852f5137
Merge pull request #4912 from eclipse/jetty-10.0.x-4907-suspendAfterCloseRace
Issue #4907 - close websocket suspendState if close frame is received
2020-07-06 12:54:39 +10:00
Lachlan Roberts 345440139b Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-06 12:18:58 +10:00
Lachlan 9a56301de1
Merge pull request #5004 from eclipse/jetty-9.4.x-4985-AttributeNameSet
Issue #4985 - fix NPE related to use of Attributes.Wrapper getAttributeNameSet()
2020-07-06 11:34:27 +10:00
Simone Bordet 7d8e56bd10 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-07-03 16:46:23 +02:00
Simone Bordet ae43b70a9f
Jetty 9.4.x 4967 buffer corruption for http2 failures (#5001)
Fixes #4967 - Possible buffer corruption in HTTP/2 session failures

Partially reverted the changes introduced in #4855, because they
were working only when sends were synchronous.

Introduced ByteBufferPool.remove(ByteBuffer) to fix the issue.
Now when a concurrent failure happens while frames are being
generated or sent, the buffer is discarded instead of being
recycled, therefore resolving the buffer corruption.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-03 16:35:33 +02:00
Simone Bordet 42d5db3208 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-07-03 10:46:24 +02:00
Lachlan Roberts b033d6078f Issue #5012 - Remove unneeded dependency for test-jaas-webapp
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-03 09:54:18 +02:00
Simone Bordet e0955192b8
Jetty 9.4.x 4976 httpclient fix null network buffer (#5010)
Fixes #4976  HttpClient async content throws NPE in DEBUG log.

Reworked handling of asynchronous content by immediately exiting
HttpReceiverOverHTTP.process(), so that there is no race with
other threads that have been scheduled to resume the processing.

The call to HttpReceiver.dispose() that could be triggered by
an asynchronous failure is now performed either by the failing
thread (if the HttpReceiver is not processing) or by an I/O
thread (if the HttpReceiver is processing) similarly to what
happens when terminating the response.

The content decoding has been reworked to perform the required
state changes similarly to what non-decoded content is doing,
as this was completely lacking before (it was actually a side
bug that is now fixed).

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
2020-07-03 09:30:15 +02:00
Simone Bordet 5510d7a9b1
Merge pull request #5014 from eclipse/jetty-9.4.x-5012-badJaasTestDependency
Issue #5012 - Remove unneeded dependency for test-jaas-webapp
2020-07-02 09:44:26 +02:00
Simone Bordet 383061a695 Merged 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-07-02 09:29:03 +02:00
Zac Duncan c77ad80d94 add constructor that takes in all params that super needs.
Signed-off-by: Zac Duncan <zac.duncan@gmail.com>
2020-07-02 09:28:09 +02:00
Lachlan Roberts f35d6cfd80 Issue #4985 - remove TODO in Dispatcher
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-02 16:02:24 +10:00
Lachlan Roberts 6407322d9c Issue #5012 - Remove unneeded dependency for test-jaas-webapp
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-02 11:15:34 +10:00
Simone Bordet 85bae0264a Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-06-30 09:32:13 +02:00
Simone Bordet 43e5473998 Fixes #4981 - Incorrect example for TryFilesFilter API docs.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-06-30 09:28:43 +02:00
Lachlan 7412b7a524
Merge pull request #4902 from eclipse/jetty-10.0.x-3428-decoderLists
Issue #3428 - support javax websocket decoder lists in jetty-10
2020-06-30 13:20:24 +10:00
Lachlan Roberts 9126b282b1 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-4985-AttributeNameSet 2020-06-30 11:22:41 +10:00
Lachlan Roberts 32b29a3ced fix DecoderListsTest and cleanup code
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-30 11:18:36 +10:00
Lachlan Roberts 4fdf52bd55 Issue #3428 - changes to AbstractDecodedMessageSink signature from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-29 20:34:18 +10:00
Lachlan Roberts acf47624a3 Issue #3428 - make AvailableDecoders only allow registration through EndpointConfig
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-29 19:01:00 +10:00
Lachlan Roberts eb01603abb Issue #3428 - improve testing and ensure decoders are registered in correct order
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-29 18:41:54 +10:00
Jan Bartel 49615156f9 Fix blank line in import. 2020-06-29 10:39:58 +02:00
Lachlan Roberts 5da4d7e460 Issue #3428 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-29 15:37:47 +10:00
Lachlan Roberts 35e82c85ff Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-3428-decoderLists 2020-06-29 11:33:03 +10:00
Joakim Erdfelt 02bd1e5956
Followup changes from merge
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-06-25 12:52:49 -05:00
Joakim Erdfelt e1c8a0e8b8
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-06-25 12:52:29 -05:00
Joakim Erdfelt 3adec35cf5
Fixing CustomImportOrder checkstyle violations
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-06-25 09:25:05 -05:00
Joakim Erdfelt cb898ac74a
Bumping up to Checkstyle 8.29
+ This is in response to a dependabot notification
  of vulnerabilities in Checkstyle 8.20

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-06-25 09:24:36 -05:00
Joakim Erdfelt eb84c244d2
Ensuring that usage of "/**/" within tests don't trigger checkstyle violation.
Example: arguments.add(Arguments.of("glob:/**/*.jar", true));
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-06-25 09:23:46 -05:00
Lachlan Roberts 693312a577 Issue #4985 - ensure every attribute in getAttributeNameSet has a non null value
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-25 23:15:12 +10:00
Lachlan Roberts 22d5321628 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-06-23 10:04:58 +10:00
Lachlan 1b59672b7f
Merge pull request #4987 from eclipse/jetty-9.4.x-1100-WebSocketEncoderLifeCycle
Issue #1100 - ensure init and destroy are always called on JSR356 Encoders
2020-06-23 09:43:50 +10:00
Lachlan Roberts 0db20886d0 Issue #1100 - ensure init and destroy are always called on JSR356 Encoders
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-22 11:51:06 +10:00
Lachlan Roberts a03a352d79 Issue #1100 - replicate issue where Encoder init and destroy never called
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-22 11:21:46 +10:00
olivier lamy f326ad065d Merge branch 'jetty-9.4.x' into jetty-10.0.x 2020-06-20 12:05:14 +10:00
Olivier Lamy a644a4b390
no need of creating/attaching sources twice for release as it is done in the default build (and we do not need forking a lifecycle for that) (#4938)
* no need of creating/attaching sources twice for release as it is done in the default build

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

* comment

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

* no need to fork a lifecycle when attaching sources files

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-06-19 12:47:46 +10:00
Simone Bordet 0b854a1f5f Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-06-18 15:37:09 +02:00
Simone Bordet c0481a5e5f
Issue #4965 - WINDOW_UPDATE for locally failed stream should not clos… (#4969)
* Issue #4965 - WINDOW_UPDATE for locally failed stream should not close the HTTP/2 session.

Improved HTTP2Session.onWindowUpdate() code to correctly check whether
the stream is already closed, and if so, just drop the WINDOW_UPDATE.
Refactored onResetForUnknownStream() to base class.
Other small refactorings to improve logging.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-06-18 15:23:51 +02:00
Lachlan 975eb05189
Merge pull request #4978 from eclipse/jetty-10.0.x-JettyHome-slf4j-impl
only include jetty-slf4j-impl jar once in jetty-home
2020-06-18 22:16:18 +10:00
Lachlan Roberts 3d10b2e9df only include jetty-slf4j jar once in jetty-home
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-18 09:28:57 +10:00
Lachlan Roberts 50b62c3771 Issue #4907 - merge synchronized blocks for suspendState
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-16 18:09:29 +10:00
olivier lamy f745d5d5df remove unused imports and upgrade testcontainers.version
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-06-15 17:40:15 +10:00