Commit Graph

3160 Commits

Author SHA1 Message Date
Marten Seemann
03489f56a7 handle the packet length before parsing the extended header 2018-12-14 16:46:40 +06:30
Marten Seemann
aaea375fb6 move parsing of the extended header to the unpacker 2018-12-14 16:46:40 +06:30
Marten Seemann
c912860a94 don't explicitely pass the header binary to the unpacker 2018-12-14 16:46:40 +06:30
Marten Seemann
ce6b9f2f1d save the decoded packet number on the unpacked packet 2018-12-14 16:46:40 +06:30
Marten Seemann
a8e5309cd1 move packet number decoding to the unpacker 2018-12-14 16:46:40 +06:30
Marten Seemann
c06a0ca037 rename InferPacketNumber to DecodePacketNumber
That's how it's called in the draft.
2018-12-14 16:46:40 +06:30
Marten Seemann
a009217ee4 fix logging of packet size 2018-12-14 16:46:40 +06:30
Marten Seemann
df22a9e278 Merge pull request #1667 from lucas-clemente/refactor-initial-aead
refactor initialization of the initial AEAD
2018-12-14 16:41:45 +06:30
Marten Seemann
200a58ce48 Merge pull request #1669 from lucas-clemente/fix-examples
use the self-signed certificate for the example server and client
2018-12-14 16:41:07 +06:30
Marten Seemann
d1ac7236b4 Merge pull request #1670 from lucas-clemente/disable-go1.10-race-detector
only run integration tests with race detector on Go 1.11 on CircleCI
2018-12-14 16:37:24 +06:30
Marten Seemann
598a796e24 only run integration tests with race detector on Go 1.11 on CircleCI 2018-12-13 18:07:32 +06:30
Marten Seemann
f6357dc858 use the self-signed certificate for the example server and client 2018-12-13 14:42:25 +06:30
Marten Seemann
a80ca960e5 refactor initialization of the initial AEAD 2018-12-13 13:51:05 +06:30
Marten Seemann
d86e989333 Merge pull request #1666 from lucas-clemente/self-signed-cert
use a self-signed certificate for integration tests
2018-12-11 21:06:52 +06:30
Marten Seemann
4abcce6408 use a self-signed certificate for integration tests 2018-12-11 14:24:12 +06:30
Marten Seemann
7b880f259f remove unused testdata.GetCertificate 2018-12-08 12:20:29 +06:30
Marten Seemann
ff1e7c4754 Merge pull request #1656 from lucas-clemente/require-tlsconf-listen
error when Listen is called without a tls.Config or certificates
2018-11-29 16:53:33 +07:00
Marten Seemann
008615284e error when Listen is called without a tls.Config or certificates 2018-11-29 16:01:03 +07:00
Marten Seemann
af0d14c8d1 Merge pull request #1650 from lucas-clemente/fix-1619
pad small packets
2018-11-29 11:52:34 +07:00
Marten Seemann
314056f6dd increase mininum stateless reset size 2018-11-29 11:22:20 +07:00
Marten Seemann
cf957bb3d0 pad small packets, such that len(packet number) + len(payload) >= 4 2018-11-29 11:22:20 +07:00
Marten Seemann
d981364ec6 Merge pull request #1649 from lucas-clemente/handshake-retransmissions
simplify packing of handshake retransmissions
2018-11-29 11:21:49 +07:00
Marten Seemann
46487e5267 remove unused constant NonForwardSecurePacketSizeReduction 2018-11-29 09:39:43 +07:00
Marten Seemann
05434fecbc always use 4 byte packet numbers for long header packets
When retransmitting a long header packet, we never have to split CRYPTO
frames, since the header is guaranteed to have the same size.
2018-11-29 09:39:43 +07:00
Marten Seemann
723e18c78c don't treat handshake retransmissions separately 2018-11-29 09:39:43 +07:00
Marten Seemann
1b3e4e9595 Merge pull request #1647 from lucas-clemente/remove-packet-packer-cansenddata
remove unneeded check if stream data can be sent in packet packer
2018-11-28 18:10:04 +07:00
Marten Seemann
0b55f33361 Merge pull request #1646 from lucas-clemente/simplify-packet-packing
simplify packing of Initial packets
2018-11-28 17:53:20 +07:00
Marten Seemann
884ce2cc53 Merge pull request #1648 from lucas-clemente/remove-public-reset-references
remove all references to Public Resets in comments
2018-11-28 17:51:38 +07:00
Marten Seemann
aba2c3d031 remove all references to Public Resets in comments 2018-11-28 11:58:05 +07:00
Marten Seemann
610f923f91 remove special treatment of handshake retransmissions 2018-11-28 10:57:39 +07:00
Marten Seemann
a13e45000f remove unneeded check if stream data can be sent in packet packer
We don't return the session before the handshake completes, so there
shouldn't be any stream data to send.
2018-11-28 10:34:22 +07:00
Marten Seemann
9313557b81 pad all Initial packets sent by the client 2018-11-28 10:14:47 +07:00
Marten Seemann
92edfc16ea Merge pull request #1640 from lucas-clemente/fix-1631
fix deadlock when handling packets
2018-11-27 20:18:42 +07:00
Marten Seemann
26132e45f2 Merge pull request #1644 from lucas-clemente/circle-race-detector
run tests with race detector on CircleCI
2018-11-27 18:45:38 +07:00
Marten Seemann
afdf9680e1 fix deadlock when handling packets 2018-11-27 18:45:22 +07:00
Marten Seemann
3f9831a93d Merge pull request #1638 from lucas-clemente/improve-packet-handling
make packet handling as non-blocking as possible
2018-11-27 18:43:52 +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
593fd2c994 run tests with race detector on CircleCI 2018-11-27 17:26:46 +07:00
Marten Seemann
8ea110d99b Merge pull request #1642 from lucas-clemente/improve-packet-conn-documentation
improve the description of how we handle net.PacketConns
2018-11-27 17:24:38 +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
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
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
574126d0eb handle Retry packets in a separate Go routine 2018-11-27 17:19:21 +07:00
Marten Seemann
7fecf8e478 handle Version Negotiation packets in a separate Go routine 2018-11-27 17:19:21 +07:00
Marten Seemann
a8db148dbf don't lock the client mutex when handling regular packets 2018-11-27 17:19:21 +07:00
Marten Seemann
38548c137c remove unneeded check for destination connection ID in the client
The packetHandlerMap routes packets to the client based on the
destination connection ID, so we can be sure that packets that are
handled in the client have the right connection ID.
2018-11-27 17:19:21 +07:00
Marten Seemann
5e01c49fdf send Version Negotiation packets in a separate Go routine 2018-11-27 17:19:21 +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