Commit Graph

244 Commits

Author SHA1 Message Date
Marten Seemann
6ece64d8a5 log connection IDs without the 0x prefix 2021-02-11 09:45:40 +08:00
Marten Seemann
86cec07568 remove the Max0RTTQueueLen and the MaxUndecrytablePackets by 1
Using values below a power of 2 might improve memory allocation.
2021-01-09 13:35:19 +08:00
Marten Seemann
ef87f15ecb increase the maximum size of DATAGRAM frames 2020-12-30 12:53:33 +08:00
Marten Seemann
9693a46d31 Merge pull request #2162 from lucas-clemente/datagram
implement the datagram draft
2020-12-17 11:22:40 +07:00
Marten Seemann
486738981f Merge pull request #2905 from lucas-clemente/improve-packet-number-generator
various improvements to the packet number generator
2020-12-15 10:15:31 +07:00
Marten Seemann
4c0f0c47eb Merge pull request #2930 from lucas-clemente/handshake-idle-timeout
introduce a quic.Config.HandshakeIdleTimeout, remove HandshakeTimeout
2020-12-15 08:35:44 +07:00
Marten Seemann
d226f70cd7 allow up to 20 byte for the initial connection IDs 2020-12-14 11:32:43 +07:00
Marten Seemann
98145368cd implement receiving of DATAGRAM frames 2020-12-09 15:31:23 +07:00
Marten Seemann
fdaac4f32e send the max_datagram_frame_size transport parameter 2020-12-09 15:31:23 +07:00
Marten Seemann
d6eff22f9a introduce a sentinel ByteCount value 2020-12-09 15:31:23 +07:00
Marten Seemann
595f6f814a introduce a quic.Config.HandshakeIdleTimeout, remove HandshakeTimeout 2020-12-08 16:12:39 +07:00
Marten Seemann
431dff2172 reduce the number of skipped packet numbers for long connections 2020-12-06 12:54:39 +07:00
Marten Seemann
33c7588b18 reduce the maximum number of ACK ranges 2020-11-20 13:43:38 +07:00
Marten Seemann
2839cbdcff make it possible to set VersionTLS to a draft version
Go doesn't allow duplicate cases in a switch statement.
2020-11-02 11:29:42 +07:00
Marten Seemann
8752576f26 run gofumpt, enable the gofumpt linter 2020-10-26 09:33:35 +07:00
Marten Seemann
598f975024 Merge pull request #2831 from lucas-clemente/draft-32
prepare for draft-32
2020-10-25 22:45:43 +07:00
Marten Seemann
5b80c49582 Merge pull request #2825 from lucas-clemente/update-aead-limit
update the invalid packet limit for AES
2020-10-25 22:44:20 +07:00
Marten Seemann
e1f56127df only use the conn ID backwards compatibility mode with draft-29 2020-10-22 20:33:17 +07:00
Marten Seemann
6684aded0c add version constants for draft-29 and draft-32 2020-10-22 20:33:16 +07:00
Marten Seemann
14a5aa831d increase UDP receive buffer size 2020-10-19 10:42:44 +07:00
Marten Seemann
eff36f3057 update the invalid packet limit for AES 2020-10-16 10:51:05 +07:00
Marten Seemann
0615d92ede only send Version Negotiation packets for packets larger than 1200 bytes 2020-10-08 16:22:39 +07:00
Marten Seemann
d5a30225ce use a uint8 to represent the key phase bit 2020-10-06 15:27:56 +07:00
Marten Seemann
cc21f7c648 remove unused protocol.PacketNumberLenInvalid 2020-10-05 13:17:06 +07:00
Marten Seemann
bbd9fa4862 remove the EncryptionUnspecified enum value 2020-10-05 13:17:06 +07:00
Marten Seemann
a063500d73 use a package-level variable to set the key update frequency 2020-09-22 19:55:52 +07:00
Marten Seemann
ea3d32394d read the ECN bits 2020-09-15 10:51:22 +07:00
Marten Seemann
fa4f0a9e7a keep track of ECN counts on received packets 2020-09-14 17:01:34 +07:00
Marten Seemann
45246dad22 count number of failed decryptions, error when lifetime-limit is reached 2020-09-14 14:07:56 +07:00
Marten Seemann
12c9427f43 save dummy packets in the packet history when skipping packet numbers 2020-09-11 11:01:30 +07:00
Marten Seemann
dc3d5618fc use a uint8 for the EncryptionLevel 2020-09-07 14:36:18 +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
a1bb39d6ab introduce a protocol.StatelessResetToken 2020-07-10 19:55:20 +07:00
Marten Seemann
543c1049dd increase the minimum pacing delay to 1ms 2020-06-15 10:14:55 +07:00
Marten Seemann
e7208219a9 reduce the length of the unprocessed packet chan in the session 2020-05-09 09:14:19 +07:00
Marten Seemann
73937e8753 Merge pull request #2349 from lucas-clemente/coalesced-packets
implement sending of coalesced packets
2020-02-20 16:53:33 +07:00
Marten Seemann
5aad7cae5d send coalesced packets 2020-02-20 16:42:56 +07:00
Marten Seemann
643f0b4c67 drop incoming packets when the server's receive queue is full 2020-02-15 16:43:00 +07:00
Marten Seemann
ba095dd3ff delete 0-RTT queues if no Initial is received within 100ms 2020-02-15 15:44:09 +07:00
Marten Seemann
2b7133a6e2 implement a queue for 0-RTT packets 2020-02-15 15:44:08 +07:00
Marten Seemann
8cde4ab638 refactor how session tickets are sent
Previously, RunHandshake() would send the session tickets. Now, the
session initiates the sending of the session ticket. This simplifies the
setup a bit, and it will make it possible to include the RTT estimate in
the session ticket without accessing the RTTStats concurrently.
2020-02-10 17:42:09 +07:00
Marten Seemann
31e4691ffd move congestion controller related constants to the congestion package 2020-01-22 14:40:14 +07:00
Marten Seemann
b1f8b8f25d increase the maximum congestion window to 10000 packets 2020-01-14 16:34:34 +07:00
Marten Seemann
b1fc984306 add a 0-RTT encryption level 2019-12-30 18:39:21 +04:00
Marten Seemann
bd94f21ab0 send keep alive PINGs at least every 20 seconds 2019-11-10 11:06:38 +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
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
Julien Salleyron
f110af917b Remove QUIC version hint 2019-10-21 17:18:02 +02:00