Commit Graph

4564 Commits

Author SHA1 Message Date
Marten Seemann
b391cce35c always send the original_destination_connection_id TP as a server 2020-05-29 19:50:14 +07:00
Marten Seemann
a7005ac936 use a separate function to restore transport parameters for 0-RTT 2020-05-29 19:50:14 +07:00
Marten Seemann
7e62a2fecc rename original_connection_id to original_destination_connection_id TP 2020-05-29 19:50:14 +07:00
Marten Seemann
fe85b52eed Merge pull request #2580 from lucas-clemente/duplicate-initial-handling
only create a single session for duplicate Initials
2020-05-29 17:27:52 +07:00
Marten Seemann
99dac1581a fix broken unit test in ackhandler 2020-05-29 17:20:47 +07:00
Marten Seemann
fefed78973 Merge pull request #2570 from lucas-clemente/update-alpn-to-draft-28
update the ALPN tokens to draft-28
2020-05-29 16:44:18 +07:00
Marten Seemann
8d00ec135e Merge pull request #2569 from lucas-clemente/drop-duplicate-packets
drop duplicate packets
2020-05-29 16:39:46 +07:00
Marten Seemann
05398bd3c9 Merge pull request #2571 from lucas-clemente/reduce-frame-sorter-test-verbosity
remove noisy log statement in frame sorter test
2020-05-29 16:38:23 +07:00
Marten Seemann
690bb5468c Merge pull request #2572 from lucas-clemente/fix-flaky-qlog-tests
fix flaky qlog unit tests
2020-05-29 16:37:56 +07:00
Marten Seemann
dad30e7c33 only create a single session for duplicate Initials 2020-05-29 16:04:45 +07:00
Marten Seemann
85c19fbb5a Merge pull request #2536 from lucas-clemente/amplification-protection
implement the 3x amplification limit
2020-05-27 10:06:32 +07:00
Marten Seemann
6cea2f8a65 fix flaky qlog unit tests 2020-05-27 10:03:36 +07:00
Marten Seemann
d896b5e6c8 remove noisy log statement in frame sorter test 2020-05-27 09:59:28 +07:00
Marten Seemann
dbe925d74a update the ALPN tokens to draft-28 2020-05-27 09:54:03 +07:00
Marten Seemann
e33f7d0fb9 add integration tests using a very long certificate chain
This will trigger the amplification protection.
2020-05-27 09:40:51 +07:00
Marten Seemann
e4f02ff68c generate a new CA and cert chain for every run of the integration tests 2020-05-27 09:40:51 +07:00
Marten Seemann
60a918a108 limit available window to 3x of received bytes before address validation 2020-05-27 09:40:50 +07:00
Marten Seemann
98233f6743 add a way to pack coalesced packets smaller than the usual packet size 2020-05-27 09:33:34 +07:00
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