Marten Seemann
99dac1581a
fix broken unit test in ackhandler
2020-05-29 17:20:47 +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
60a918a108
limit available window to 3x of received bytes before address validation
2020-05-27 09:40:50 +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
b2c4dacd25
fix int overflow when parsing the transport parameters
2020-05-24 12:59:47 +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
mawei
38691a1278
calculate version negotiation packet size to avoid bytes.Buffer growing the bytes
2020-05-13 12:34:39 +08: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
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
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
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
741a1aa211
reset the PTO when dropping a packet number space
2020-05-05 16:28:25 +07:00
Marten Seemann
1db3f06e87
stop the timer when the session's run loop returns
2020-05-02 07:53:47 +07:00
Marten Seemann
538cbf7dc0
don't reset the PTO count on Initial ACKs before address validation
2020-05-01 09:58:34 +07:00
Marten Seemann
15a19f681d
add a unit test for resetting of the PTO count when receiving an ACK
2020-05-01 09:54:03 +07:00
Marten Seemann
97e191f3b4
update the ChaCha implementation, remove 0xffffffff workaround
2020-04-24 10:18:41 +07:00
Marten Seemann
d1d4e5ce02
reset the PTO count when receiving a Retry
2020-04-17 15:15:11 +07:00
Marten Seemann
dc3c96debf
qlog session timeouts
2020-04-17 08:23:25 +07:00
Marten Seemann
f8720bbd55
Merge pull request #2497 from lucas-clemente/logging-numbers
...
use decimal numbers for logging packet numbers, stream offsets and byte counts
2020-04-16 15:52:07 +07:00
Marten Seemann
e116e2f4cc
use decimal number for logging stream offsets and byte counts
2020-04-16 09:50:55 +07:00
Marten Seemann
140b90449b
use decimal numbers when logging packet numbers
2020-04-16 09:50:55 +07:00
Marten Seemann
416dc485f8
add a qlog method to log version negotiation packets
2020-04-16 09:50:34 +07:00
Marten Seemann
b705b623a7
Merge pull request #2483 from lucas-clemente/qlog-packet-drop-unknown-version
...
qlog when packets are dropped due to unsupported QUIC version
2020-04-16 09:31:01 +07:00
Marten Seemann
19f06ad3a9
remove PRR code
2020-04-13 16:31:02 +07:00
Marten Seemann
f58eb47383
qlog when packets are dropped due to unsupported QUIC version
2020-04-10 14:39:02 +07:00
Marten Seemann
6bb11abcd7
use the optimized HKDF-Expand-Label everywhere
2020-04-09 08:33:59 +07:00
Marten Seemann
816019b94e
add an optimized implementation of HKDF-Expand-Label
...
The standard library uses cryptobyte.Builder in hkdfExpandLabel. This
costs quite a bit of performance. Using an optimized implementation
speeds up the initialization of the AEAD used for the Initial encryption
level by ~15%.
2020-04-09 08:16:23 +07:00
Marten Seemann
3ac2fb3161
make quic-go build with both Go 1.13 and 1.14
2020-04-09 07:51:18 +07:00
Marten Seemann
bb2a05af0a
Merge pull request #2474 from lucas-clemente/validate-preferred-address-conn-id-len
...
validate connection ID length in preferred_address transport parameter
2020-04-08 21:04:06 +07:00
Marten Seemann
a9bae761f5
Merge pull request #2469 from lucas-clemente/fix-received-packet-size-logging
...
fix logging of the size of received packets
2020-04-08 20:59:29 +07:00
Marten Seemann
96ac90e6be
validate connection ID length in preferred_address transport parameter
2020-04-08 17:13:35 +07:00
Marten Seemann
8fd2674ce4
fix conversion of qtls.ClientHelloInfo in GetCertificate
2020-04-08 16:19:45 +07:00
Marten Seemann
66d50b4289
fix conversion of qtls.ClientHelloInfo in GetConfigForClient
2020-04-08 15:56:30 +07:00
Marten Seemann
ddab69ca9e
fix logging of the size of received packets
2020-04-07 16:45:15 +07:00
Marten Seemann
a983c40cdd
don't log a metrics_update when sending a non-ack-eliciting packet
2020-04-04 13:45:25 +07:00
Marten Seemann
92c0f81bf4
improve error handling in sentPacketHandler
2020-04-04 13:00:39 +07:00
Marten Seemann
c810f95632
Merge pull request #2449 from lucas-clemente/qlog-loss-timer
...
implement the qlog loss timer events
2020-04-02 16:35:51 +07:00
Marten Seemann
5365ac2c47
Merge pull request #2457 from lucas-clemente/anti-deadlock-timer
...
correctly set anti-deadlock timer after the Initial space was dropped
2020-04-02 15:51:16 +07:00
Marten Seemann
d368117b13
qlog changes to the loss timer
2020-04-02 15:50:40 +07:00
Marten Seemann
3e2c27e4cd
qlog updated metrics when sending a packet
2020-04-02 15:05:46 +07:00
Marten Seemann
c4c372744a
correctly set anti-deadlock timer after the Initial space was dropped
2020-04-02 15:04:08 +07:00
Marten Seemann
c10af76a4a
Merge pull request #2455 from lucas-clemente/loss-before-ack
...
notify the congestion controller of losses first
2020-04-02 14:38:39 +07:00
Marten Seemann
5ce1eb6013
move OnPacketLost out of detectAndRemoveLosPackets
2020-04-01 18:44:52 +07:00
Marten Seemann
269f14d86c
notify the congestion controller of losses first
2020-04-01 17:33:29 +07:00
Marten Seemann
e2e3e10a63
rename methods in sentPacketHandler to match the draft
2020-04-01 13:39:55 +07:00
Marten Seemann
37f1a3fdda
simplify removing of acked packets from packet history
2020-04-01 13:37:17 +07:00
Marten Seemann
e942a590fd
rename peerNotAwaitingAddressValidation to peerCompletedAddressValidation
2020-03-31 08:30:16 +07:00