Commit Graph

3609 Commits

Author SHA1 Message Date
Marten Seemann
ca8b7ddeef add logging to the updatable AEAD 2019-06-22 20:01:18 +08:00
Marten Seemann
55b88be009 check that the peer doesn't update keys too quickly 2019-06-22 20:01:18 +08:00
Marten Seemann
1ef54db63f check that the peer starts with key phase 0 after the handshake 2019-06-22 20:01:18 +08:00
Marten Seemann
c522bcc683 return a defined error when the AEAD cannot open a packet 2019-06-22 20:01:18 +08:00
Marten Seemann
1fb970cbac perform a key update when receiving a packet with a different key phase 2019-06-22 20:01:18 +08:00
Marten Seemann
e74ede678f move opening / sealing to the updatable AEAD 2019-06-22 20:01:18 +08:00
Marten Seemann
305e37cd15 move header encryption / decryption to the updatable AEAD 2019-06-22 20:01:18 +08:00
Marten Seemann
d3ca8db521 refactor initialization of AEADs 2019-06-22 20:01:18 +08:00
Marten Seemann
0dd5a0b91f introduce a separate AEAD for short header crypto 2019-06-22 20:01:18 +08:00
Marten Seemann
598628d05b use separate opener interfaces for long and short header packets 2019-06-22 20:01:18 +08:00
Marten Seemann
b2d3ef691e use separate sealer interfaces for long and short header packets 2019-06-22 20:01:18 +08:00
Marten Seemann
c503769bcd use separate functions per encryption level to get sealers 2019-06-22 20:01:18 +08:00
Marten Seemann
d4d3f09ee3 use separate functions per encryption level to get openers 2019-06-22 20:01:18 +08:00
Marten Seemann
14a31d49a0 add a type for the key phase and use it for header parsing and writing 2019-06-22 20:01:18 +08:00
Marten Seemann
4de3a09ec4 Merge pull request #1952 from lucas-clemente/contexts
add contexts to all blocking functions
2019-06-22 19:52:47 +08:00
Marten Seemann
ea9f72ba23 add an integration test that cancels OpenStreamSync 2019-06-22 19:37:22 +08:00
Marten Seemann
2b8cece60a add a context to Session.Open{Uni}StreamSync 2019-06-22 19:37:21 +08:00
Marten Seemann
e63a991950 add an integration test that cancels AcceptStream 2019-06-22 19:37:12 +08:00
Marten Seemann
5550ba2c3b add a context to Session.Accept{Uni}Stream 2019-06-22 19:37:11 +08:00
Marten Seemann
f74082b2fb use chan instead of sync.Cond to signal that new streams can be accepted 2019-06-22 19:36:54 +08:00
Marten Seemann
12bce1caaa add a context to Listener.Accept 2019-06-22 19:36:52 +08:00
Marten Seemann
8dbe1684be Merge pull request #1957 from lucas-clemente/remove-get-packet-number-length
remove unused function GetPacketNumberLength
2019-06-22 18:38:49 +08:00
Marten Seemann
d495b4bada remove unused function GetPacketNumberLength 2019-06-21 20:13:59 +08:00
Marten Seemann
119286b05a Merge pull request #1908 from lucas-clemente/quic-trace
add quic-trace support
2019-06-21 13:38:14 +08:00
Marten Seemann
439c5eae87 add a Changelog entry for quic-trace 2019-06-21 12:51:39 +08:00
Marten Seemann
880886a139 record the congestion state for tracing before processing the ACK frame 2019-06-20 22:58:01 +08:00
Marten Seemann
c6b8ed9322 update quic-trace to handle CRYPTO frames 2019-06-20 22:58:01 +08:00
Marten Seemann
fcb0d6cfdc record InSlowStart and InRecovery 2019-06-20 22:58:01 +08:00
Marten Seemann
73f83ca4bb add a tracing option to the example server 2019-06-20 22:58:01 +08:00
Marten Seemann
7c7b1ba9c7 add tracing for lost packets 2019-06-20 22:58:01 +08:00
Marten Seemann
22cbb344af move the TransportState struct to the quictrace package
Prevents an import loop when passing the tracer to the ackhandler.
2019-06-20 22:58:01 +08:00
Marten Seemann
267d11ee66 add tracing for sent and received packets 2019-06-20 22:58:01 +08:00
Marten Seemann
8926531f7e add the quic-trace protobuf 2019-06-20 22:57:57 +08:00
Marten Seemann
4500a84010 Merge pull request #1953 from lucas-clemente/varint-error-codes
use varints for error codes
2019-06-20 21:56:02 +08:00
Marten Seemann
1f4e63aff6 document the range of valid values for error codes 2019-06-14 17:40:51 +08:00
Marten Seemann
147181786a use a varint for the error code in the RESET_STREAM frame 2019-06-14 17:38:27 +08:00
Marten Seemann
453aa23553 use a varint for the error code in the CONNECTION_CLOSE frame 2019-06-14 17:35:40 +08:00
Marten Seemann
2225bfd9a2 Merge pull request #1951 from lucas-clemente/fix-echo-example
fix ALPN in echo example
2019-06-09 23:07:30 +08:00
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