Commit Graph

3148 Commits

Author SHA1 Message Date
Marten Seemann
f6357dc858 use the self-signed certificate for the example server and client 2018-12-13 14:42:25 +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
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
708aa165bc improve the description of how we handle net.PacketConns 2018-11-27 16:33:03 +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