Marten Seemann
3588cddd43
allow 0-RTT resumption if the server's stream limit was increased
2021-03-11 21:37:40 +08:00
Marten Seemann
3bce408c8d
Merge pull request #3074 from lucas-clemente/fix-0rtt-queue-race
...
fix race condition when receiving 0-RTT packets
2021-03-11 21:36:04 +08:00
Marten Seemann
2bd316b89e
store 0-RTT queues in the packet handler map
...
This prevents a race condition between receiving of 0-RTT packets and
the creation of new session.
2021-03-11 21:16:50 +08:00
Marten Seemann
ecc86aa1ab
refactor session creation in the server
2021-03-11 21:05:41 +08:00
Marten Seemann
bab0384444
use a tracer to check for received 0-RTT packet in 0-RTT integration tests
2021-03-11 21:05:41 +08:00
Marten Seemann
7042ef8f8f
simplify 0-RTT integration tests
2021-03-11 21:05:41 +08:00
Marten Seemann
7676e455c5
add a function to tell if a packet is a 0-RTT packet
2021-03-11 21:05:41 +08:00
Marten Seemann
b2c2e4940f
Merge pull request #3066 from lucas-clemente/zero-rtt-rejection
...
require the application to handle 0-RTT rejection
2021-03-11 21:04:14 +08:00
Marten Seemann
9dcb56b76f
Merge pull request #2893 from lucas-clemente/clean-up-workflow
...
clean up the GitHub Action unit test workflow
2021-03-10 12:32:37 +08:00
Marten Seemann
f7bb5c9551
Merge pull request #3059 from lucas-clemente/github-actions-debug
...
add a debug option to the GitHub Action integrationtest workflow
2021-03-10 12:31:23 +08:00
Marten Seemann
af284030e9
clean up the GitHub Action unit test workflow
2021-03-10 12:23:03 +08:00
Marten Seemann
20018c836b
Merge pull request #3081 from mengelbart/datagram-queue-deadlock
...
add an internal queue to signal that a datagram frame has been dequeued
2021-03-10 12:21:06 +08:00
Marten Seemann
12a37cdcaf
add a debug option to the GitHub Action integrationtest workflow
2021-03-10 12:11:13 +08:00
Marten Seemann
db9807d779
Merge pull request #2966 from lucas-clemente/increase-max-datagram-frame-size
...
increase the maximum size of DATAGRAM frames
2021-03-10 12:08:00 +08:00
Mathis Engelbart
bcc7baf111
add an internal queue to signal that a datagram frame has been dequeued
2021-03-09 18:53:20 +01:00
Marten Seemann
f8313d868f
return an Err0RTTRejected when the server rejects a 0-RTT connection
2021-03-09 18:02:12 +08:00
Marten Seemann
97ab014479
don't retransmit 0-RTT packets when 0-RTT is rejected
2021-03-09 17:59:49 +08:00
Marten Seemann
8b63039664
add a function to reset the streams map after 0-RTT rejection
2021-03-09 17:59:49 +08:00
Marten Seemann
a04a0072fb
add a function to reset the connection flow controller
2021-03-09 17:59:48 +08:00
Marten Seemann
c741b6fc09
drop STREAM and *_BLOCKED frames from queue when 0-RTT is rejected
2021-03-09 17:59:11 +08:00
Marten Seemann
eb3e100e80
Merge pull request #3079 from lucas-clemente/remove-broken-conn-id-len-0rtt-test
...
remove non-functioning 0-RTT test with different conn ID lengths
2021-03-09 17:44:40 +08:00
Marten Seemann
6440908f53
remove non-functioning 0-RTT test with different conn ID lengths
2021-03-09 17:27:10 +08:00
Marten Seemann
5a3fd58186
Merge pull request #3073 from lucas-clemente/reject-0rtt-before-transport-parameters
...
reject 0-RTT before handling transport parameters
2021-03-09 16:53:06 +08:00
Marten Seemann
bab88b4727
reject 0-RTT before handling transport parameters
2021-03-09 16:36:33 +08:00
Marten Seemann
3b6f118fda
Merge pull request #3078 from lucas-clemente/remove-structs-equal
...
remove stray struct equality check
2021-03-09 16:30:30 +08:00
Marten Seemann
1113892489
remove stray struct equality check
...
This check was moved to qtls.
2021-03-09 16:17:41 +08:00
Marten Seemann
506281b904
Merge pull request #3058 from lucas-clemente/fix-0rtt-conn-id-issuing
...
fix issuing of connection IDs when dialing a 0-RTT connections
2021-03-09 16:11:17 +08:00
Marten Seemann
13ad4ce48b
Merge pull request #3070 from lucas-clemente/fix-0rtt-rejected-on-hrr
...
only call the Rejected0RTT() callback on HRR when 0-RTT was tried
2021-03-09 16:08:57 +08:00
Marten Seemann
c802ebe026
Merge pull request #3060 from lucas-clemente/check-active-conn-id-limit-for-0rtt
...
only accept 0-RTT it the active_connection_id_limit didn't change
2021-03-09 15:58:53 +08:00
Marten Seemann
33037be2ed
only call the Rejected0RTT() callback on HRR when 0-RTT was tried
2021-03-09 15:57:26 +08:00
Marten Seemann
f58b4560a3
Merge pull request #3072 from lucas-clemente/max-streams-frame-error
...
remove unused error return value from HandleMaxStreamsFrame
2021-03-09 15:45:32 +08:00
Marten Seemann
547de4cb51
Merge pull request #3068 from lucas-clemente/fix-flaky-accept-queue-test
...
fix flaky accept queue integration test
2021-03-09 15:44:33 +08:00
Marten Seemann
bd8e2412d9
Merge pull request #3069 from lucas-clemente/run-go-mod-tidy
...
use Go 1.16 in the linting workflow, run go mod tidy using Go 1.16
2021-03-09 15:43:42 +08:00
Marten Seemann
b8358dc2bb
Merge pull request #3063 from lucas-clemente/dont-reset-qpack-streams
...
don't reset the QPACK encoder / decoder streams
2021-03-08 18:08:02 +08:00
Marten Seemann
8a0b1dd78d
remove unused error return value from HandleMaxStreamsFrame
2021-03-07 12:36:50 +08:00
Marten Seemann
be7fe3306c
Merge pull request #3071 from VinozzZ/master
...
remove incorrect logging for client side retry packet
2021-03-05 23:47:29 +08:00
Yingrong Zhao
4e1cca5d76
remove incorrect logging for client side retry packet
2021-03-05 09:49:56 -05:00
Marten Seemann
3a41dd00d3
use Go 1.16 in the linting workflow, run go mod tidy using Go 1.16
2021-03-05 13:28:37 +08:00
Marten Seemann
67503f9d41
fix flaky accept queue integration test
2021-03-05 11:55:45 +08:00
Kévin Dunglas
3b916f2e80
allow sending 1xx responses ( #3047 )
...
Currently, it's not possible to send informational responses such as 103 Early Hints or 102 Processing.
This patch allows calling WriteHeader() multiple times in order to send informational responses before the final one.
It follows the patch for HTTP/1 (golang/go#42597 ) and HTTP/2 (golang/net#96 ).
In conformance with RFC 8297, if the status code is 103 the current content of the header map is also sent. Its content is not removed after the call to WriteHeader() because the headers must also be included in the final response.
The Chrome and Fastly teams are starting a large-scale experiment to measure the real-life impact of the 103 status code.
Using Early Hints is proposed as a (partial) alternative to Server Push, which are going to be removed from Chrome: https://groups.google.com/a/chromium.org/g/blink-dev/c/K3rYLvmQUBY/m/21anpFhxAQAJ
Being able to send this status code from servers implemented using Go would help to see if implementing it in browsers is worth it.
2021-03-05 10:03:31 +08:00
Marten Seemann
6f32d2df1d
don't reset the QPACK encoder / decoder streams
...
We don't need these streams, since our QPACK implementation doesn't use the
dynamic table yet. However, we MUST NOT close / reset these streams. Instead,
just ignore them.
2021-03-04 11:14:00 +08:00
Marten Seemann
f513437854
Merge pull request #3062 from lucas-clemente/fix-retry-draft-34
...
fix retry key and nonce for draft-34
2021-03-04 11:13:34 +08:00
Marten Seemann
048543bd50
set the TIMESCALE_FACTOR for integration tests on CircleCI and GitHub Actions
2021-03-04 10:45:27 +08:00
Marten Seemann
543d144690
Merge pull request #3028 from lucas-clemente/dplpmtud
...
implement DPLPMTUD
2021-03-03 23:04:22 +08:00
Marten Seemann
bd172b2a5a
fix retry key and nonce for draft-34
2021-03-03 23:01:42 +08:00
Marten Seemann
35da77afd1
only accept 0-RTT it the active_connection_id_limit didn't change
2021-03-03 21:52:45 +08:00
Marten Seemann
10217a6f3b
fix issuing of connection IDs when dialing a 0-RTT connections
...
When dialing a 0-RTT connection, the client first restores the transport
parameters from the original connection, and then applies the transport
parameters provided by the server on the new connections.
2021-03-03 14:10:06 +08:00
Marten Seemann
765d26f132
don't reduce the congestion window when a path MTU probe packet is lost
2021-03-03 12:00:52 +08:00
Marten Seemann
ac87292e87
start path MTU discovery when the handshake completes
2021-03-03 12:00:51 +08:00
Marten Seemann
cb1eab22de
add a quic.Config option to disable Path MTU discovery
2021-03-03 12:00:14 +08:00