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