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
Marten Seemann
9bc8822585
remove superflous case when queueing undecryptable packets
...
This was only needed in gQUIC. In IETF QUIC, we determine the keys from
the packet header. The crypto setup will return an ErrKeysDropped if we
already dropped the corresponding keys.
2020-03-08 14:14:15 +07:00
Marten Seemann
d50f935319
don't send packets after receiving a CONNECTION_CLOSE
2020-02-25 17:54:55 +07:00
Marten Seemann
2ea6a294a9
send the CONNECTION_CLOSE in all available encryption levels
2020-02-25 17:10:44 +07:00
Marten Seemann
c1cb3e64dc
fix logging of coalesced packets
...
Coalesced packets that just have a single part shouldn't be logged as
coalesced packets.
2020-02-21 17:09:03 +07:00
Marten Seemann
a5fc72047e
simplify pruning of old ACK ranges
2020-02-21 15:46:58 +07:00
Marten Seemann
f317a471bb
use a single constructor for SentPacketHandler and ReceivedPacketHandler
2020-02-21 15:45:24 +07:00
Marten Seemann
e97e3040ed
make sure the client sends packets to unblock the server
2020-02-21 12:29:11 +07:00
Marten Seemann
d20c1bfaed
remove unused parameter from SentPacketHandler.ReceivedAck
2020-02-21 10:05:17 +07:00
Marten Seemann
29b784e782
rename packet packing functions in the packet packer
2020-02-20 16:42:58 +07:00
Marten Seemann
5aad7cae5d
send coalesced packets
2020-02-20 16:42:56 +07:00
Marten Seemann
d642bf9098
simplify content storage in packed packets
...
It's not necessary to store both the packetBuffer and the slice
containing the raw data in the packet.
2020-02-20 16:25:54 +07:00
Marten Seemann
a4b4d52063
refactor packing of packets before and after the handshake is confirmed
2020-02-20 16:19:08 +07:00
Marten Seemann
f034e8ba19
set the LocalAddr that is used in the tls.ClientHelloInfo.Conn
2020-02-16 14:10:30 +07:00
Marten Seemann
a3fe9445cc
set the packet_size on the packet_received and packet_sent event
2020-02-12 10:42:38 +07:00
Marten Seemann
f13ca7e791
qlog loss recovery metrics
2020-02-12 10:42:38 +07:00
Marten Seemann
a58bcb747b
qlog received Retry packets
2020-02-12 10:42:38 +07:00
Marten Seemann
b031615db5
export a qlog when the session's run loop stops
2020-02-12 10:42:37 +07:00
Marten Seemann
8cde4ab638
refactor how session tickets are sent
...
Previously, RunHandshake() would send the session tickets. Now, the
session initiates the sending of the session ticket. This simplifies the
setup a bit, and it will make it possible to include the RTT estimate in
the session ticket without accessing the RTTStats concurrently.
2020-02-10 17:42:09 +07:00
Marten Seemann
93693349f3
collapse packetHandlerManager.Add and AddIfNotTaken into one function
2020-02-03 17:34:07 +01:00
Marten Seemann
634169b061
don't return a stateless reset token when adding a new connection ID
...
Both server and client didn't make use of the token. It was only used by
the connIDGenerator.
2020-02-03 17:31:47 +01:00
Marten Seemann
539097fc6e
return a quic.ConnectionState from Session.ConnectionState()
2020-01-30 09:21:09 +07:00
Luke Tucker
6407f5bf68
Fix keepalive ping ( #2316 )
...
The firstAckElicitingPacketAfterIdleSendTime condition was inverted
in a recent PR, maybe just a typo. This was causing only one ping
to be sent during periods of no activity. The ack from the first
keepalive ping causes firstAckElicitingPacketAfterIdleSentTime
to be set to zero. If there is no further activity, it will remain
zero and prevent further keepalive pings.
2020-01-27 11:13:54 +07:00
Marten Seemann
a93e544c94
remove Session.Close()
...
Session.Close() sends a transport-level error code. Applications should
not be able to call this function, but use CloseWithError() instead.
2020-01-26 17:41:53 +07:00
Marten Seemann
6f347233e2
update the name of the disable_active_migration transport parameter
2020-01-21 15:05:12 +07:00
Marten Seemann
5a566f2176
Merge pull request #2226 from lucas-clemente/retry-integrity
...
implement the retry integrity tag
2020-01-17 17:19:15 +07:00
Marten Seemann
7b10453af8
implement the Retry integrity tag
2020-01-17 13:42:57 +07:00
Marten Seemann
eeba3951ae
only enable 0-RTT when using ListenEarly and DialEarly
2020-01-17 11:22:12 +07:00
Marten Seemann
079279b9cf
fix mismatching expectation of the keep alive timer
...
session.maybeResetTimer() and session.run() were using slightly
different definitions of when a keep-alive PING should be sent. Under
certain conditions, this would make us repeatedly set a timer for the
keep-alive, but on timer expiration no keep-alive would be sent.
2020-01-08 11:09:45 +07:00
Marten Seemann
1723a16b00
Merge pull request #2273 from lucas-clemente/improve-dropped-packet-logging
...
log the packet size of dropped packets
2020-01-06 17:42:53 +07:00
Marten Seemann
c0e8df7bbc
fix race condition when destroying the session
2020-01-04 14:57:42 +07:00
Marten Seemann
63096562a0
log the packet size of dropped packets
2020-01-02 14:52:35 +08:00
Marten Seemann
ce7583f813
add DialEarly and DialAddrEarly to dial 0-RTT connections
2020-01-01 18:04:02 +04:00
Marten Seemann
40a993e31c
check that the client doesn't switch back to 0-RTT after sending 1-RTT
2020-01-01 18:04:02 +04:00
Marten Seemann
44aa12850e
restore the server's transport parameters from the session ticket
2020-01-01 18:04:02 +04:00