Marten Seemann
d476067f65
fix overflow of the max_ack_delay when parsing transport parameters
2020-08-20 13:49:33 +07:00
Marten Seemann
2593b1af81
add fuzzing for transport parameters
2020-08-18 11:54:28 +07:00
Marten Seemann
a1bb39d6ab
introduce a protocol.StatelessResetToken
2020-07-10 19:55:20 +07:00
Marten Seemann
993d71fd56
move the SupportedVersions slice out of the wire.Header
2020-07-09 12:05:33 +07:00
Marten Seemann
838dd6e81a
rename StreamFrame.FinBit to Fin
2020-07-02 16:41:43 +07:00
Marten Seemann
865332015c
rename ResetStreamFrame.ByteOffset to FinalSize
2020-07-02 16:41:43 +07:00
Marten Seemann
cc340b2887
rename StreamDataBlockedFrame.DataLimit to MaximumStreamData
2020-07-02 16:41:43 +07:00
Marten Seemann
fa07078d81
rename DataBlockedFrame.DataLimit to MaximumData
2020-07-02 16:41:43 +07:00
Marten Seemann
5466de6565
rename MaxStreamDataFrame.ByteOffset to MaximumStreamData
2020-07-02 16:41:43 +07:00
Marten Seemann
f4519cfd32
rename MaxDataFrame.ByteOffset to MaximumData
2020-07-02 16:41:43 +07:00
Marten Seemann
07d4fd0991
use the new qtls interface for (re)storing app data with a session state
...
Application data is now retrieved and restored via two callbacks on the
qtls.Config. This allows us the get rid of the rather complex wrapping
of the qtls.ClientSessionCache. Furthermore, it makes sure that we only
restore the application data when qtls decides to actually use the
ticket.
2020-07-01 14:00:08 +07:00
Marten Seemann
4451f3bf5c
marshal and unmarshal the retry_source_connection_id TP
2020-05-29 19:50:14 +07:00
Marten Seemann
72d7592fb2
marshal and unmarshal the initial_source_connection_id TP
2020-05-29 19:50:14 +07:00
Marten Seemann
b391cce35c
always send the original_destination_connection_id TP as a server
2020-05-29 19:50:14 +07:00
Marten Seemann
7e62a2fecc
rename original_connection_id to original_destination_connection_id TP
2020-05-29 19:50:14 +07:00
Marten Seemann
b2c4dacd25
fix int overflow when parsing the transport parameters
2020-05-24 12:59:47 +07:00
mawei
38691a1278
calculate version negotiation packet size to avoid bytes.Buffer growing the bytes
2020-05-13 12:34:39 +08:00
Marten Seemann
e116e2f4cc
use decimal number for logging stream offsets and byte counts
2020-04-16 09:50:55 +07:00
Marten Seemann
140b90449b
use decimal numbers when logging packet numbers
2020-04-16 09:50:55 +07:00
Marten Seemann
f58eb47383
qlog when packets are dropped due to unsupported QUIC version
2020-04-10 14:39:02 +07:00
Marten Seemann
96ac90e6be
validate connection ID length in preferred_address transport parameter
2020-04-08 17:13:35 +07:00
Marten Seemann
9dec939784
Merge pull request #2432 from lucas-clemente/max-udp-payload-size
...
rename the max_packet_size transport parameter to max_udp_payload_size
2020-03-23 16:21:03 +07:00
Marten Seemann
d0b5da8aa1
rename the max_packet_size transport parameter to max_udp_payload_size
2020-03-21 11:12:43 +07:00
Marten Seemann
6d61dccc2f
rename the constructors for the various qerr.Error flavors
2020-03-21 10:53:03 +07:00
Marten Seemann
0ef4f06189
move the transport parameters from the handshake to the wire package
2020-03-13 16:20:11 +07:00
Marten Seemann
c720250b9b
only set the 0x80 bit to 1 for version negotiation packets
2020-03-10 14:43:19 +07:00
Marten Seemann
d024df7c8e
implement splitting of CRYPTO frames
2020-02-26 11:24:15 +07:00
Marten Seemann
7b10453af8
implement the Retry integrity tag
2020-01-17 13:42:57 +07:00
Marten Seemann
b0c08b1bd0
implement rules for frame types in 0-RTT packets
2019-12-30 18:39:21 +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
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
556e5c5559
implement parsing and writing of the HANDSHAKE_DONE frame
2019-12-06 10:29:48 +07:00
Marten Seemann
78029adfb2
improve logging of undecryptable packets
2019-11-25 14:06:44 +07: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
dbdccfa70a
include the frame type in the error returned by the frame parser
2019-11-09 11:39:35 +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
d91da7401b
allow PING frames at every encryption level
2019-10-15 10:17:02 -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
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
4cfbb2f134
use STREAM frames from the buffer for sending data
2019-09-07 16:31:52 +07:00
Marten Seemann
5ea33cd31e
implement a buffer pool for STREAM frames
2019-09-04 16:55:30 +07:00
Marten Seemann
dd6e8a7424
Merge pull request #2095 from lucas-clemente/frame-retransmisions
...
retransmit frames, not packets
2019-08-31 17:34:10 +07:00
Marten Seemann
515c21dd1d
simplify splitting of STREAM frames
2019-08-29 11:15:59 +07:00
Marten Seemann
2329d0e21e
handle negative max_ack_delay values in the transport parameters
2019-08-25 16:15:34 +07:00