Commit Graph

909 Commits

Author SHA1 Message Date
Marten Seemann
92b898e811 Merge pull request #2218 from lucas-clemente/pto-per-pn-space
change PTO to be per packet number space
2019-11-22 18:35:05 +08:00
Marten Seemann
0552e7e1c5 Merge pull request #2222 from lucas-clemente/fix-stop-sending-frame
fix encoding of the error code in the STOP_SENDING frame
2019-11-20 10:36:58 +08:00
Marten Seemann
c972af77d5 Merge pull request #2205 from lucas-clemente/update-key-update-label
update the label used for the key updates for draft-24
2019-11-20 10:36:33 +08:00
Marten Seemann
da996f8066 fix recording of sent and lost frames for quic-trace 2019-11-18 12:50:16 +08:00
Marten Seemann
d6add122d8 update the label used for the key update derivation 2019-11-16 17:51:35 +08:00
Marten Seemann
8e7a462007 fix encoding of the error code in the STOP_SENDING frame 2019-11-16 15:03:19 +08:00
Marten Seemann
f3e3def599 don't send application data probe packets before the handshake completes 2019-11-12 14:12:24 +07:00
Marten Seemann
9c3b553e47 change PTO to be per packet number space 2019-11-12 11:29:51 +07:00
Marten Seemann
3db60534cf use a sentinel error when a sealer is not yet available 2019-11-12 11:27:30 +07:00
Marten Seemann
d00828b762 make it possible to get the PTO with and without max_ack_delay 2019-11-12 11:27:30 +07:00
Marten Seemann
bd94f21ab0 send keep alive PINGs at least every 20 seconds 2019-11-10 11:06:38 +07:00
Marten Seemann
dbdccfa70a include the frame type in the error returned by the frame parser 2019-11-09 11:39:35 +07:00
Marten Seemann
76c742a43d include the frame type in the QuicError error message 2019-11-09 11:39:35 +07:00
Marten Seemann
2c2b5da612 Merge pull request #2209 from lucas-clemente/stream-count-errors
throw FRAME_ENCODING_ERRORs when MAX_STREAMs and STREAMS_BLOCKED frame exceed the maximum stream count
2019-11-09 11:37:23 +07:00
Marten Seemann
5af9d82de8 Merge pull request #2210 from lucas-clemente/application-error-codes
use the application-specific variant of CONNECTION_CLOSE
2019-11-09 11:36:52 +07:00
Marten Seemann
a472ac4731 use application-specific CONNECTION_CLOSE for application errors 2019-11-08 13:52:15 +07:00
Marten Seemann
5d54a11e04 add an overflow check to the STREAMS_BLOCKED frame parser 2019-11-08 11:50:22 +07:00
Marten Seemann
1e7c7842b9 move overflow check in MAX_STREAMS frame to frame parser 2019-11-08 11:44:56 +07:00
Marten Seemann
9f5df74bd1 add a test that protocol.MaxStreamCount has the correct value 2019-11-08 11:42:24 +07:00
Marten Seemann
4febf95c0b fix certificate check in the example client 2019-11-07 10:29:55 +07:00
Marten Seemann
121795977d implement issuing and retiring of connection IDs 2019-11-05 11:00:07 +07:00
Marten Seemann
011642e471 update the connection ID after sending 10000 packets 2019-11-05 10:59:21 +07:00
Marten Seemann
37600e049d implement the active_connection_id_limit transport parameter 2019-11-05 10:59:21 +07:00
Marten Seemann
031c1709e6 implement a basic store for new connection IDs 2019-11-05 10:59:21 +07:00
Marten Seemann
f61f251fce implement correct dropping of Initial keys 2019-11-04 13:33:17 +07:00
Marten Seemann
cc9fa055a6 rename the sealer to longHeaderSealer for consistency 2019-11-04 11:31:20 +07:00
Marten Seemann
416fe8364e remove unused return value from session constructor 2019-10-27 15:35:34 +07:00
Marten Seemann
4834159210 use the TRANSPORT_PARAMETER_ERROR 2019-10-25 06:47:26 +07:00
Marten Seemann
82873477ed remove stray log statement in setLossDetectionTimer() 2019-10-24 17:02:30 +07:00
Julien Salleyron
f110af917b Remove QUIC version hint 2019-10-21 17:18:02 +02:00
Marten Seemann
d91da7401b allow PING frames at every encryption level 2019-10-15 10:17:02 -07:00
Marten Seemann
2ef8429ce1 Merge pull request #2166 from juliens/alt-svc
Fix Alt-Svc header
2019-10-14 05:17:25 +07:00
Julien Salleyron
3c08c885ae Handle new version format 2019-10-13 22:50:53 +02:00
Marten Seemann
efe65b5491 fix putting of a nil ClientSessionState into a qtls.ClientSessionCache 2019-10-13 05:09:59 -07:00
Marten Seemann
6b22f36d82 add the stylecheck linter 2019-09-17 13:50:19 +07:00
Marten Seemann
ab2b26a5cb add the unparam linter 2019-09-17 13:44:05 +07:00
Marten Seemann
07ee05b5a9 Merge pull request #2136 from lucas-clemente/empty-new-tokens
reject NEW_TOKEN frames with empty tokens
2019-09-17 08:06:47 +07:00
Marten Seemann
57a9ed3379 Merge pull request #2134 from lucas-clemente/draft-23-test-vectors
update the Initial salt to draft-23
2019-09-17 08:06:33 +07:00
Marten Seemann
807dd67927 improve memory alignment of frequently used structs 2019-09-13 13:37:41 +07:00
Marten Seemann
f15a82d3fd remove stray TODO in the ExtendedHeader 2019-09-13 13:10:13 +07:00
Marten Seemann
2ea8b70ffb reject NEW_TOKEN frames with empty tokens 2019-09-13 11:00:06 +07:00
Marten Seemann
1d6359543d update the Initial salt to draft-23 2019-09-12 10:06:36 +07:00
Marten Seemann
fc962d1837 Merge pull request #2117 from lucas-clemente/send-pooled-stream-frames
use the STREAM frame buffer for receiving stream data
2019-09-08 10:23:46 +07:00
Marten Seemann
b083fd6f0e Merge pull request #2125 from lucas-clemente/chacha-header-protection
implement ChaCha20 header protection
2019-09-07 16:32:19 +07:00
Marten Seemann
4cb8bf3101 put STREAM frames back into the pool when they are acknowledged 2019-09-07 16:31:52 +07:00
Marten Seemann
4cfbb2f134 use STREAM frames from the buffer for sending data 2019-09-07 16:31:52 +07:00
Marten Seemann
039d7ae888 Merge pull request #2116 from lucas-clemente/stream-frame-pool
use a STREAM frame buffer for receiving stream data
2019-09-07 16:31:05 +07:00
Marten Seemann
de3e1a3de5 log the cipher suite 2019-09-07 11:47:21 +07:00
Marten Seemann
fa89ec345a add support for ChaCha20 header protection 2019-09-07 11:36:50 +07:00
Marten Seemann
33b74fca79 use the new qtls SetWriteKey and SetReadKey interface 2019-09-07 11:36:06 +07:00