Marten Seemann
53412e9ba3
trace arbitrary length Connection IDs for Version Negotiation packets
2022-08-29 10:58:33 +03:00
Marten Seemann
ecc8320c2c
add a tracer function to trace sending of Version Negotiation packets
2022-08-29 10:58:33 +03:00
Marten Seemann
6aaa9a817c
rename the EarlySession to EarlyConnection
2022-03-27 11:27:25 +01:00
Marten Seemann
e71c236232
rename the Session to Connection
2022-03-27 11:27:23 +01:00
Marten Seemann
7d5a7b47cb
remove unneeded calls to goimports when generating mocks
2022-01-09 10:11:21 +04:00
Marten Seemann
1613809ba2
use the new error types to log the reason why a connection is closed
2021-05-03 14:00:41 +07:00
Marten Seemann
90727cb41a
introduce a quic.StreamError type and use it for stream cancelations
2021-05-01 09:39:52 +07:00
Marten Seemann
f5238bf7b1
move the ApplicationErrorCdoe to the qerr package
2021-05-01 09:38:49 +07:00
Marten Seemann
d2739abd74
Merge pull request #3148 from lucas-clemente/fix-on-loss-detection-busy-looping
...
declare the handshake confirmed when receiving an ACK for a 1-RTT packet
2021-04-30 23:57:17 +07:00
Marten Seemann
0413afd615
Merge pull request #3153 from lucas-clemente/trace-version-selection
...
trace and qlog version selection / negotiation
2021-04-28 18:13:18 +07:00
Marten Seemann
e7c4e756ad
trace and qlog version selection / negotiation
2021-04-19 11:38:10 +07:00
Marten Seemann
17d9860db6
declare the handshake confirmed when receiving an ACK for a 1-RTT packet
...
... on the client side. Both the receipt of HANDSHAKE_DONE and the
receipt of an ACK for a 1-RTT packet are sufficient for declaring
confirmation of the handshake.
2021-04-14 22:33:45 +07:00
Marten Seemann
878e0b261a
pass a context to logging.Tracer.NewConnectionTracer
...
This context has the same value attached to it as the context returned
by Session.Context().
In the case of a dialed connection, this context is derived from the
context used for dialing.
2021-04-14 16:59:36 +07:00
Marten Seemann
c30a45ef6f
don't pass the QUIC version to the StartedConnection event
...
The version might change in response to a Version Negotiation packet.
2021-04-02 17:33:49 +07:00
Marten Seemann
ea14ce5724
Merge pull request #3134 from lucas-clemente/trace-acked-packets
...
make it possible to trace acknowledged packets
2021-04-02 17:33:19 +07:00
Marten Seemann
875692ea10
add a function to trace acknowledged packets
2021-04-02 11:37:07 +07:00
Marten Seemann
e9b4f9ba07
avoid type confusion between protocol.PacketType and logging.PacketType
...
The enums have completely different meanings. protocol.PacketType only
defines long header types, whereas logging.PacketType defines all
different types of QUIC packets (including short header packets).
2021-03-21 12:56:52 +08:00
Marten Seemann
f8313d868f
return an Err0RTTRejected when the server rejects a 0-RTT connection
2021-03-09 18:02:12 +08:00
Marten Seemann
a04a0072fb
add a function to reset the connection flow controller
2021-03-09 17:59:48 +08:00
Marten Seemann
dd8b21f264
use the actual maximum packet size in the Reno congestion controller
2021-03-03 12:00:14 +08:00
Marten Seemann
383f1a6e89
update gomock to v1.5.0
2021-02-20 09:33:43 +08:00
Marten Seemann
b906364469
fix qtls imports in mockgen generated mocks
2021-02-11 09:26:25 +08:00
Marten Seemann
d04662a964
add a RestoredTransportParameters method to the logging interface
2021-01-15 17:13:46 +08:00
Marten Seemann
98145368cd
implement receiving of DATAGRAM frames
2020-12-09 15:31:23 +07:00
Marten Seemann
791f896f80
implement sending of datagrams
2020-12-09 15:31:23 +07:00
Marten Seemann
5a0ce24265
Merge pull request #2909 from lucas-clemente/qlog-generic-event
...
add a generic Debug() function to the connection tracer
2020-12-06 09:50:25 +07:00
Marten Seemann
ff1f433c36
add a generic Log() function to the connection tracer
2020-12-06 09:33:38 +07:00
Marten Seemann
02b700804f
remove support for quic-trace
2020-12-05 23:13:45 +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
0c2f562411
allow an amplification factor of 3.x
2020-11-06 14:16:11 +07:00
Marten Seemann
b9090d71ae
rename cryptoSetup.DropHandshakeKeys() to SetHandshakeConfirmed()
2020-09-30 12:14:16 +07:00
Marten Seemann
9d4b4f6bf0
check that the peer updated its keys when acknowledging a key update
2020-09-15 13:37:48 +07:00
Marten Seemann
fa4f0a9e7a
keep track of ECN counts on received packets
2020-09-14 17:01:34 +07:00
Marten Seemann
dbaacd49bd
add a logging event for dropping 1-RTT keys
2020-09-09 23:53:47 +07:00
Marten Seemann
e0824e3163
move the logging mock implementations to a separate package
2020-09-09 15:15:49 +07:00
Marten Seemann
977dbc828c
move all dependencies on qtls to a separate package
2020-08-18 14:26:23 +07:00
Marten Seemann
8db76ab9c2
only arm the application data PTO timer after the handshake is confirmed
2020-07-27 16:40:21 +07:00
Marten Seemann
0b7efe10d1
trace congestion state changes
2020-07-23 11:53:59 +07:00
Marten Seemann
741dc28d74
move the RTTStats to the utils package
...
The RTTStats are used by the logging package. In order to instrument the
congestion package, the RTTStats can't be part of that package any more
(to avoid an import loop).
2020-07-23 11:53:08 +07:00
Marten Seemann
0c551c893c
trace packets that are sent outside of a connection
2020-07-16 08:20:36 +07:00
Marten Seemann
dc245ca6a3
trace dropped packets in the server
2020-07-15 20:33:58 +07:00
Marten Seemann
ee24d3899e
simplify the Tracer interface by combining the TracerFor... methods
2020-07-11 13:22:52 +07:00
Marten Seemann
f93708aca8
introduce a logging.CloseReason to log the reason a session was closed
...
This also allows us to get rid of the ReceivedStatelessReset() method.
2020-07-10 19:23:32 +07:00
Marten Seemann
7d6ce4ea45
rename the logging.CloseReason to TimeoutReason
2020-07-10 19:17:21 +07:00
Marten Seemann
993d71fd56
move the SupportedVersions slice out of the wire.Header
2020-07-09 12:05:33 +07:00
Marten Seemann
ed120f670c
add logging aliases for frames, create a logging.STREAM and CRYPTO frame
2020-07-06 09:21:32 +07:00
Marten Seemann
ac606222e0
replace the GetLogWriter quic.Config option by a Tracer interface
2020-07-01 16:57:03 +07:00
Marten Seemann
4121ea84f4
rename the logging.Tracer to ConnectionTracer
2020-07-01 16:57:01 +07:00
Marten Seemann
7f6eca84da
replace the logging.Export() method by a Close() method
2020-07-01 16:54:44 +07:00
Marten Seemann
78ba619a0b
split the qlog package into a logging and a qlog package
2020-07-01 16:49:24 +07:00