Commit graph

103 commits

Author SHA1 Message Date
Marten Seemann
3e454ad2f7 remove superfluous parameters logged when not doing 0-RTT 2020-06-27 14:33:11 +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
3ac2fb3161 make quic-go build with both Go 1.13 and 1.14 2020-04-09 07:51:18 +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
0ef4f06189 move the transport parameters from the handshake to the wire package 2020-03-13 16:20:11 +07:00
Marten Seemann
bf2f91cae1 qlog key updates 2020-03-10 17:44:28 +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
114a790fd9 use the CipherSuiteName function exposed by qtls
This function was recently added to the standard library TLS
implementation.
2020-03-01 13:15:54 +07:00
Marten Seemann
2ea6a294a9 send the CONNECTION_CLOSE in all available encryption levels 2020-02-25 17:10:44 +07:00
Marten Seemann
d08c2145a4 drop 0-RTT read keys after 3 PTO 2020-02-18 17:51:05 +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
85abf5fc53 save the RTT in the session ticket and use it when accepting 0-RTT 2020-02-10 17:42:10 +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
3e32a693ad introduce a marshaling format for data saved in the session ticket 2020-02-10 18:02:45 +08:00
Marten Seemann
69ab66ba82 save the RTT along the session ticket and use it on resumed connections 2020-02-08 21:42:11 +01:00
Marten Seemann
539097fc6e return a quic.ConnectionState from Session.ConnectionState() 2020-01-30 09:21:09 +07:00
Marten Seemann
d7948d627a drop 0-RTT keys when the server rejects 0-RTT 2020-01-30 09:12:31 +07:00
Marten Seemann
080b61d271 only save transport parameters to session ticket when using 0-RTT 2020-01-17 10:50:27 +07:00
Marten Seemann
4ab4b8004a
Merge pull request #2274 from lucas-clemente/log-0-rtt-key-install
log when 0-RTT keys become available
2020-01-06 17:43:14 +07:00
Marten Seemann
a1840b3221 fix unmarshaling of transport parameters from session tickets 2020-01-02 15:12:32 +08:00
Marten Seemann
81831049c9 log when 0-RTT keys become available 2020-01-02 15:10:43 +08:00
Marten Seemann
052508e8c2 add a version to marshaled transport parameters in the session ticket 2020-01-01 18:04:02 +04:00
Marten Seemann
22abcfe6fb drop 0-RTT write keys when receiving the 1-RTT keys 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
Marten Seemann
9b0a4a8813 move unmarshaling of the transport parameters to the crypto setup 2020-01-01 18:04:01 +04:00
Marten Seemann
c5f74595ca receive 0-RTT sealers and openers from qtls when using 0-RTT 2019-12-30 18:39:21 +04:00
Marten Seemann
a9f4195fd0 check that transport params didn't change when accepting 2019-12-30 18:39:21 +04:00
Marten Seemann
12922bdec9 drop Handshake keys when receiving HANDSHAKE_DONE (as a client) 2019-12-06 10:29:48 +07:00
Marten Seemann
f7fd5d2848 drop Handshake keys as soon as the handshake completes (as a server) 2019-12-06 10:29:48 +07:00
Marten Seemann
d0a3eaa8a3 improve logging of handshake messages 2019-11-25 09:09:34 +07:00
Marten Seemann
3db60534cf use a sentinel error when a sealer is not yet available 2019-11-12 11:27:30 +07:00
Marten Seemann
f61f251fce implement correct dropping of Initial keys 2019-11-04 13:33:17 +07:00
Marten Seemann
416fe8364e remove unused return value from session constructor 2019-10-27 15:35:34 +07:00
Marten Seemann
ab2b26a5cb add the unparam linter 2019-09-17 13:44:05 +07:00
Marten Seemann
de3e1a3de5 log the cipher suite 2019-09-07 11:47:21 +07:00
Marten Seemann
33b74fca79 use the new qtls SetWriteKey and SetReadKey interface 2019-09-07 11:36:06 +07:00
Marten Seemann
63c079e234 move header protection to a separate struct 2019-09-07 11:32:48 +07:00
Marten Seemann
e224768e46 fix deadlock when the crypto setup is closed while qtls writes messages 2019-08-31 11:59:44 +07:00
Marten Seemann
c52a28cec1 explicitly trigger sending of session tickets 2019-07-05 20:53:25 +07:00
Marten Seemann
6bf42558f3 receive the encryption level for key updates from qtls 2019-07-05 10:36:53 +07:00
Marten Seemann
a3878d99c9 drop old keys 3 PTOs after a key update 2019-06-30 17:36:09 +07:00
Marten Seemann
0333f424bb
Merge pull request #1959 from lucas-clemente/optimize-crypto-packet-sending
optimize sending of crypto packets
2019-06-29 00:03:12 +08:00
Marten Seemann
a09c045324 initiate a key update after sending / receiving 100000 packets 2019-06-27 10:54:54 +08:00
Marten Seemann
73d5d83a1d pass the largest acked 1-RTT packet number to the crypto setup 2019-06-27 07:42:19 +08:00
Marten Seemann
acba7d4e77 return ErrKeysDropped when sealer keys were already dropped 2019-06-25 13:38:11 +08:00
Marten Seemann
4e1f18e833 avoid unnecessary initializations of heaper protectors on key updates 2019-06-22 20:01:18 +08:00
Marten Seemann
ca8b7ddeef add logging to the updatable AEAD 2019-06-22 20:01:18 +08:00
Marten Seemann
c522bcc683 return a defined error when the AEAD cannot open a packet 2019-06-22 20:01:18 +08:00
Marten Seemann
d3ca8db521 refactor initialization of AEADs 2019-06-22 20:01:18 +08:00