Commit Graph

938 Commits

Author SHA1 Message Date
Marten Seemann
89c1045105 log sent packets right before sending them out
This means that the congestion stats logged will already include that packet.
2020-06-18 19:26:44 +07:00
Marten Seemann
4f19b15670 set and verify the retry_source_connection_id TP 2020-05-29 19:57:39 +07:00
Marten Seemann
fb2a5f413e set and verify the initial_source_connection_id 2020-05-29 19:50:14 +07:00
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
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
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
286dcf555f create the session timer at the beginning of the run loop 2020-05-02 08:35:35 +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
dd27bce3fb Merge pull request #2501 from lucas-clemente/qlog-timeouts
qlog session timeouts
2020-04-17 14:56:55 +07:00
Marten Seemann
88337ed8c0 fix packing of probe packets when retransmissions are canceled 2020-04-17 10:06:42 +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
140b90449b use decimal numbers when logging packet numbers 2020-04-16 09:50:55 +07:00
Marten Seemann
5a720f0af0 drop packets with version numbers that don't match the session's version 2020-04-16 09:41:33 +07:00
Marten Seemann
5bd6252616 Merge pull request #2480 from lucas-clemente/qlog-dropped-retry
qlog dropped Retry packets
2020-04-16 09:31:47 +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
4d442101b3 remove duplicate check for handshake and idle timeout in session 2020-04-14 18:21:41 +07:00
Marten Seemann
24508a3d39 qlog dropped Retry packets 2020-04-12 19:26:30 +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
8e76881bc4 Merge pull request #2477 from lucas-clemente/fix-corrupted-scid
update the source connection ID if the session was created from an invalid Initial
2020-04-09 00:45:15 +07:00
Marten Seemann
969abdd8d5 update the source connection ID when we created a session for an invalid Initial 2020-04-08 22:12:41 +07:00
Marten Seemann
a02fb1fa6f qlog dropped 0-RTT packets (on the client side) 2020-04-08 22:10:47 +07:00
Marten Seemann
1655768d57 qlog packets that are dropped due to mismatching source connection ID 2020-04-08 22:10:46 +07:00
Marten Seemann
3bede6ddf5 qlog coalesced packets dropped due to wrong destination connection ID 2020-04-08 22:08:29 +07:00
Marten Seemann
e5ebb32d01 Merge pull request #2471 from lucas-clemente/fix-transport-parameter-qlogging
qlog transport parameters before performing any validity checks on them
2020-04-08 22:08:12 +07:00
Marten Seemann
44eb324101 don't export the qlog file when receiving a Version Negotiation packet 2020-04-08 21:11:27 +07:00
Marten Seemann
fa18a1642a qlog transport parameters before performing any validity checks on them 2020-04-08 21:04:52 +07:00
Marten Seemann
ddab69ca9e fix logging of the size of received packets 2020-04-07 16:45:15 +07:00
Marten Seemann
0c070bd9e6 Merge pull request #2445 from lucas-clemente/qlog-received-packet-before-frames
qlog the packet_received event before any frame-specific events
2020-04-03 11:01:34 +07:00
Marten Seemann
673b2ddad3 qlog sending of packets before logging packet-related events
When we send a packet, we might set a loss detection timer. The log will
be easier to interpret if the log loss_timer_updated event comes after
the packet_sent event.
2020-03-30 10:59:18 +07:00
Marten Seemann
f69709ee0e qlog the packet_received event before any frame-specific events 2020-03-27 20:25:17 +07:00
Marten Seemann
a82d6bb910 qlog stateless resets 2020-03-26 20:36:26 +07:00
Marten Seemann
ef901e3435 use the current timestamp of every event in qlog 2020-03-23 16:25:42 +07:00
Marten Seemann
6d61dccc2f rename the constructors for the various qerr.Error flavors 2020-03-21 10:53:03 +07:00
Marten Seemann
c9cbc26c95 Merge pull request #2421 from lucas-clemente/qlog-transport-parameters
qlog transport parameters
2020-03-18 12:02:30 +07:00
Marten Seemann
eabab8b99b qlog dropped packets 2020-03-18 11:20:50 +07:00
Marten Seemann
99f03d1595 qlog sent and received transport parameters 2020-03-18 11:20:27 +07:00
Marten Seemann
c4889996e4 Merge pull request #2423 from lucas-clemente/qlog-dropped-encryption-levels
qlog dropped encryption levels
2020-03-18 09:33:41 +07:00
Marten Seemann
63921b6dcb qlog dropped encryption levels 2020-03-13 17:17:28 +07:00
Marten Seemann
0ef4f06189 move the transport parameters from the handshake to the wire package 2020-03-13 16:20:11 +07:00
Marten Seemann
699c988917 remove stray debug message in session 2020-03-12 11:56:45 +07:00
Marten Seemann
f976a0ba11 qlog when undecryptable packets are buffered 2020-03-11 11:14:22 +07:00
Marten Seemann
bf60280792 Merge pull request #2406 from lucas-clemente/use-spa-conn-id
use the connection ID from the preferred_address transport parameter
2020-03-10 18:00:36 +07:00
Marten Seemann
d4a17a47a9 Merge pull request #2411 from lucas-clemente/remove-superflous-undecryptable-queueing-case
remove superflous case when queueing undecryptable packets
2020-03-10 16:55:49 +07:00
Marten Seemann
273a320f98 add support for the key_updated event for TLS key updates 2020-03-08 17:09:07 +07:00
Marten Seemann
eab5adc48c use the connection ID from the preferred_address transport parameter 2020-03-08 15:13:38 +07:00