Commit Graph

3253 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
Marten Seemann
3f8728ddfc Merge pull request #1729 from protocol7/fix-shortheader-encryption
correctly set the 1-RTT header protection mask
2019-01-11 00:03:43 +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
62f131fcc1 Merge pull request #1716 from lucas-clemente/fix-aead-nonces
fix nonce usage in the AEAD, use the AEAD provided by qtls for Initials
2019-01-07 10:18:26 +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
2cb72ad098 Merge pull request #1710 from lucas-clemente/proxy-remove-version
remove unneeded version parameter from proxy constructor
2019-01-07 08:48:19 +07:00
Marten Seemann
34a35b7df6 Merge pull request #1714 from lucas-clemente/fix-initial-logging
don't log Initial packets in the packet handler map
2019-01-07 08:46: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
ccfa4c304d Merge pull request #1721 from lucas-clemente/stream-open-errors
return a net.Error when opening streams
2019-01-07 08:44:50 +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
488d4a1a85 Merge pull request #1717 from lucas-clemente/key-derivation
update the HKDF labels
2019-01-07 08:38:05 +07:00
Marten Seemann
74de053685 Merge pull request #1711 from lucas-clemente/fix-1708
properly close session in handshake integration tests
2019-01-07 08:04:58 +07:00
Marten Seemann
c6360bd078 Merge pull request #1722 from lucas-clemente/remove-unused-decryption-error-check
remove unneeded check for decryption errors in session
2019-01-07 08:04:28 +07:00
Marten Seemann
9025133936 remove unneeded check for decryption errors in session 2019-01-06 17:34:24 +07:00
Marten Seemann
a2e48e204b return a net.Error when opening streams
net.Error.Temporary() will be true if no stream can be opened when the
peer's stream limit is reached.
2019-01-06 17:18:43 +07:00
Marten Seemann
181aa493e0 make sure not to return closed session from Listener.Accept() 2019-01-06 15:27:42 +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
1301610a54 never block when calling the onHandshakeComplete callback 2019-01-06 11:43:49 +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
73c4391a96 don't log Initial packets in the packet handler map 2019-01-05 16:16:58 +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
68f1d6d0ca properly close session in handshake integration tests
Otherwise there's a race condition when setting the supported versions.
2019-01-05 12:45:44 +07:00
Marten Seemann
2367ab35bb remove unneeded version parameter from proxy constructor 2019-01-05 12:36:52 +07:00
Marten Seemann
8ac77be934 Merge pull request #1703 from lucas-clemente/fix-1697
don't close the session when unpacking a packet fails
2019-01-05 10:59:41 +07:00
Marten Seemann
acd17c1f6b Merge pull request #1706 from lucas-clemente/tail-loss-integration-test
add an integration test for tail loss recovery
2019-01-05 10:58:43 +07:00
Marten Seemann
131f561be0 don't close the session when unpacking a packet fails
Before a packet is successfully authenticated, we can't be sure if this
is a packet that was injected by an attacker. If any error occurs before
authenticating the packet, we should just drop it.
2019-01-03 18:53:43 +07:00
Marten Seemann
855b643c7c move frame parsing to the session
This way, we can handle every parsed frame directly, and avoid
allocating a slice of parsed frames.
2019-01-03 18:53:36 +07:00
Marten Seemann
05645b546c remove special case for Retry packets from the session
Retry packets are never passed to the session, so there's no need to
handle them there.
2019-01-03 18:52:32 +07:00
Marten Seemann
203994d06b add an integration test for tail loss recovery 2019-01-03 18:43:17 +07:00
Marten Seemann
cf0182e61c use the same package in integration tests 2019-01-03 18:42:49 +07:00
Marten Seemann
3fb58da7e6 Merge pull request #1707 from lucas-clemente/remove-raw-header
remove unnecessary Raw byte slice from the header
2019-01-03 18:39:45 +07:00
Marten Seemann
439cdd2679 Merge pull request #1702 from lucas-clemente/fix-1701
check that the packet is large enough for the header encryption sample
2019-01-03 18:37:10 +07:00
Marten Seemann
cd96cc745d Merge pull request #1704 from lucas-clemente/fix-coalesced-logging
fix logging of coalesced packets
2019-01-03 18:36:38 +07:00
Marten Seemann
31a164c84f Merge pull request #1705 from lucas-clemente/fix-drop-tests
don't run the handshake drop integration tests twice
2019-01-03 16:18:20 +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
41ca178dcc don't run the handshake drop integration tests twice 2019-01-02 10:04:38 +07:00
Marten Seemann
5d535166ca fix logging of coalesced packets 2019-01-01 16:51:45 +07:00
Marten Seemann
ba45256b32 check that the packet is large enough for the header encryption sample 2019-01-01 13:06:02 +07:00
Marten Seemann
8b2eb76b75 Merge pull request #1699 from lucas-clemente/fix-short-packet-cutting
fix length check for too short packets
2019-01-01 12:08:25 +07:00
Marten Seemann
99b1e50722 fix length check for too short packets 2019-01-01 11:37:09 +07:00
Marten Seemann
673ad95a44 Merge pull request #1698 from lucas-clemente/coalesced-packets
implement parsing of coalesced packets
2019-01-01 10:03:18 +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
b32fb438af make putting back packet buffers a member function of packetBuffer 2019-01-01 09:50:35 +07:00