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