Commit Graph

598 Commits

Author SHA1 Message Date
Marten Seemann
fbe8844006 remove some unneccessary type conversions 2019-02-27 19:30:55 +09:00
Marten Seemann
4ae5e1908c Merge pull request #1794 from lucas-clemente/coalesced-packets
move coalesced packet handling to the session
2019-02-27 09:20:16 +08:00
Marten Seemann
6c726ccba3 change the idle timeout transport parameter to milliseconds 2019-02-23 10:37:08 +08:00
Marten Seemann
df34e4496e identify version negotiation packets without parsing the header 2019-02-23 10:24:42 +08:00
Marten Seemann
14426dfa12 implement a function to parse the destination connection ID of a packet 2019-02-23 10:24:42 +08:00
Marten Seemann
28ed85b9c6 move cutting of coalesced packets to the wire package 2019-02-23 10:24:42 +08:00
Marten Seemann
d82a60c835 copy the GetConfigForClient callback when creating the qtls.Config 2019-02-22 14:34:28 +08:00
Marten Seemann
791b90d4d5 copy the GetCertificate callback when creating the qtls.Config 2019-02-22 14:04:49 +08:00
Marten Seemann
500717066e use (a modified version of) the standard library TLS implementation 2019-02-22 13:33:56 +08:00
Marten Seemann
f6642ff948 use separate packet number spaces for sending packets
Packet numbers now start at 0 for every packet number spaces.
Furthermore, an ACK frame now only acknowledges packets in the packet
number space it was sent in.
2019-02-11 20:13:05 +08:00
Marten Seemann
b35c161f2e don't ignore reordered ACKs 2019-02-11 20:13:05 +08:00
Marten Seemann
631947ad7d use shorter variable name in the sent packet handler 2019-02-11 20:13:05 +08:00
Marten Seemann
c7f1fce88a set the default value for the ack_delay_exponent, if it is not sent 2019-02-08 13:50:49 +08:00
Marten Seemann
7dc4be2ce9 Merge pull request #1779 from lucas-clemente/remove-tls-received-extensions-error
remove the error return value when receiving TLS extensions
2019-02-07 20:51:57 +08:00
Marten Seemann
26afc7a4ca remove the error return value when receiving TLS extensions 2019-02-07 12:43:29 +08:00
Marten Seemann
b24b8e6926 implement sending of post-handshake crypto messages 2019-02-06 23:05:43 +08:00
Marten Seemann
e7ed5e3c92 implement the crypto stream for post-handshake crypto messages 2019-02-06 22:51:44 +08:00
Marten Seemann
17f4ebad64 handle Retry packets in the session 2019-02-04 15:38:47 +08:00
Marten Seemann
2712626e66 move processing of transport parameters to the session 2019-02-02 09:24:37 +08:00
Marten Seemann
a95b7c2868 refactor how transport parameters are passed from the extension handler 2019-02-02 09:24:37 +08:00
Marten Seemann
707e9f7b79 Merge pull request #1724 from lucas-clemente/ack-delay-exponent
implement the ack_delay_exponent
2019-01-28 22:00:38 +09:00
Marten Seemann
8380cf97a4 improve logging of NEW_TOKEN frames 2019-01-28 16:46:09 +09:00
Marten Seemann
6834c37462 move the maximum ack delay exponennt to the protocol constants 2019-01-28 16:37:00 +09:00
Marten Seemann
cebb4342ec use the ack_delay_exponent sent in the transport parameters 2019-01-28 16:09:47 +09:00
Marten Seemann
155ebd18a2 parse and send the ack_delay_exponent in the transport parameters 2019-01-28 16:09:47 +09:00
Marten Seemann
ee75f5e2f2 implement ACK frame parsing using an ack delay exponent 2019-01-28 16:09:47 +09:00
Marten Seemann
741521c4d1 refactor frame parsing into a separate struct 2019-01-28 16:09:47 +09:00
Marten Seemann
7ac2766b74 improve logging of NEW_CONNECTION_ID frames 2019-01-26 16:31:53 +08:00
Marten Seemann
d6521fa3cc Merge pull request #1749 from lucas-clemente/dont-send-after-reset
don't send stream data after a stream was canceled
2019-01-23 15:25:26 +07:00
Marten Seemann
1d7d532035 release connection-level flow control credit when a stream is reset 2019-01-23 12:49:48 +07:00
Marten Seemann
1f75eaffd3 improve the error messages for stream data received after termination 2019-01-23 12:44:38 +07:00
Marten Seemann
bfbf0bca48 always queue window updates when data is being read
There's no need to have a separate call in the flow controller interface
for this.
2019-01-22 23:46:12 +07:00
Marten Seemann
de05de297f Merge pull request #1739 from lucas-clemente/connection-state
set the ConnectionState
2019-01-17 09:14:24 +07:00
Marten Seemann
a84d626cd5 Merge pull request #1733 from lucas-clemente/remove-leftover-todo
remove leftover TODO in the crypto setup
2019-01-17 09:13:53 +07:00
Marten Seemann
84037e3024 Merge pull request #1734 from lucas-clemente/ack-encryption-level
send ACK frames in the correct packet number space
2019-01-16 08:58:01 +07:00
Marten Seemann
9122bfe9ad Merge pull request #1732 from lucas-clemente/tls-handshake-write-key
retrieve the handshake write key when receiving the ServerHello
2019-01-16 08:55:47 +07:00
Marten Seemann
4ba3aa0de8 set the ConnectionState 2019-01-14 11:55:07 +07:00
Marten Seemann
1306787703 Merge pull request #1730 from lucas-clemente/change-dev-version
change the version number for the development version
2019-01-11 15:38:35 +07:00
Marten Seemann
a303ad9745 always send ACKs in the correct packet number space 2019-01-11 11:12:07 +07:00
Marten Seemann
258e43ab95 rename the receivedPacketHandler to receivedPacketTracker 2019-01-11 10:52:39 +07:00
Marten Seemann
5ccc367462 start ignoring packets in ACK frames only after the handshake completed 2019-01-11 10:52:39 +07:00
Marten Seemann
ad3f39a5d7 retrieve the handshake write key when receiving the ServerHello 2019-01-11 10:52:08 +07:00
Marten Seemann
337b9f9a93 remove leftover TODO in the crypto setup 2019-01-11 09:22:17 +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
3f80870922 change the version number for the development version
This now uses the highest version number reserved for quic-go in
https://github.com/quicwg/base-drafts/wiki/QUIC-Versions.
2019-01-10 22:06:29 +07: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