Commit Graph

3571 Commits

Author SHA1 Message Date
Marten Seemann
375b609610 fix ALPN in echo example 2019-06-07 16:27:37 +08:00
Marten Seemann
d0b5cc1133 Merge pull request #1950 from lucas-clemente/openstreamsync-in-order
return OpenStreamSync calls in the order they were called
2019-06-07 13:00:18 +08:00
Marten Seemann
061b92ea5c return OpenStreamSync calls in the order they were called 2019-06-06 17:43:38 +08:00
Marten Seemann
e7f20d427b Merge pull request #1948 from lucas-clemente/stream-num
refactor the stream maps
2019-06-05 23:46:36 +08:00
Marten Seemann
857e4ae9a9 use stream numbers, not stream ids, in the stream maps 2019-06-05 20:01:51 +08:00
Marten Seemann
a8633a952c introduce a type for the stream number 2019-06-05 17:45:17 +08:00
Marten Seemann
0dd26f4a4c return the invalid stream ID if no streams are allowed 2019-06-05 15:17:30 +08:00
Marten Seemann
42fdeab091 remove stray print statement in streams map 2019-06-05 13:23:17 +08:00
Marten Seemann
af5c057457 Merge pull request #1944 from lucas-clemente/enforce-alpn
enforce ALPN
2019-06-02 15:10:13 +08:00
Marten Seemann
7c1f9dffe4 add an integration test for ALPN 2019-06-02 14:58:41 +08:00
Marten Seemann
09111b45f9 reject a tls.Config without NextProtos for dialing 2019-06-02 14:58:41 +08:00
Marten Seemann
8eeddeb9c0 reject a tls.Config without NextProtos for listening 2019-06-02 14:58:41 +08:00
Marten Seemann
979ab75b3b require ALPN during the TLS handshake 2019-06-02 14:58:37 +08:00
Marten Seemann
74ddf326c1 Merge pull request #1943 from lucas-clemente/new-tokens
send NEW_TOKEN frames
2019-06-02 14:42:25 +08:00
Marten Seemann
314df9229c Merge pull request #1941 from lucas-clemente/post-handshake-errors
add error handling for post-handshake crypto messages
2019-06-02 14:26:05 +08:00
Marten Seemann
34543848f0 send a NEW_TOKEN from after completing the handshake (as a server) 2019-06-02 14:18:27 +08:00
Marten Seemann
784ed16d94 Merge pull request #1945 from lucas-clemente/fix-flaky-token-generator-test
fix flaky token generator test on CI
2019-06-02 14:14:25 +08:00
Marten Seemann
7c7bcede6c rename handshake.TokenGenerator.NewToken to NewRetryToken 2019-06-02 14:14:05 +08:00
Marten Seemann
17634d2fe5 error when receiving a post-handshake message with wrong encryption level 2019-06-02 14:10:51 +08:00
Marten Seemann
7fbae1c915 Merge pull request #1942 from lucas-clemente/token-expiry-time
reduce the Retry token expiry time to 10 seconds
2019-06-02 14:09:38 +08:00
Marten Seemann
d4da26bdbd fix flaky token generator test on CI 2019-06-02 13:57:51 +08:00
Marten Seemann
1873503937 reduce the Retry token expiry time to 10 seconds
The expiry time used to be 24 hours before. The reason for this long
duration was that this included tokens that were issued to be used
between separate connections in gQUIC. At the moment, we are only
generating tokens for Retry packets, i.e. within a single connection.
They are therefore expected to be used within a single round trip.
2019-06-01 16:32:54 +08:00
Marten Seemann
6888eb8593 return an error when handling the NewSessionTicket failed 2019-06-01 13:01:49 +08:00
Marten Seemann
4e709efa2f Merge pull request #1939 from lucas-clemente/crypto-setup-error-signaling
improve error handling in the crypto setup
2019-05-31 19:30:43 +08:00
Marten Seemann
e361d3c5cd use a callback to signal completion of the handshake 2019-05-31 19:13:41 +08:00
Marten Seemann
4fd6a7cc99 use a struct to pass callbacks from the session to the crypto setup 2019-05-31 19:00:10 +08:00
Marten Seemann
3b4e552582 Merge pull request #1936 from lucas-clemente/token-timestamp
use a high resolution timestamp in the token
2019-05-31 18:57:51 +08:00
Marten Seemann
743868159f use a callback to pass handshake errors to the session 2019-05-31 18:35:37 +08:00
Marten Seemann
ed69ae2ce0 Merge pull request #1940 from lucas-clemente/unexpected-handshake-messages
fix crash when receiving unexpected handshake messages
2019-05-31 18:14:29 +08:00
Marten Seemann
002b36abf5 use a high resolution timestamp in the token 2019-05-31 18:13:11 +08:00
Marten Seemann
aa9ab41560 Merge pull request #1937 from lucas-clemente/fix-hrr-race
fix race condition in crypto setup when sending a HelloRetryRequest
2019-05-31 18:09:08 +08:00
Marten Seemann
6899eb3c86 Merge pull request #1938 from lucas-clemente/remove-unused-connection-state
remove unused handshake.ConnectionState struct definition
2019-05-31 18:08:03 +08:00
Marten Seemann
b1b85cc68e Merge pull request #1935 from lucas-clemente/rename-cookie-to-token
rename the quic.Cookie to quic.Token
2019-05-31 18:06:47 +08:00
Marten Seemann
73bd91a093 fix crash when receiving unexpected handshake message 2019-05-31 18:04:44 +08:00
Marten Seemann
5d4a47a3f3 return a crypto error when receiving unexpected handshake messages 2019-05-31 17:57:07 +08:00
Marten Seemann
2f6ab5aa5f remove unused handshake.ConnectionState struct definition 2019-05-31 15:00:34 +08:00
Marten Seemann
0be4ee197f fix race condition in crypto setup when sending a HelloRetryRequest 2019-05-31 01:57:58 +08:00
Marten Seemann
1d6707325f name the quic.Cookie to quic.Token 2019-05-30 22:13:06 +08:00
Marten Seemann
06da72ae4e Merge pull request #1929 from lucas-clemente/drop-handshake-keys
drop Initial and Handshake keys when receiving the first 1-RTT ACK
2019-05-30 20:52:39 +08:00
Marten Seemann
8eda9306a6 Merge pull request #1934 from lucas-clemente/application-error-logging
fix logging of application errors
2019-05-30 18:08:51 +08:00
Marten Seemann
7a2ffb3ada Merge pull request #1930 from lucas-clemente/invalid-stream-id
introduce invalid stream ID to simplify the outgoing streams map
2019-05-30 18:07:39 +08:00
Marten Seemann
0034768f90 Merge pull request #1932 from lucas-clemente/rate-limiting-test-single-pconn
use a single packet conn for all dials in the rate limiting test
2019-05-30 17:58:46 +08:00
Marten Seemann
cd6047b58e fix logging of application errors 2019-05-30 17:15:19 +08:00
Marten Seemann
b0b8990dd0 simplify stream number calculation when sending STREAM_ID_BLOCKED frames 2019-05-30 15:56:57 +08:00
Marten Seemann
a4989c3d9c drop Initial and Handshake keys when receiving the first 1-RTT ACK 2019-05-30 14:19:26 +08:00
Marten Seemann
4834962cbd add a function to drop received packets of a certain encryption level 2019-05-30 14:19:11 +08:00
Marten Seemann
4d5b4fd790 add a function to drop sent packets of a certain encryption level 2019-05-30 13:47:16 +08:00
Marten Seemann
195bdc9944 remove unused handshakeComplete member variable from sent packet handler 2019-05-30 13:47:16 +08:00
Marten Seemann
1284678095 use a single packet conn for all dials in the rate limiting test 2019-05-30 13:19:29 +08:00
Marten Seemann
0da133d7db Merge pull request #1928 from lucas-clemente/handshake-complete-bytes-in-flight
correct the bytes in flight when dropping crypto packets
2019-05-30 05:42:06 +01:00