Commit Graph

516 Commits

Author SHA1 Message Date
Marten Seemann
aba2c3d031 remove all references to Public Resets in comments 2018-11-28 11:58:05 +07:00
Marten Seemann
ddf677845b Merge pull request #1643 from lucas-clemente/enable-packet-number-decoding-test
enable packet number encoding test case taken from the draft
2018-11-27 18:27:28 +07:00
Marten Seemann
83fac8ebb8 Merge pull request #1632 from lucas-clemente/remove-max-client-hellos
remove unused constant MaxClientHellos
2018-11-27 17:24:09 +07:00
Marten Seemann
364214229d enable packet number encoding test case taken from the draft 2018-11-27 17:23:05 +07:00
Marten Seemann
f49510e88c Merge pull request #1630 from lucas-clemente/new-header
implement the new header format
2018-11-27 17:20:41 +07:00
Marten Seemann
4bf47870bc don't modify the tls.Config when generating the qtls.Config
This fixes a race conditions when dialing or accepting multiple
connections using the same tls.Config.
2018-11-27 11:17:13 +07:00
Marten Seemann
fb550aaa10 remove unused constant MaxClientHellos 2018-11-27 09:28:17 +07:00
Marten Seemann
0d30e43c32 implement the new format of the Retry packet 2018-11-27 08:29:31 +07:00
Marten Seemann
c791145cba check that the 4th and 5th bit in the short header first byte are unset 2018-11-26 23:14:18 +07:00
Marten Seemann
cce71d84a1 check that the 5th and 6th bit in the long header first byte are unset 2018-11-26 23:05:56 +07:00
Marten Seemann
2add1d2fea add the packet number decoding and encoding test cases from the draft 2018-11-26 23:05:56 +07:00
Marten Seemann
bfb467e9b8 use the new packet number format 2018-11-26 23:05:55 +07:00
Marten Seemann
52380835b9 implement a WriteUintN function 2018-11-26 23:05:51 +07:00
Marten Seemann
faed2ba30a remove version dependency of packet number inferring 2018-11-26 22:46:08 +07:00
Marten Seemann
4145bcc8a7 reject a header if the 0x40 bit of the first bit is not set
This doesn't apply to the version negotiation packet.
2018-11-26 22:46:08 +07:00
Marten Seemann
9c07ac15b8 use the new code points for the packet types in the first byte 2018-11-26 22:46:06 +07:00
Marten Seemann
53aeb7d592 don't use the wire encoding for the PacketType constant 2018-11-26 22:45:28 +07:00
Marten Seemann
6058f580be remove unused ReadUint64 and WriteUint64 functions 2018-11-26 16:48:36 +07:00
Marten Seemann
c5ca6fd7e5 parse the extended header in the session 2018-11-26 15:57:54 +07:00
Marten Seemann
70ce6a5814 parse the whole Long Header, if the version is known 2018-11-26 15:57:54 +07:00
Marten Seemann
b740d57c61 embed the Header in the ExtendedHeader 2018-11-26 15:57:54 +07:00
Marten Seemann
af157408de move parsing of extended headers to the same file as the struct 2018-11-26 15:57:54 +07:00
Marten Seemann
9bcedd988d move parsing of version negotiation packets to the wire.Header 2018-11-26 15:57:54 +07:00
Marten Seemann
7b91ba56b6 rename the wire.InvariantHeader to Header 2018-11-26 15:57:54 +07:00
Marten Seemann
bf96707f48 rename the wire.Header to ExtendedHeader
It's not encrypted yet.
2018-11-26 15:57:54 +07:00
Marten Seemann
cef26922b4 when parsing the header from the invariant header, start from first byte
This will be needed once we implement header encryption, because the
flags in the first byte are encrypted.
2018-11-26 15:57:54 +07:00
Marten Seemann
8856384b83 Merge pull request #1627 from lucas-clemente/remove-header-writing-perspective
remove unused perspective from header writing
2018-11-26 15:47:00 +07:00
Marten Seemann
6150c19dcb remove unused perspective from header writing 2018-11-26 13:43:27 +07:00
Marten Seemann
902853784b remove unused perspective from header parsing 2018-11-26 11:14:39 +07:00
Marten Seemann
fd646ff877 include the packet number len in the length calculation for long headers 2018-11-25 14:16:28 +07:00
Marten Seemann
39e1e9a6f8 implement receiving of stateless resets 2018-11-20 10:07:30 +07:00
Marten Seemann
54c287c7e6 Merge pull request #1614 from lucas-clemente/rename-params-file
rename the file containing the parameters
2018-11-19 20:46:16 +07:00
Marten Seemann
7696bf59ea remove 6 byte packet numbers 2018-11-19 16:15:02 +07:00
Marten Seemann
82cfd38537 rename the file containing the parameters 2018-11-19 16:06:37 +07:00
Marten Seemann
001f76559a reduce the duration we keep the mapping for retired connection IDs alive
This duration only needs to cover typical reordering on the network.
5 seconds should be plenty.
2018-11-17 08:16:06 +07:00
Marten Seemann
1dd0b9a635 rename the duration that we keep old connection ID mappings alive 2018-11-16 21:22:32 +07:00
Marten Seemann
9d06b2cfff retransmit the CONNECTION_CLOSE packet when late packets arrive 2018-11-15 16:52:02 +07:00
Marten Seemann
42edcf6258 implement the RETIRE_CONNECTION_ID frame 2018-11-13 17:21:19 +07:00
Marten Seemann
2021a21916 implement the NEW_CONNECTION_ID frame 2018-11-13 17:21:14 +07:00
Marten Seemann
b422876a73 Merge pull request #1593 from lucas-clemente/flow-control-params
use more reasonable flow control parameters
2018-11-13 10:36:35 +07:00
Marten Seemann
df7c6a221b use higher initial flow control windows 2018-11-12 23:38:07 +07:00
Marten Seemann
4b37ecb2b5 use the same default max flow control window sizes for client and server 2018-11-12 23:38:07 +07:00
Marten Seemann
cf104db629 implement parsing and writing of the NEW_TOKEN frame 2018-11-12 23:37:44 +07:00
Marten Seemann
c89c1f4cee Merge pull request #1590 from lucas-clemente/renumber-frames
renumber frames
2018-11-12 23:36:41 +07:00
Marten Seemann
190d1dcc59 Merge pull request #1595 from lucas-clemente/fix-1529
authenticate retries
2018-11-12 18:00:22 +07:00
Marten Seemann
59ab139720 renumber frame types 2018-11-12 17:26:42 +07:00
Marten Seemann
9065ec3410 use a single error for frame parsing errors 2018-11-12 17:25:46 +07:00
Marten Seemann
c37b698f68 Merge pull request #1596 from lucas-clemente/internalize-errors
internalize the qerr package
2018-11-12 15:54:39 +07:00
Marten Seemann
3ffea5d8c4 internalize the qerr package 2018-11-11 12:44:16 +07:00
Marten Seemann
70cb67bd2a check that the server sends the correct original_connection_id 2018-11-11 11:00:40 +07:00