Marten Seemann
8e94f08ee5
simplify switch statement in the transport parameter parser
2021-01-11 15:29:00 +08:00
Marten Seemann
f9226887b4
rename ReadVarint / WriteVarInt / VarIntLen to Read / Write / Len
2021-01-02 00:15:07 +08:00
Marten Seemann
11c5045065
move varint encoding / decoding to a separate package
...
... which is not internal.
2021-01-01 11:46:45 +08:00
Marten Seemann
c7d3aeea3d
move the transport parameter stream limit check to the parser
2020-12-18 13:00:33 +07:00
Marten Seemann
fd41e8fa62
reject DATAGRAM frames if datagram support is not enabled
2020-12-09 15:31:23 +07:00
Marten Seemann
021f70aac5
implement the max_datagram_frame_size transport parameter
2020-12-09 15:31:23 +07:00
Marten Seemann
c4de242751
add a MaxDataLen function for DATAGRAM frames
2020-12-09 15:31:23 +07:00
Marten Seemann
eefd2b73f7
implement parsing and writing of the DATAGRAM frames
2020-12-08 20:16:32 +07:00
Marten Seemann
2c975bca54
always use a 2-byte encoding for the packet length of Long Header packets
2020-11-14 17:39:31 +07:00
Marten Seemann
8752576f26
run gofumpt, enable the gofumpt linter
2020-10-26 09:33:35 +07:00
Marten Seemann
55a07c34ee
add the exhaustive linter
2020-10-05 13:47:57 +07:00
Marten Seemann
2781606ded
refactor the switch statement for parsing transport parameters
2020-10-05 13:17:06 +07:00
Marten Seemann
13fa0bcdd1
implement writing of ACK frames containing ECN counts
2020-09-14 17:01:34 +07:00
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