Commit Graph

3114 Commits

Author SHA1 Message Date
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
198a2a8a04 Merge pull request #1641 from lucas-clemente/remove-rcv-time-in-session
only set the receive time of a packet once
2018-11-27 17:23:56 +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
6c4116e7f4 Merge pull request #1636 from lucas-clemente/fix-1635
keep the connection IDs when receiving a version negotation packet
2018-11-27 17:18:09 +07:00
Marten Seemann
f4a04158c3 Merge pull request #1633 from lucas-clemente/fix-race-in-qtls-config
don't modify the tls.Config when generating the qtls.Config
2018-11-27 17:17:47 +07:00
Marten Seemann
ee2650ee0b Merge pull request #1634 from lucas-clemente/fix-vn-test-race
close the server in the version negotiation integration tests
2018-11-27 17:17:28 +07:00
Marten Seemann
6d08cf336e only set the receive time of a packet once
We already set the time in the packetHandlerMap.
2018-11-27 16:08:31 +07:00
Marten Seemann
37495d967a keep the connection IDs when receiving a version negotiation packet 2018-11-27 13:13:50 +07:00
Marten Seemann
b0d965dfa5 close the server in the version negotiation integration tests
This fixes a race condition.
2018-11-27 11:19:07 +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
dd81dfdbdd Merge pull request #1629 from lucas-clemente/remove-unused-uint
remove unused ReadUint64 and WriteUint64 functions
2018-11-26 17:52:27 +07:00
Marten Seemann
6058f580be remove unused ReadUint64 and WriteUint64 functions 2018-11-26 16:48:36 +07:00
Marten Seemann
42b74c7b87 Merge pull request #1626 from lucas-clemente/move-header-parsing
move header parsing to the session
2018-11-26 16:18:57 +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
5581fee684 don't log the packet number for undecryptable packets
The packet number will be covered by header encryption, so we won't be
able to read it if a packet is undecryptable.
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
cfb911bd94 Merge pull request #1624 from lucas-clemente/remove-last-rcvd-packet-number
remove the lastRcvdPacketNumber from the session
2018-11-26 15:46:19 +07:00
Marten Seemann
00f097b25d Merge pull request #1625 from lucas-clemente/remove-header-parsing-perspective
remove unused perspective from header parsing
2018-11-26 15:45:48 +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
a3f91d3c98 remove the lastRcvdPacketNumber from the session
This variable was only used to pass the packet number an ACK was
received with to the SentPacketHandler. The better way to do this is by
passing the value to handleAckFrame() directly.
2018-11-26 08:47:02 +07:00
Marten Seemann
8a0fa1f8c6 Merge pull request #1623 from lucas-clemente/fix-1377
include the packet number length in the length calculation for long headers
2018-11-25 14:40:04 +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
34dd046cb6 Merge pull request #1616 from lucas-clemente/drop-short-header-packets
drop short header packets for unknown sessions
2018-11-20 16:01:09 +07:00
Marten Seemann
44513a528c drop short header packets for unknown sessions 2018-11-20 12:21:26 +07:00
Marten Seemann
9edd783983 Merge pull request #1612 from lucas-clemente/stateless-reset-receiving
implement receiving of stateless resets
2018-11-20 10:22:43 +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
590df11604 Merge pull request #1613 from lucas-clemente/remove-pnlen-6
remove 6 byte packet numbers
2018-11-19 20:45:42 +07:00
Marten Seemann
4f24750c6b Merge pull request #1609 from lucas-clemente/remove-late-packet-handling
remove late packet handling in packet handler map
2018-11-19 20:44:34 +07:00
Marten Seemann
e27e1cfdfb Merge pull request #1611 from lucas-clemente/simplify-packet-receiving
remove special case for testing when receiving packets in the session
2018-11-19 20:43:39 +07:00
Marten Seemann
b2783b2697 Merge pull request #1605 from lucas-clemente/fix-mock-filename
fix the file name of the mock crypto data handler
2018-11-19 20:42:46 +07:00