Commit Graph

892 Commits

Author SHA1 Message Date
Marten Seemann
d6b50cf15a use the same packet number space for received 0-RTT and 1-RTT packets 2019-12-30 18:39:21 +04:00
Marten Seemann
b25b2f6921 use the same packet number space for sent 0-RTT and 1-RTT packets 2019-12-30 18:39:21 +04:00
Marten Seemann
b0c08b1bd0 implement rules for frame types in 0-RTT packets 2019-12-30 18:39:21 +04:00
Marten Seemann
b1fc984306 add a 0-RTT encryption level 2019-12-30 18:39:21 +04:00
Marten Seemann
5acdc55c61 Merge pull request #2252 from lucas-clemente/enforce-cid-limit
enfore the active_connection_id_limit
2019-12-18 10:12:14 +04:00
Marten Seemann
355156ac4e Merge pull request #2225 from lucas-clemente/handshake-done
implement the HANDSHAKE_DONE mechanism
2019-12-18 10:07:43 +04:00
Marten Seemann
2828fbc1af Merge pull request #2265 from lucas-clemente/max-idle-timeout
use the minimum of the peers' max_idle_timeout for the idle timeout
2019-12-18 10:05:33 +04:00
Marten Seemann
27549c5665 use the minimum of the two peers' max_idle_timeouts 2019-12-11 14:04:33 +04:00
Marten Seemann
be59be9ef1 use the parsed header length when unpacking packets 2019-12-09 15:42:37 +08:00
Marten Seemann
490d9ddab2 refactor parsing of headers with invalid reserved bits 2019-12-09 14:57:19 +08:00
Marten Seemann
12922bdec9 drop Handshake keys when receiving HANDSHAKE_DONE (as a client) 2019-12-06 10:29:48 +07:00
Marten Seemann
f7fd5d2848 drop Handshake keys as soon as the handshake completes (as a server) 2019-12-06 10:29:48 +07:00
Marten Seemann
556e5c5559 implement parsing and writing of the HANDSHAKE_DONE frame 2019-12-06 10:29:48 +07:00
Marten Seemann
f35a32989c enforce the active_connection_id_limit 2019-12-03 18:27:10 +07:00
Marten Seemann
02acf81ca1 remove the VERSION_NEGOTIATION_ERROR 2019-12-03 17:45:08 +07:00
Marten Seemann
d771650640 implement marshaling and unmarshaling of the preferred_address 2019-11-30 19:56:05 +07:00
Marten Seemann
7fbf5397df fix activeConnectionIDLimitParameterID variable name 2019-11-27 13:17:05 +07:00
Marten Seemann
1b063a47eb Merge pull request #2247 from lucas-clemente/improve-undecryptable-packet-logging
improve logging of undecryptable packets
2019-11-25 18:46:20 +07:00
Marten Seemann
78029adfb2 improve logging of undecryptable packets 2019-11-25 14:06:44 +07:00
Marten Seemann
d0a3eaa8a3 improve logging of handshake messages 2019-11-25 09:09:34 +07:00
Marten Seemann
50d2c72483 Merge pull request #2234 from lucas-clemente/remove-invalid-migration-error
remove the INVALID_MIGRATION error
2019-11-24 21:42:59 +07:00
Marten Seemann
b6537b4657 Merge pull request #2233 from lucas-clemente/connection-close-before-1rtt
don't send application-level errors before completion of the handshake
2019-11-24 21:14:21 +07:00
Marten Seemann
c46c72aae8 Merge pull request #2228 from lucas-clemente/fix-pto-for-dropped-pn-spaces
reset the loss detection timer when dropping a packet number space
2019-11-24 21:11:46 +07:00
Marten Seemann
2f54d1638c Merge pull request #2238 from lucas-clemente/fix-pto-logging
fix logging of the PTO packet number space
2019-11-24 21:09:39 +07:00
Marten Seemann
973bcf6dcd remove the INVALID_MIGRATION error 2019-11-24 21:09:03 +07:00
Marten Seemann
2265513b2d Merge pull request #2229 from lucas-clemente/fix-skipped-pn-logging
only log skipped packet numbers if we actually sent something before
2019-11-24 21:07:00 +07:00
Marten Seemann
bccf3f701d Merge pull request #2230 from lucas-clemente/improve-no-outstanding-packets-logging
improve logging of loss detection timer cancelation
2019-11-24 21:06:40 +07:00
Marten Seemann
6bc304570b fix logging of the PTO packet number space 2019-11-23 14:58:11 +07:00
Marten Seemann
50e7d69865 use the CRYPTO_BUFFER_EXCEEDED error for crypto stream overflows 2019-11-23 11:48:11 +07:00
Marten Seemann
d77e400f00 don't send application-level errors before completion of the handshake 2019-11-23 11:30:20 +07:00
Marten Seemann
16a89a83d2 improve logging of loss detection timer cancelation 2019-11-23 10:49:37 +07:00
Marten Seemann
57b6c23947 only log skipped packet numbers if we actually sent something before
After a Retry, we would log the skipping of packet number 0, although it
was not actually skipped. We just had reset the packet number space.
2019-11-23 10:47:00 +07:00
Marten Seemann
e586a6cc8f reset the loss detection timer when dropping a packet number space 2019-11-23 10:40:02 +07:00
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