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
273a320f98
add support for the key_updated event for TLS key updates
2020-03-08 17:09:07 +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
Marten Seemann
3e32a693ad
introduce a marshaling format for data saved in the session ticket
2020-02-10 18:02:45 +08:00
Marten Seemann
182a25d2b9
don't use ASN.1 for marshalling data for the session ticket
2020-02-08 21:42:11 +01: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
5893e1ec28
add a workaround for the ChaCha20 bug
2020-01-31 12:19:58 +07: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
2473eb0895
queue 0-RTT packets for retransmission when 0-RTT is rejected
2020-01-30 09:11:44 +07:00
Marten Seemann
bc25840519
use 0.5-RTT data to open the control stream in the http3 server
2020-01-29 10:40:06 +07:00
Marten Seemann
e8cffacc77
Merge pull request #2321 from lucas-clemente/update-mockgen
...
update gomock to v1.4.0, simplify mock generation
2020-01-29 00:01:00 +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
4fa5cfdca9
simplify generation of mocks for internal types
2020-01-26 13:24:35 +07:00