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 |
|
Marten Seemann
|
b83a4c069d
|
improve logging of ACK frames with ranges
|
2018-05-01 11:40:10 +09:00 |
|
Marten Seemann
|
ee968aff67
|
set the ACK frame delay time when generating the frame
|
2018-04-30 21:50:33 +09:00 |
|
Lucas Clemente
|
0d8f0be92b
|
Fix unnecessary stack growth when parsing frames
|
2018-04-30 10:28:18 +02:00 |
|
Marten Seemann
|
596ef35a80
|
implement parsing and writing of the Payload Length Long Header field
|
2018-04-23 17:39:03 +09:00 |
|
Marten Seemann
|
0e58a679d6
|
Merge pull request #1319 from lucas-clemente/fix-1307
use different source and destination connection IDs
|
2018-04-23 17:29:45 +09:00 |
|
Marten Seemann
|
b1de5df2f8
|
Merge pull request #1311 from lucas-clemente/fix-1302
limit the size of the ACK frame
|
2018-04-23 17:23:52 +09:00 |
|
Marten Seemann
|
cb0395ae37
|
Merge pull request #1316 from lucas-clemente/fix-1310
implement PATH_CHALLENGE and PATH_RESPONSE frames
|
2018-04-23 17:13:39 +09:00 |
|
Marten Seemann
|
126de06cc0
|
Merge pull request #1320 from lucas-clemente/fix-vnp-logging
fix logging of version negotiation packets
|
2018-04-23 17:00:25 +09:00 |
|
Marten Seemann
|
f353658547
|
limit the size of an ACK frame to 1000 bytes
|
2018-04-23 16:44:39 +09:00 |
|
Marten Seemann
|
4891b65c4b
|
refactor calculation of ACK ranges into a separate function
|
2018-04-23 16:44:38 +09:00 |
|
Marten Seemann
|
108e574581
|
implement parsing and writing of the PATH_RESPONSE frame
|
2018-04-23 16:41:06 +09:00 |
|
Marten Seemann
|
f53f3eee9f
|
implement parsing and writing of the PATH_CHALLENGE frame
|
2018-04-23 16:41:06 +09:00 |
|
Marten Seemann
|
804eac7348
|
fix logging of version negotiation packets
|
2018-04-23 16:37:59 +09:00 |
|
Marten Seemann
|
cd359ec5e0
|
change the type byte of the IETF ACK frame from 0x0e to 0x0d
|
2018-04-23 15:57:50 +09:00 |
|
Marten Seemann
|
fae32101a0
|
use different source and destination connection IDs
|
2018-04-23 15:23:01 +09:00 |
|
Marten Seemann
|
c1d8c8940e
|
Merge pull request #1306 from lucas-clemente/new-header
implement the new IETF QUIC packet header
|
2018-04-19 18:15:15 +09:00 |
|
Marten Seemann
|
1ec873f917
|
use binary search to check if an ACK acks a packet
|
2018-04-19 17:36:12 +09:00 |
|
Marten Seemann
|
d47124d14d
|
add more methods to the protocol.ConnectionID
This will make it easier to change the underlying type of the connection
ID (potentially an array is faster than a byte slice).
|
2018-04-19 16:08:06 +09:00 |
|
Marten Seemann
|
52d31dd7ef
|
implement the new header format
Currently, we're only sending and accepting packets with matching source
and destination connection IDs.
|
2018-04-19 13:46:54 +09:00 |
|
Marten Seemann
|
1a035a265c
|
change the type of Connection ID to byte slice
|
2018-04-18 22:41:24 +09:00 |
|
Marten Seemann
|
52c3e6e863
|
remove the {Lowest, Largest}Acked from the ACK frame
All ACK ranges are now saved in the AckRanges slices. This eliminates a
bunch of special cases for ACKs that don't report any packets missing.
|
2018-04-18 13:19:42 +09:00 |
|
Marten Seemann
|
7de877fc3f
|
remove duplicate test cases for the legacy ACK frame
|
2018-04-18 12:25:26 +09:00 |
|
Marten Seemann
|
ca896f953a
|
rename AckRange.{First, Last} to AckRange.{Smallest, Largest}
|
2018-04-18 12:25:26 +09:00 |
|
Marten Seemann
|
948eef3e42
|
create a logger interface and use it everywhere
|
2018-04-04 13:03:28 +07:00 |
|
Marten Seemann
|
1e9b3f0bb2
|
simplify writing of the gQUIC Version Negotiation Packet
|
2018-04-04 13:03:22 +07:00 |
|