Commit Graph

4696 Commits

Author SHA1 Message Date
Marten Seemann
440ff107a3 drop duplicate packets
Duplicate detection uses the same data structure that is used to track
received packets to generate ACK frames. That means that after an old
ACK range has been pruned, a severly delayed packet might be incorrectly
detected as a duplicate.
As we wouldn't have acknowledged receipt of this packet, this situation
would have resulted in a retransmission by the peer anyway, so dropping
the packet won't cause a big regression.
2020-05-27 09:20:51 +07:00
Marten Seemann
fd5ecee85d Merge pull request #2561 from lucas-clemente/rewrite-frame-sorter
rewrite the frame sorter
2020-05-25 16:29:55 +07:00
Marten Seemann
bf86f0eff9 Merge pull request #2560 from lucas-clemente/update-golangci-lint
update golangci-lint to v1.27.0
2020-05-25 15:34:23 +07:00
Marten Seemann
4e8d244dfa Merge pull request #2563 from lucas-clemente/fix-reordered-ncid-frame
retire conn IDs with sequence numbers smaller than the currently active
2020-05-25 15:20:05 +07:00
Marten Seemann
0d288d3b19 Merge pull request #2559 from lucas-clemente/remove-read-offset
remove unused readOffset member variable in receiveStream
2020-05-25 15:19:48 +07:00
Marten Seemann
86ddf2e84e Merge pull request #2564 from lucas-clemente/fix-int-overflow-in-tp-parsing
fix int overflow when parsing the transport parameters
2020-05-25 15:18:14 +07:00
Marten Seemann
39fe927ef5 rewrite the frame sorter 2020-05-25 13:10:26 +07:00
Marten Seemann
b2c4dacd25 fix int overflow when parsing the transport parameters 2020-05-24 12:59:47 +07:00
Marten Seemann
b0c1aed4d2 retire conn IDs with sequence numbers smaller than the currently active 2020-05-23 15:08:36 +07:00
Marten Seemann
7be6adac55 update golangci-lint to v1.27.0 2020-05-23 08:18:02 +07:00
Marten Seemann
652125367c remove unused readOffset member variable in receiveStream 2020-05-23 07:53:13 +07:00
Marten Seemann
fa69438124 Merge pull request #2555 from mw-jn/master
use struct{} instead of bool in window update queue
2020-05-22 08:34:46 +07:00
Marten Seemann
960e3f078b Merge pull request #2554 from lucas-clemente/update-protobuf
update the protobuf library to google.golang.org/protobuf/proto
2020-05-22 08:34:24 +07:00
mawei
4a5adad35b use struct{} instead of bool in map just as a set 2020-05-21 19:20:14 +08:00
Marten Seemann
477c5858dc update the protobuf library to google.golang.org/protobuf/proto 2020-05-21 17:35:12 +07:00
Marten Seemann
798051a0e4 Merge pull request #2546 from lucas-clemente/crypto-stream-finish-error
use the correct error code for crypto stream errors
2020-05-15 15:34:38 +07:00
Marten Seemann
df06ee5e37 use the correct error code for crypto stream errors 2020-05-14 17:12:07 +07:00
Marten Seemann
1cd1c3f54d Merge pull request #2538 from lucas-clemente/bundle-small-writes
bundle small writes on streams
2020-05-14 11:51:34 +07:00
Marten Seemann
ae14a447a5 Merge pull request #2534 from lucas-clemente/reduce-unprocessed-packet-chan-length
reduce the length of the unprocessed packet chan in the session
2020-05-13 21:04:33 +07:00
Marten Seemann
83be7daef3 Merge pull request #2537 from lucas-clemente/fix-flaky-session-test
fix flaky session unit test
2020-05-13 20:53:45 +07:00
Marten Seemann
e569a3d98e Merge pull request #2535 from lucas-clemente/send-stream-stress-test
add a send stream test that randomly acknowledges and loses data
2020-05-13 20:53:00 +07:00
Marten Seemann
bb6fdf274d Merge pull request #2542 from mw-jn/master
fix size calculation for version negotiation packets
2020-05-13 12:12:37 +07:00
mawei
38691a1278 calculate version negotiation packet size to avoid bytes.Buffer growing the bytes 2020-05-13 12:34:39 +08:00
Marten Seemann
84f7a9dfdd bundle small writes on streams 2020-05-12 12:36:32 +07:00
Marten Seemann
33694fd77b fix flaky session unit test 2020-05-11 16:03:16 +07:00
Marten Seemann
d1c6d808b0 add a send stream test that randomly acknowledges and loses data 2020-05-11 10:05:39 +07:00
Marten Seemann
e7208219a9 reduce the length of the unprocessed packet chan in the session 2020-05-09 09:14:19 +07:00
Marten Seemann
3e7f9f764a Merge pull request #2528 from lucas-clemente/unit-tests-race-detector
run all unit tests with race detector
2020-05-08 18:56:14 +07:00
Marten Seemann
9c3b947814 run all unit tests with race detector 2020-05-06 11:15:18 +07:00
Marten Seemann
5a169b3c9a fix racy session unit test 2020-05-06 11:15:18 +07:00
Marten Seemann
6bcb4e69ee Merge pull request #2517 from lucas-clemente/chacha-interop-test
add support for the ChaCha20 interop test case
2020-05-06 08:04:46 +07:00
Marten Seemann
2e402ffc86 Merge pull request #2524 from lucas-clemente/fix-buffer-use-after-release
fix buffer use after it was released when sending an INVALID_TOKEN error
2020-05-05 19:14:39 +07:00
Marten Seemann
ff681962e8 Merge pull request #2385 from lucas-clemente/race-detector
run the internal and http3 tests with race detector on Travis
2020-05-05 19:12:59 +07:00
Marten Seemann
b7af419bd0 Merge pull request #2527 from lucas-clemente/reset-pto-when-dropping-packet-number-space
reset the PTO when dropping a packet number space
2020-05-05 18:13:45 +07:00
Marten Seemann
b128ad50c9 run the internal and http3 tests with race detector on Travis 2020-05-05 18:13:14 +07:00
Marten Seemann
25b3eb8a37 fix race condition in the TLS extension handler test 2020-05-05 18:13:14 +07:00
Marten Seemann
d277e013ab fix race condition in the crypto setup tests 2020-05-05 18:13:14 +07:00
Marten Seemann
d4757395b6 make it possible to run the handshake unit tests with race detector 2020-05-05 18:13:12 +07:00
Marten Seemann
4d83009c26 Merge pull request #2519 from lucas-clemente/fix-stream-deadline-timer-leak
stop the deadline timer in Stream.Read and Write
2020-05-05 18:08:20 +07:00
Marten Seemann
5aec9daf86 Merge pull request #2513 from lucas-clemente/pto-count-on-ack
don't reset pto_count on Initial ACKs
2020-05-05 18:07:07 +07:00
Marten Seemann
5de2090b49 Merge pull request #2525 from lucas-clemente/racy-session-tests
fix all race conditions in the session tests
2020-05-05 18:06:46 +07:00
Marten Seemann
4b7494d22e Merge pull request #2526 from lucas-clemente/wait-for-server-run-loop
make sure that the server's run loop returned when closing
2020-05-05 18:04:44 +07:00
Marten Seemann
95879d4872 Merge pull request #2522 from lucas-clemente/fix-flaky-proxy-test
fix flaky proxy test
2020-05-05 18:03:58 +07:00
Marten Seemann
741a1aa211 reset the PTO when dropping a packet number space 2020-05-05 16:28:25 +07:00
Marten Seemann
f2efe19c3c fix race conditions in the packet sending tests in the session 2020-05-05 14:37:18 +07:00
Marten Seemann
e1d1421111 fix racy idle timeout test in the session 2020-05-05 14:37:18 +07:00
Marten Seemann
de3f04f697 fix racy transport parameter test in the session 2020-05-05 14:37:18 +07:00
Marten Seemann
2ea3b534bc fix race conditions in the session tests that test closing 2020-05-05 14:37:18 +07:00
Marten Seemann
aabdb172ff fix race condition in the client session tests 2020-05-05 14:37:18 +07:00
Marten Seemann
380ba4877b make sure that the server's run loop returned when closing 2020-05-05 12:40:53 +07:00