Commit Graph

555 Commits

Author SHA1 Message Date
Marten Seemann
5ccc367462 start ignoring packets in ACK frames only after the handshake completed 2019-01-11 10:52:39 +07:00
Niklas Gustavsson
edecc88ebf Set is1RTT correctly for sealer/opener
Ensure that the rigth mask is picked for header protection.
2019-01-10 16:39:01 +01:00
Marten Seemann
6fbe8d563e Merge pull request #1713 from lucas-clemente/draft-test-vectors
use the test vectors from the draft
2019-01-07 10:18:57 +07:00
Marten Seemann
45458b3859 add the complete packet test vectors for initial packets 2019-01-07 09:11:49 +07:00
Marten Seemann
c0e9faa505 use the initial test vectors from the draft 2019-01-07 09:07:38 +07:00
Marten Seemann
b4356d7348 fix nonce usage in the AEAD, use the AEAD provided by qtls for Initials 2019-01-07 09:04:03 +07:00
Marten Seemann
e6d0ea630e Merge pull request #1718 from lucas-clemente/fix-session-queue
implement a queue of session waiting to be accepted
2019-01-07 08:45:22 +07:00
Marten Seemann
086cc85b98 Merge pull request #1712 from lucas-clemente/fix-ack-delay-for-pn0
correctly set the ack delay in an ACK of packet number 0
2019-01-07 08:44:32 +07:00
Marten Seemann
4294493a1a Merge pull request #1715 from lucas-clemente/fix-quic-ext-codepoint
fix quic_transport_parameters TLS extension code point
2019-01-07 08:43:30 +07:00
Marten Seemann
90514d53d1 reject new connection attempts if the server's accept queue is full 2019-01-06 15:26:43 +07:00
Marten Seemann
bbbeb7d32c update the HKDF labels 2019-01-05 18:01:02 +07:00
Marten Seemann
177c81610b rename packet number encryption to header encryption 2019-01-05 18:00:22 +07:00
Marten Seemann
0485090f9a fix quic_transport_parameters TLS extension code point 2019-01-05 16:23:27 +07:00
Marten Seemann
5e3c96024a correctly set the ack delay in an ACK of packet number 0 2019-01-05 13:05:14 +07:00
Marten Seemann
5a37e8983d remove unnecessary Raw byte slice from the header 2019-01-03 10:14:08 +07:00
Marten Seemann
3691a18849 Merge pull request #1692 from lucas-clemente/unify-tlp-and-rto
unify TLP and RTO
2019-01-03 10:07:00 +07:00
Marten Seemann
77d48248ff unify TLP and RTO
This doesn't yet implement the persistent congestion detection, since
the specification of that still is in flux.
2019-01-01 09:53:09 +07:00
Marten Seemann
538b84b78d use the IV when sealing and opening 2018-12-29 16:11:27 +07:00
Marten Seemann
cf7f2dc661 rename handshake packets to crypto packets 2018-12-28 13:17:31 +07:00
Marten Seemann
3d2d45d53f Merge pull request #1687 from lucas-clemente/draft-17-initial
use the draft-17 initial encryption
2018-12-27 17:20:00 +07:00
Marten Seemann
7cb84c4e06 Merge pull request #1685 from lucas-clemente/increase-pn-after-vn-and-retry
increase the packet number after version negotiation and retry
2018-12-27 17:00:58 +07:00
Marten Seemann
b1592d0616 use the draft-17 initial encryption 2018-12-27 16:50:42 +07:00
Marten Seemann
178ac0dacb keep increasing the packet number after version negotiation and retry 2018-12-22 22:15:35 +06:30
Marten Seemann
1abf9e1b37 start with packet number 0 2018-12-22 21:25:14 +06:30
Marten Seemann
a4128ed469 accept multiple ACKs sent in the same packet 2018-12-21 21:10:23 +06:30
Marten Seemann
b166757fd9 Merge pull request #1680 from lucas-clemente/stream-deadlock
fix a deadlock when setting read and write deadlines
2018-12-21 15:43:07 +06:30
Marten Seemann
d6c304610d only queue packets for decryption if the opener is not yet available 2018-12-20 15:24:56 +06:30
Marten Seemann
516b427d46 don't set a timer when the deadline is the zero value 2018-12-18 22:06:57 +06:30
Marten Seemann
072b84870c don't fire a newly created timer 2018-12-18 22:06:57 +06:30
Marten Seemann
5a68ba0a02 implement header encrytion and decryption for sealers and openers 2018-12-14 16:46:40 +06:30
Marten Seemann
67f923c736 return the Opener from the crypto setup 2018-12-14 16:46:40 +06:30
Marten Seemann
d3611a014c implement initial header encryption key derivation 2018-12-14 16:46:40 +06:30
Marten Seemann
03489f56a7 handle the packet length before parsing the extended header 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
a80ca960e5 refactor initialization of the initial AEAD 2018-12-13 13:51:05 +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
314056f6dd increase mininum stateless reset size 2018-11-29 11:22:20 +07:00
Marten Seemann
46487e5267 remove unused constant NonForwardSecurePacketSizeReduction 2018-11-29 09:39:43 +07:00
Marten Seemann
aba2c3d031 remove all references to Public Resets in comments 2018-11-28 11:58:05 +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
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
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
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