Commit Graph

140 Commits

Author SHA1 Message Date
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
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
cf104db629 implement parsing and writing of the NEW_TOKEN frame 2018-11-12 23:37:44 +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
dd9ce2e668 replace the STREAM_ID_BLOCKED with the STREAMS_BLOCKED frame 2018-11-10 09:38:57 +07:00
Marten Seemann
9518c90c0a implement and use the MAX_STREAMS frame 2018-11-10 09:38:50 +07:00
Marten Seemann
05ecf9bc02 rename the STREAM_BLOCKED frame to STREAM_DATA_BLOCKED 2018-11-10 09:05:27 +07:00
Marten Seemann
387613aa20 rename the BLOCKED from to DATA_BLOCKED 2018-11-10 09:05:06 +07:00
Marten Seemann
022189dfda rename the RST_STREAM frame to RESET_STREAM frame 2018-11-04 12:26:02 +07:00
Marten Seemann
2eed03c747 remove the header parameter for parsing frames
It was only needed for parsing STOP_WAITING frames.
2018-11-03 09:23:22 +07:00
Marten Seemann
2bfe8d0b77 Merge pull request #1568 from lucas-clemente/close-frames
implement changes to the CONNECTION_CLOSE frame
2018-11-01 15:51:14 +07:00
Marten Seemann
716e8f2d0a remove the error return value from wire.Header.GetLength
Using an invalid packet number length would error on Header.Write(), so
it's not necessary to check this on GetLength().
2018-11-01 13:49:36 +07:00
Marten Seemann
73ac6b14bf implement changes to the CONNECTION_CLOSE frame 2018-10-31 11:21:51 +07:00
Marten Seemann
3266e36811 drop support for gQUIC 2018-10-30 10:20:39 +07:00
Marten Seemann
d2a52a1433 implement parsing, writing and logging of CRYPTO frames 2018-10-26 16:11:25 +07:00
Marten Seemann
41808516c8 merge ACK and ACK_ECN into a single frame 2018-09-27 12:11:52 -06:00
Marten Seemann
73a1a0e509 implement writing of the gQUIC 44 header 2018-08-28 08:49:29 +07:00
Marten Seemann
a98fd88a1b implement parsing of the gQUIC 44 header 2018-08-28 08:49:29 +07:00
Marten Seemann
88505b79a7 disable sending and receiving of STOP_WAITING frames in QUIC 44 2018-08-28 08:49:13 +07:00
Marten Seemann
46f8c07daa improve the version negotiation integration test 2018-08-27 09:29:26 +07:00
Marten Seemann
d8aa49d0f9 implement writing and parsing of the new Retry packet 2018-08-13 08:47:29 +07:00
Marten Seemann
e39251c8b5 implement writing and parsing of Initial packets containing a Token 2018-08-13 08:47:29 +07:00
Marten Seemann
3d087d522c implement parsing of ACK_ECN frames 2018-07-29 17:35:31 +07:00
Marten Seemann
0bd7e744ff implement parsing of headers with different connection ID lengths 2018-07-03 18:01:41 +07:00
Marten Seemann
eb8ee42d75 Merge pull request #1424 from lucas-clemente/header-refactoring
refactor header parsing
2018-07-02 21:46:06 +07:00
Marten Seemann
1f4335ffce fix buffer size for version negotiation packets 2018-07-01 14:06:35 +07:00
Marten Seemann
4109c85c8a refactor header parsing in a version independent and dependent part 2018-07-01 09:01:30 +07:00
Marten Seemann
74ed3f7037 remove writing of special Public Header packets
Version Negotiation Packets and Public Resets are written separately, so
we don't need to have code for that in the Public Header.
2018-06-30 12:48:42 +07:00
Marten Seemann
7b96d158d2 remove the OmitConnectionID field from the Header struct
Instead, just look at the length of the destination connection ID.
2018-06-24 17:21:41 +07:00
Marten Seemann
fc57bf6c35 only set the destination connection ID for the Public Header 2018-06-24 16:47:59 +07:00
Marten Seemann
3e03055a7d use varint packet numbers in IETF QUIC headers 2018-06-06 16:07:47 +02:00
Marten Seemann
5142b73ac3 Merge pull request #1370 from lucas-clemente/client-header-parsing
parse headers sent by the server without knowing the version
2018-05-29 16:43:52 +08:00
Marten Seemann
372463db49 don't pass the client's version to the header parser 2018-05-21 11:27:15 +08:00
Marten Seemann
797dfa57a1 disable 6 byte packet number in Public Headers
Chrome never sends 6 byte packet numbers in Public Headers.
2018-05-21 11:26:08 +08:00
Marten Seemann
5f5bb1f700 allow empty STREAM frames at arbitrary offsets 2018-05-11 11:08:08 +09:00
Marten Seemann
8f2fed1b10 parse IETF headers independent of the sender's perspective
The IETF header format allows parsing of the header without knowing
which peer sent the packet.
2018-05-09 13:28:30 +09:00
Marten Seemann
683b5823e4 handle gQUIC and IETF QUIC packets separately in the client 2018-05-08 15:17:16 +09:00
Marten Seemann
94c48d371a indent header log entries using tabs, not spaces 2018-05-07 09:11:34 +09:00
Marten Seemann
1b9ac93c13 Merge pull request #1331 from lucas-clemente/fix-1330
set the ACK frame delay time when generating the frame
2018-05-05 14:23:50 +09:00