Commit Graph

4294 Commits

Author SHA1 Message Date
Marten Seemann
43dfc7281f update H3 and hq to -27 2020-03-01 12:22:07 +07:00
Marten Seemann
4c94670c94 Merge pull request #2387 from lucas-clemente/go-1.14
update to Go 1.14
2020-02-28 16:59:33 +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
42bf68205c fix flaky session unit test 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
dd2d26c13d Merge pull request #2392 from lucas-clemente/fix-config-populating
copy the GetLogWriter callback when populating a quic.Config
2020-02-28 15:23:42 +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
f7c0a6c299 Merge pull request #2389 from lucas-clemente/simplify-unsafe-client-session-cache
simplify casting of the (q)tls.ClientSessionCache
2020-02-28 15:11:00 +07:00
Marten Seemann
715654ace9 Merge pull request #2384 from lucas-clemente/fix-flaky-server-test
fix flaky server unit test
2020-02-28 15:06:22 +07:00
Marten Seemann
888f77270e Merge pull request #2386 from lucas-clemente/update-qtls
update qtls to v0.7.2
2020-02-28 15:05:57 +07:00
Marten Seemann
3b1e6118da Merge pull request #2371 from lorenzosaino/fix-http3-client-close
Make http3.client.Close() succeed if session was not started
2020-02-28 12:00:50 +07:00
Marten Seemann
4109df32ff copy the GetLogWriter callback when populating a quic.Config 2020-02-27 18:06:25 +07:00
Marten Seemann
70263249ee simplify casting of the (q)tls.ClientSessionCache 2020-02-26 16:13:57 +07:00
Marten Seemann
fb65a017ac use shorter packet numbers on Long Header packets 2020-02-26 11:26:15 +07:00
Marten Seemann
5bfac02a44 split CRYPTO frames when packing retransmissions, if neccessary 2020-02-26 11:24:42 +07:00
Marten Seemann
d024df7c8e implement splitting of CRYPTO frames 2020-02-26 11:24:15 +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
75c2d9f2b6 update qtls to v0.7.2
This version makes sure that the server first checks the ALPN, and only
exports Handshake secrets after the application protocol was chosen.
2020-02-25 17:53:08 +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
6c02bd3a30 fix flaky server unit test 2020-02-25 16:10:25 +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
Lorenzo Saino
8db2288382 Make http3.client.Close() succeed if session was not started
Invoking http3.client.Close() before client.dial() is invoked
causes a segmentation fault. That occurs because, in this
circumstance, invoking client.Close() results in invoking
client.session.CloseWithError(...) while client.session is nil.

This commit changes the behavior of
http3.client.Close() to return nil if client.session
is nil and adds an associated test case.
2020-02-23 00:21:19 +00: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