Commit graph

19 commits

Author SHA1 Message Date
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
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
804eac7348 fix logging of version negotiation packets 2018-04-23 16:37:59 +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
948eef3e42 create a logger interface and use it everywhere 2018-04-04 13:03:28 +07:00
Marten Seemann
b6ca910a52 implement the IETF draft 10 header changes 2018-03-05 19:13:37 +07:00
Marten Seemann
81974d30d6 run gosimple in gometalinter 2018-02-23 22:42:32 +08:00
Marten Seemann
11af98e338 run misspell in gometalinter 2018-02-23 22:39:08 +08:00
Marten Seemann
a4bc7362e0 fix IETF Version Negotiation Packet, it doesn't have a packet number 2018-02-23 14:20:47 +08:00
Marten Seemann
be29963637 send a reserved version number in version negotiation packets 2017-12-06 10:20:22 +07:00
Marten Seemann
45e43ada40 implement the recent changes to the version negotiation packet 2017-12-06 08:40:43 +07:00
Marten Seemann
7c3d6abb4b fix parsing of the Header type byte
In order to determine if a packet is a Version Negotiation Packet, it is
not sufficient to just look at bit 0x1. Other packet types also have
that bit set, e.g. the Retry packet (packet type 0x3). Instead, we have
to look at the last 3 bits. This fix will work as long as IETF QUIC
doesn't define more than 8 long header types.
2017-11-13 10:23:17 +08:00
Marten Seemann
234d5aab36 echo the offered version in IETF Version Negotiation Packets 2017-11-12 14:37:43 +08:00
Marten Seemann
5d4174b2f0 parse the packet header before getting the session from the session map 2017-11-10 08:48:45 +07:00
Marten Seemann
b40d249953 reject packets that use the wrong or unknown packet types 2017-11-02 20:47:02 +07:00
Marten Seemann
a65929f6cf add logging for the packet header 2017-10-27 22:56:41 +07:00
Marten Seemann
4556ad01e5 use the new packet header for connections using TLS 2017-10-27 16:54:47 +07:00