Commit Graph

272 Commits

Author SHA1 Message Date
Ludovic Orban 33bdbfe1ed increase awaitility timeouts
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-31 11:39:32 +02:00
Ludovic Orban 134fb0a3ff avoid logging expected stack trace
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-31 11:39:32 +02:00
Lachlan 6567a4478e
Merge pull request #9798 from eclipse/jetty-10.0.x-QPACK-encoding
review and cleanup of HTTP/3 QPACK Integer and String encoding
2023-05-29 16:43:05 +10:00
Simone Bordet 420ec7cc1d
HTTP/2 improvements. (#9749)
* Implemented a few required error handlings.
* Changed `Parser.init()` to directly take the listener, rather than wrapping it.
  The reason for this change was to be able to reconfigure the Parser upon receiving a SETTINGS frame.
* Initially setting the encoder and decoder max table capacity at the default of 4096, as per spec.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-27 19:14:01 +02:00
Ludovic Orban 871022f3b0 #9397 add trust store config to H3
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-26 23:09:24 +02:00
Ludovic Orban e30b23aca6 #9397 fix keystores with invalid Subject Alternate Names
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-26 23:09:24 +02:00
Ludovic Orban 07a1c124f2 #9772 improve QuicServerConnector key+crt export folder
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-26 23:09:24 +02:00
Lachlan Roberts dca4e9832e review and cleanup of HTTP/3 Integer and String encoding
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-05-25 23:09:24 +10:00
Lachlan 6e8457cfde
Fixes to QPACK configuration from SETTINGS frames. (#9728)
* Improved configuration upon sending/receiving SETTINGS frames.
* Improved handling of blocked frames in HTTP3StreamConnection.
* Fixed locking and reentrance in QPACK encoder/decoder.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-05-15 15:07:33 +02:00
Ludovic Orban 7ac49cd43c
H3: Fix racy read from stream-less channel (#9761)
* #9655 introduce new Stream.Client.Listener.onNewStream() method to allow setting the channel's stream before sending any data to the network

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2023-05-15 09:50:36 +02:00
Lachlan Roberts 03d6afae91 Issue #9554 - rename NBitIntegerParser and NBitStringParser to decoders
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-05-04 09:31:20 +10:00
Lachlan Roberts 2d935efe4d Issue #9554 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-05-04 09:26:31 +10:00
Lachlan Roberts c2d2c1eadb Issue #9554 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-05-01 19:23:57 +10:00
Lachlan Roberts 1ee79f548c Issue #9554 - additional cleanups and testing
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-05-01 12:12:15 +10:00
Lachlan Roberts fa32199559 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-9554-qpack-hpack 2023-04-28 16:25:34 +10:00
Lachlan Roberts c3b6b47915 Use ISO-8859-1 for encoding/decoding in huffman/hpack/qpack
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-04-17 17:11:14 +10:00
Joakim Erdfelt ca3c1756ad
Updating to version 10.0.16-SNAPSHOT 2023-04-11 13:23:25 -05:00
Joakim Erdfelt 68017dbd00
Updating to version 10.0.15 2023-04-11 12:24:32 -05:00
Lachlan Roberts ebec7d2ea3 Issue #9554 - move common hpack/qpack code to jetty-http
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-04-11 16:51:37 +10:00
Olivier Lamy e62cc0344a Updating to version 10.0.15-SNAPSHOT 2023-03-01 18:55:10 +10:00
gregw 7a7d69a69f Happy no year
Remove modification date from copyright notice and instead just have the
project inception year.

Signed-off-by: gregw <gregw@webtide.com>
2023-02-15 15:22:32 +11:00
Joakim Erdfelt 54c4c03244
Updating to version 10.0.14-SNAPSHOT 2022-12-07 14:33:17 -06:00
Joakim Erdfelt 1c2636ea05
Updating to version 10.0.13 2022-12-07 14:12:50 -06:00
Olivier Lamy dbd07146ec
merge back release branch to bump version to 10.0.13-SNAPSHOT (#8593)
* Updating to version 10.0.12

* Updating to version 10.0.13-SNAPSHOT

* VERSION.TXT =+ content of jetty-9.4.49.v20220914 release

* remove strange line and reorder
2022-09-16 19:50:12 +10:00
Simone Bordet 8d2b182afe
Fixes #8558 - Idle timeout occurs on HTTP/2 with InputStreamResponseListener.
Fixed override of reset().

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-09-15 11:01:45 +02:00
Simone Bordet dab4fe60d3
Fixes #8558 - Idle timeout occurs on HTTP/2 with InputStreamResponseL… (#8585)
* Fixes #8558 - Idle timeout occurs on HTTP/2 with InputStreamResponseListener.

The issue was that HttpReceiverOverHTTP2.ContentNotifier.offer() was racy,
as a network thread could have offered a DATA frame, but not yet called
process() -- yet an application thread could have stolen the DATA frame
completed the response and started another response, causing the network
thread to interact with the wrong response.

The implementation has been changed so that HttpReceiverOverHTTP2.ContentNotifier
does not have a queue anymore and it demands DATA frames to the Stream
only when the application demands more -- a simpler model that just forwards
the demand.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-09-15 10:18:36 +02:00
Simone Bordet 77ad0189ba
Fixes #8532 - Review System.nanoTime() usages. (#8535)
* Fixes #8532 - Review System.nanoTime() usages.

Introduced o.e.j.util.NanoTime class to deal with nanoTimes.

Now NanoTime.now() should be used instead of System.nanoTime(),
and various <unit>[elapsed|since|until]() methods to calculate nanoTimes.

Furthermore, comparing 2 nanoTimes should be done via isBefore(),
rather than using the < operator, which is wrong as specified in
the System.nanoTime() javadocs.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-09-06 09:30:02 +02:00
Olivier Lamy 9149945945
simplify pom by using simple property rather than xml fragment (#7580)
* simplify pom by using simple property rather than xml fragment

Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-07-14 09:42:28 +10:00
Greg Wilkins 2b817f06c6
Combined ByteBufferPool (#8171)
All `ByteBufferPool` can now be accessed as `RetainableByteBufferPools`.

Users now need to configure only a single buffer pool and there is just the additional retained parameter that needs consideration.
Default buffer pool has been changed to logarithmic, but we may wish to review that before next release.
Default factor size has been increased to 4096.
2022-07-04 10:38:30 +10:00
Joakim Erdfelt 64d12e2a5a
Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194)
* Updating to version 10.0.11

* Updating to version 10.0.12-SNAPSHOT
2022-06-22 16:24:48 -05:00
Joakim Erdfelt c2bc103cb9
Merge Release 10.0.10 back into `jetty-10.0.x` (#8180)
* Updating to version 10.0.11-SNAPSHOT
2022-06-21 14:41:41 +02:00
Greg Wilkins 7a1c165677
Implement #8057 103 Early Hint (#8058)
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2022-06-01 11:56:54 +10:00
Simone Bordet 513a2cb256
Fixes #7935 - Review HTTP/2 error handling (#8048)
Fixed HTTP/3 in similar way as HTTP/2.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-05-23 16:12:24 +02:00
Lachlan Roberts 15e32ca3ea Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-7635-QpackDecoderMaxBlockedStreams 2022-05-16 09:59:00 +10:00
Lachlan Roberts ac56b95eba fix checkstyle violation
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-05-13 16:21:07 +10:00
Lachlan Roberts b9689c2f27 add missing licence header
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-05-13 16:15:03 +10:00
Lachlan Roberts 0b00c0628e Issue #7635 - add extra testing for QPACK blocked streams
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-05-13 16:11:15 +10:00
Lachlan Roberts 2e98a26f03 added extra checks in SectionAcknowledgmentTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-05-13 13:49:10 +10:00
Lachlan Roberts 8d331964a7 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-7635-QpackDecoderMaxBlockedStreams 2022-05-05 16:12:09 +10:00
Lachlan Roberts b9901bcd47 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-qpack-sectionAck 2022-05-05 16:10:36 +10:00
Lachlan Roberts 685d617a1b Issue #7802 - add testing for qpack section acknowledgement
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-05-05 16:09:55 +10:00
Joakim Erdfelt 16420f0181
Set version to `10.0.10-SNAPSHOT` (#7823)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-04-03 20:33:44 +10:00
Joakim Erdfelt f079949a35
Merge Release 10.0.9 (#7821)
* Updating to version 10.0.9

* Updating to version 10.0.10
2022-04-02 08:43:44 -05:00
Lachlan Roberts 6143e4358f do not expect section ack for zero required insert count
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-03-30 11:02:30 +11:00
Simone Bordet 40e7d6a716
Fixes #7774 - Flaky Test: DataDemandTest.testBlockingReadInADifferentThread(). (#7776)
Do not try to release the network buffer after having notified onDataAvailable()
because it can be in a race with the application trying to read data and also
trying to release the network buffer.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-03-25 11:30:53 +01:00
Lachlan Roberts 39ff60f595 Issue #7635 - implement maxBlockedStreams logic in QpackDecoder
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-02-28 18:54:40 +11:00
Simone Bordet 55eb982185
Fixes #7625 - HTTP/3 error against www.google.com
Now properly handling QPACK and HTTP/3 settings.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-02-22 11:36:37 +01:00
Simone Bordet a4fda96f49
Updating to version 10.0.9-SNAPSHOT 2022-02-07 12:02:02 +01:00
Simone Bordet 716c7afd8e
Updating to version 10.0.8 2022-02-07 11:34:12 +01:00
Joakim Erdfelt cb127793e5
Happy New Year 2022 (#7459)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-01-27 10:42:30 -06:00