Commit Graph

5053 Commits

Author SHA1 Message Date
Marten Seemann
29f48d8d70 Merge pull request #2906 from lucas-clemente/chrome-compatibility-mode
disable key updates when using HTTP/3 to avoid breaking Chrome 87
2020-12-04 09:23:07 +07:00
Marten Seemann
d35cce1aa3 Merge pull request #2903 from lucas-clemente/fix-packet-number-decoding
fix decoding of packet numbers in different packet number spaces
2020-12-04 09:20:22 +07:00
Marten Seemann
baa0e425b7 Merge pull request #2912 from lucas-clemente/fix-sent-packet-qlog-order
log sent packet before logging its congestion / loss recovery effects
2020-12-04 09:19:56 +07:00
Marten Seemann
be40ef18ba Merge pull request #2925 from lucas-clemente/fix-http3-server-getconfigforclient-nil
fix a crash in the http3.Server when GetConfigForClient returns nil
2020-12-04 09:17:10 +07:00
Marten Seemann
712c96370e Merge pull request #2915 from lucas-clemente/unit-test-no-fail-fast
run all unit test jobs, even if one of them fails
2020-12-04 09:10:45 +07:00
Marten Seemann
241ceb2922 Merge pull request #2896 from lucas-clemente/read-buffer-windows
set the UDP receive buffer size on Windows
2020-12-04 09:10:15 +07:00
Marten Seemann
b03cd413d6 Merge pull request #2894 from lucas-clemente/remove-sleep-in-test
remove superfluous sleep in packet handler map test
2020-12-04 09:09:25 +07:00
Marten Seemann
a35d494bf6 Merge pull request #2900 from lucas-clemente/fix-http-handler-in-example-server
fix setting of http.Handler in the example server
2020-12-04 09:09:01 +07:00
Marten Seemann
95334202c5 fix decoding of packet numbers in different packet number spaces
When QUIC abandoned the "stream 0" design, it introduced separate
packet number spaces for packets with different encryption levels.
Packet number compression now also works per packet number space.
The current code doesn't lead to any problems if the peer starts sending
with packet number 0, as we only exchange a few packets in the Initial
and the Handshake packet number space and there's nothing to compress.
It might lead to problems if the peer starts with a large packet number
in one space (which is allowed by the spec), and then starts with a
small packet number in another packet number space.
2020-12-03 23:35:27 +07:00
Marten Seemann
9f14d82553 fix a crash in the http3.Server when GetConfigForClient returns nil 2020-12-03 16:51:32 +07:00
Marten Seemann
c5b8e3a06b run all unit test jobs, even if one of them fails 2020-11-29 13:24:47 +07:00
Marten Seemann
33e818f5e9 log sent packet before logging its congestion / loss recovery effects 2020-11-29 12:30:01 +07:00
Marten Seemann
35690c5d46 disable key updates when using HTTP/3 to avoid breaking Chrome 87 2020-11-27 10:38:16 +07:00
Marten Seemann
a76879c305 remove stray print statement 2020-11-24 09:05:23 +07:00
Marten Seemann
eb53fdfdb3 fix setting of http.Handler in the example server 2020-11-23 11:08:26 +07:00
Marten Seemann
9d9307495b set the UDP receive buffer size on Windows 2020-11-21 17:49:39 +07:00
Marten Seemann
ed1956f5a9 Merge pull request #2869 from lucas-clemente/remove-unnecessary-mutex-operation
remove unnecessary mutex locking in the stream flow controller
2020-11-21 16:58:28 +07:00
Marten Seemann
d161d7e722 remove superfluous sleep in packet handler map test 2020-11-21 16:56:42 +07:00
Marten Seemann
655632b116 avoid duplicate mutex locking when reading data 2020-11-20 15:45:38 +07:00
Marten Seemann
5352cd509b remove unnecessary mutex locking in the stream flow controller 2020-11-20 15:29:55 +07:00
Marten Seemann
69158cf5f1 Merge pull request #2886 from lucas-clemente/fix-syscalls
only use syscalls on platforms that we're actually testing
2020-11-20 00:03:53 +07:00
Marten Seemann
a9f807c316 Merge pull request #2884 from lucas-clemente/fix-header-fuzz-header-length
only write headers with a length that fits into 2 bytes in fuzz test
2020-11-19 23:10:05 +07:00
Marten Seemann
f0aa336e09 only write headers with a length that fits into 2 bytes in fuzz test 2020-11-19 13:43:48 +07:00
Marten Seemann
631e37cc70 only use syscalls on platforms that we're actually testing 2020-11-18 19:00:07 +07:00
Marten Seemann
287a324acf Merge pull request #2882 from lucas-clemente/fix-1rtt-probe-packet-packing
fix packing of 1-RTT probe packets
2020-11-18 16:57:51 +07:00
Marten Seemann
47c3cd8bb4 send 5 kB of stream data in the handshake drop test 2020-11-17 13:34:01 +07:00
Marten Seemann
192bc8dc2a account for the size of the header when packing 1-RTT probe packets 2020-11-17 13:08:06 +07:00
Marten Seemann
ad8367cb43 Merge pull request #2876 from lucas-clemente/fix-initial-padding
use PADDING frames to pad packets
2020-11-16 15:15:39 +07:00
Marten Seemann
d1a784d092 use PADDING frames to pad Initial packets 2020-11-15 10:03:14 +07:00
Marten Seemann
2c975bca54 always use a 2-byte encoding for the packet length of Long Header packets 2020-11-14 17:39:31 +07:00
Marten Seemann
653a107606 implement a function to encode a varint using a fixed length 2020-11-14 16:08:18 +07:00
Marten Seemann
e676a83ca2 Merge pull request #2874 from lucas-clemente/fix-accept-stream-race
fix race condition when accepting streams
2020-11-13 18:33:34 +07:00
Marten Seemann
46991ae0ec add a randomized test for accepting streams 2020-11-13 18:13:03 +07:00
Marten Seemann
64daf71e3a fix race condition when stream is created while AcceptStream is waiting 2020-11-13 18:13:02 +07:00
Marten Seemann
629272c713 Merge pull request #2871 from lucas-clemente/fix-missing-tracer-check-in-session
only trace dropped 0-RTT packets when a tracer is set
2020-11-11 17:21:27 +07:00
Marten Seemann
0b8a67ef95 Merge pull request #2870 from lucas-clemente/client-test-fix-version-numbers
use consistent version numbers in client test
2020-11-11 17:19:02 +07:00
Marten Seemann
0d5de40d45 only trace dropped 0-RTT packets when a tracer is set 2020-11-11 17:13:56 +07:00
Marten Seemann
78e9a3bcad use consistent version numbers in client test 2020-11-11 16:58:23 +07:00
Marten Seemann
d0cdfc8926 Merge pull request #2865 from lucas-clemente/flow-control-replace-rwmutex
replace the RWMutex with a Mutex in the flow controller
2020-11-11 10:45:11 +07:00
Marten Seemann
0bd10a6517 Merge pull request #2864 from lucas-clemente/packet-handler-map-mutex-type
replace the RWMutex with a Mutex in the packet handler map
2020-11-11 10:44:26 +07:00
Marten Seemann
3cd8b30ea6 Merge pull request #2856 from lucas-clemente/conn-id-update-handshake-completion
wait until the handshake is complete before updating the connection ID
2020-11-10 20:52:09 +07:00
Marten Seemann
e8a9888f25 Merge pull request #2857 from lucas-clemente/fix-spa-conn-id-handling
only check the SCID for Initial packets
2020-11-10 20:51:28 +07:00
Marten Seemann
23e4d15283 Merge pull request #2861 from lucas-clemente/no-viable-path-error
add the NO_VIABLE_PATH error
2020-11-10 20:50:40 +07:00
Marten Seemann
ac06cf2504 Merge pull request #2853 from lucas-clemente/qlog-preferred-address
implement qlogging of the preferred address in the transport parameters
2020-11-10 20:50:17 +07:00
Marten Seemann
0a07b339b8 Merge pull request #2854 from lucas-clemente/http-header-set-version
explicitly set the supported versions in the HTTP/3 server test
2020-11-10 20:49:50 +07:00
Marten Seemann
59cafab0f3 Merge pull request #2862 from lucas-clemente/simplify-amplification-limit
allow an amplification factor of 3.x
2020-11-10 20:49:23 +07:00
Marten Seemann
3a06c188f6 replace the RWMutex with a Mutex in the flow controller 2020-11-07 10:12:46 +07:00
Marten Seemann
ba37b0e02b replace the RWMutex with a Mutex in the packet handler map 2020-11-06 17:09:21 +07:00
Marten Seemann
0c2f562411 allow an amplification factor of 3.x 2020-11-06 14:16:11 +07:00
Marten Seemann
96ac98a862 add the NO_VIABLE_PATH error 2020-11-06 12:35:49 +07:00