Commit Graph

983 Commits

Author SHA1 Message Date
Marten Seemann
6d61dccc2f rename the constructors for the various qerr.Error flavors 2020-03-21 10:53:03 +07:00
Marten Seemann
05ec6d2ea8 Merge pull request #2416 from lucas-clemente/cancel-amplification-timer-after-handshake-completion
don't send anti-deadlock packet after handshake confirmation
2020-03-18 09:34:34 +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
cdf2449785 don't send anti-deadlock packet after handshake confirmation 2020-03-11 15:08:01 +07:00
Marten Seemann
bf2f91cae1 qlog key updates 2020-03-10 17:44:28 +07:00
Marten Seemann
8b61b4f1f3 Merge pull request #2409 from lucas-clemente/qlog-pto
qlog changes to the PTO count
2020-03-10 17:40:09 +07:00
Marten Seemann
e2e6f79c25 Merge pull request #2405 from lucas-clemente/remember-active-conn-id-limit
remember the value of the active_connection_id_limit transport parameter
2020-03-10 16:56:26 +07:00
Marten Seemann
2cee7dd88a Merge pull request #2408 from lucas-clemente/update-golang-ci
update GolangCI-Lint to v1.23.8
2020-03-10 16:53:41 +07:00
Marten Seemann
49a5856efb qlog changes of the PTO count 2020-03-10 16:51:28 +07:00
Marten Seemann
eb19ec6096 Merge pull request #2402 from lucas-clemente/reset-pto-count-when-dropping-pn-space
reset the PTO count when dropping a packet number space
2020-03-10 16:49:56 +07:00
Marten Seemann
54775ffaad Merge pull request #2415 from lucas-clemente/vnp-fixed-bit
only set the 0x80 bit to 1 for version negotiation packets
2020-03-10 16:48:29 +07:00
Marten Seemann
0b6750d4ab Merge pull request #2407 from lucas-clemente/fix-spa-typo
fix typo in preferredAddressParameterID constant name
2020-03-10 16:47:11 +07:00
Marten Seemann
c720250b9b only set the 0x80 bit to 1 for version negotiation packets 2020-03-10 14:43:19 +07:00
Marten Seemann
b45050b824 remember the value of the active_connection_id_limit transport parameter 2020-03-08 18:16:03 +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
0b3340493a update GolangCI-Lint to v1.23.8 2020-03-05 10:20:15 +07:00
Marten Seemann
19ffcdd2ff fix typo in preferredAddressParameterID constant name 2020-03-05 09:56:15 +07:00
Marten Seemann
cef5416356 reset the PTO count when dropping a packet number space 2020-03-05 08:48:33 +07:00
Marten Seemann
3734fbc11e fix ChaCha20 header protection 2020-03-02 18:24:50 +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
6fe4878f0e update to qtls based on Go 1.14's TLS implementation 2020-02-28 16:48:29 +07:00
Marten Seemann
c88a69034d use Go 1.14's embedded interfaces, update CIs 2020-02-28 15:25:53 +07:00
Marten Seemann
c6a230f3d6 Merge pull request #2388 from lucas-clemente/crypto-retransmissions
refactor the way crypto retransmissions are packed
2020-02-28 15:19:15 +07:00
Marten Seemann
70263249ee simplify casting of the (q)tls.ClientSessionCache 2020-02-26 16:13:57 +07:00
Marten Seemann
d024df7c8e implement splitting of CRYPTO frames 2020-02-26 11:24:15 +07:00
Marten Seemann
e57caf0bae send an INVALID_TOKEN error when receiving an invalid token 2020-02-25 19:43:57 +07:00
Marten Seemann
2ea6a294a9 send the CONNECTION_CLOSE in all available encryption levels 2020-02-25 17:10:44 +07:00
Marten Seemann
24b840f56d fix dropping of the Initial packet number space for clients 2020-02-24 13:57:54 +07:00
Marten Seemann
212bfed0d2 Merge pull request #2367 from lucas-clemente/varint-transport-parameters
change the transport parameter format to varint
2020-02-24 13:56:39 +07:00
Marten Seemann
b658f92060 use the golang/x/crypto ChaCha20 implementation
https://go-review.googlesource.com/c/crypto/+/206638 added the
SetCounter method required for QUIC's header protection.
2020-02-22 10:53:41 +07:00
Marten Seemann
9ee6efd506 change the transport parameter format to varint 2020-02-22 09:36:02 +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
73937e8753 Merge pull request #2349 from lucas-clemente/coalesced-packets
implement sending of coalesced packets
2020-02-20 16:53:33 +07:00
Marten Seemann
ad7327845c Merge pull request #2358 from lucas-clemente/drop-0rtt-keys
drop 0-RTT read keys after 3 PTO
2020-02-20 16:47:14 +07:00
Marten Seemann
23059d5a68 Merge pull request #2280 from lucas-clemente/zero-rtt-queue
queue 0-RTT for 100ms to allow the corresponding Initial to arrive
2020-02-20 16:44:03 +07:00
Marten Seemann
5aad7cae5d send coalesced packets 2020-02-20 16:42:56 +07:00
Marten Seemann
d08c2145a4 drop 0-RTT read keys after 3 PTO 2020-02-18 17:51:05 +07:00
Marten Seemann
1692adb142 fix unit tests for the early retransmit timer 2020-02-18 12:04:27 +07:00
zverevm
4f7b0b1675 Do not ignore loss timer. 2020-02-17 12:36:42 +01: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
643f0b4c67 drop incoming packets when the server's receive queue is full 2020-02-15 16:43:00 +07:00
Marten Seemann
ba095dd3ff delete 0-RTT queues if no Initial is received within 100ms 2020-02-15 15:44:09 +07:00
Marten Seemann
2b7133a6e2 implement a queue for 0-RTT packets 2020-02-15 15:44:08 +07:00
Marten Seemann
5a7f743733 qlog lost packets 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
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