Commit Graph

4276 Commits

Author SHA1 Message Date
Marten Seemann
70263249ee simplify casting of the (q)tls.ClientSessionCache 2020-02-26 16:13:57 +07:00
Marten Seemann
d31dcdaa7b Merge pull request #2373 from lucas-clemente/invalid-token
send an INVALID_TOKEN error when receiving an invalid token
2020-02-25 20:18:12 +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
3e083d19f4 Merge pull request #2377 from lucas-clemente/dont-send-after-close
don't send packets after receiving a CONNECTION_CLOSE
2020-02-25 19:43:26 +07:00
Marten Seemann
d50f935319 don't send packets after receiving a CONNECTION_CLOSE 2020-02-25 17:54:55 +07:00
Marten Seemann
8aeb510dd2 Merge pull request #2369 from lucas-clemente/connection-close-encryption-levels
send the CONNECTION_CLOSE in all available encryption levels
2020-02-25 17:53:33 +07:00
Marten Seemann
49c6dfe2da Merge pull request #2380 from lucas-clemente/fix-http3-server-logger-race
fix race condition when creating the logger for the HTTP/3 server
2020-02-25 17:19:21 +07:00
Marten Seemann
2ea6a294a9 send the CONNECTION_CLOSE in all available encryption levels 2020-02-25 17:10:44 +07:00
Marten Seemann
75f14a267e Merge pull request #2381 from lucas-clemente/remove-stray-travis-before-install
remove stray commands from the Travis before_install
2020-02-25 16:52:31 +07:00
Marten Seemann
8bbd4f2dc6 remove stray commands from the Travis before_install 2020-02-25 16:10:09 +07:00
Marten Seemann
a44c81e210 fix race condition when creating the logger for the HTTP/3 server 2020-02-25 16:09:19 +07:00
Marten Seemann
51f51d5a71 Merge pull request #2383 from lucas-clemente/fix-0rtt-retry-test
fix flaky 0-RTT Retry test
2020-02-25 16:07:34 +07:00
Marten Seemann
4fc5974938 fix flaky 0-RTT Retry test 2020-02-24 19:09:00 +07:00
Marten Seemann
ca469eb0b6 Merge pull request #2378 from lucas-clemente/fix-flaky-http3-server-test
fix flaky HTTP/3 Server unit test
2020-02-24 16:40:14 +07:00
Marten Seemann
383adb619c fix flaky HTTP/3 Server unit test 2020-02-24 16:19:37 +07:00
Marten Seemann
4a96b2fa83 Merge pull request #2365 from lucas-clemente/pad-outside-of-quic-packets
pad the client's Initial packets outside of the QUIC packet
2020-02-24 15:51:15 +07:00
Marten Seemann
ebe3c1cca4 pad the client's Initial packets outside of the QUIC packet
This allows us to send coalesced packets of Initial and 0-RTT.
2020-02-24 13:57:54 +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
a8f96bbd83 Merge pull request #2368 from lucas-clemente/standard-library-chacha
use the golang/x/crypto ChaCha20 implementation
2020-02-24 13:50:48 +07:00
Marten Seemann
5410f8091d Merge pull request #2366 from lucas-clemente/fix-coalesced-packet-logging
fix logging of coalesced packets
2020-02-24 13:50:24 +07:00
Marten Seemann
0c326ab401 Merge pull request #2372 from lucas-clemente/no-ginkgo-lint
remove stray GinkgoRecover(), add a lint script to check that
2020-02-24 13:49:27 +07:00
Marten Seemann
e188a6deb5 Merge pull request #2370 from lucas-clemente/fix-flaky-half-rtt-data-test
fix flaky 0.5-RTT data test
2020-02-24 13:48:30 +07:00
Marten Seemann
aa9a5a4e5f add a lint script to verify that Ginkgo is not imported 2020-02-23 09:50:12 +07:00
Marten Seemann
215ca4c155 remove stray GinkgoRecover() in http3.Server 2020-02-23 09:43:40 +07:00
Marten Seemann
d8d622ee99 fix flaky 0.5-RTT data test 2020-02-22 16:17:34 +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
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
f5d88d3edd Merge pull request #2359 from lucas-clemente/simplify-ack-range-pruning
simplify ACK range pruning
2020-02-21 16:00:14 +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
e9cdb29ef9 Merge pull request #2362 from lucas-clemente/client-amplification-protection
implement the client side for the amplification protection
2020-02-21 15:34:21 +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
7a532326ec don't pack ACK frames in the second part of a coalesced packet
This prevents a possible overflow of the maximum packet size if the ACK
frames ends up being really large.
2020-02-20 16:42:58 +07:00
Marten Seemann
db7fc0eb02 simplify packing of Initial and Handshake packets 2020-02-20 16:42:58 +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
244e1ae8e7 Merge pull request #2353 from lucas-clemente/qlog-connection-started-event
add support for the connection_started event
2020-02-20 16:27:22 +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
88fc6b9a87 Merge pull request #2332 from phuslu/http-context-key
Add LocalAddr/ContextKey to http3 request context
2020-02-20 16:24:50 +07:00
Marten Seemann
077504f557 refactor sealing of packets 2020-02-20 16:19:08 +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
d08c2145a4 drop 0-RTT read keys after 3 PTO 2020-02-18 17:51:05 +07:00
Marten Seemann
e01995041e Merge pull request #2357 from lucas-clemente/loss-timer
fix early retransmit loss timer
2020-02-18 16:45:12 +07:00
Marten Seemann
1692adb142 fix unit tests for the early retransmit timer 2020-02-18 12:04:27 +07:00