Marten Seemann
09574a6653
expose the tls.ConnectionState
2019-03-31 23:56:24 +09:00
Marten Seemann
d44c81de7a
remove verification of version negotiation
2019-03-23 11:26:20 +01:00
Marten Seemann
3264d7c583
fix logging of transport parameters without stateless reset tokens
2019-03-19 16:58:08 +09:00
Marten Seemann
f103919bf1
fix handling of HelloRetryRequests
2019-03-14 16:47:09 +09:00
Marten Seemann
e4bd715728
Merge pull request #1814 from lucas-clemente/stateless-resets
...
implement sending of stateless resets
2019-03-08 18:54:13 +09:00
Marten Seemann
6cf20310fe
use an array for the stateless reset token in the transport parameters
2019-03-08 18:09:37 +09:00
Marten Seemann
79cd3235f8
log the stateless reset token in the transport parameters
2019-03-08 18:08:09 +09:00
Marten Seemann
5b27076a4c
return the local TLS error, but don't send it on the wire
2019-03-08 18:02:43 +09:00
Marten Seemann
ae12852e4c
add a message to crypto errors
...
The string representation varies depending on the message:
* if there's no message, the TLS alert is used
* if there's a message, it is used instead
2019-03-08 18:02:43 +09:00
Marten Seemann
373db3c153
send the correct error code for crypto errors
2019-03-08 18:02:43 +09:00
Marten Seemann
f9a21275a4
use the string representation of the TLS alert for crypto errors
2019-03-08 18:02:43 +09:00
Marten Seemann
e5303df419
implement a string representation for crypto error
2019-03-08 18:02:36 +09:00
Marten Seemann
ab47ba1021
fix error string representation for errors without a message
2019-03-08 17:35:25 +09:00
Marten Seemann
662041649f
use the error names from the draft
2019-03-06 13:45:05 +09:00
Marten Seemann
9c09e84765
use IETF QUIC transport error codes
2019-03-06 13:43:18 +09:00
Marten Seemann
896d2da380
Merge pull request #1805 from lucas-clemente/return-timeout-errors
...
consistently return timeout errors after timeouts
2019-03-05 17:31:48 +09:00
Marten Seemann
9ed1a2e3e1
add integration test that we return timeout errors after an idle timeout
2019-03-05 16:22:48 +09:00
Marten Seemann
5e34cb1d71
run go generate ./...
2019-03-05 13:42:56 +09:00
Marten Seemann
59e9142426
retrieve the TLS alert from qtls when the handshake fails
2019-03-02 08:56:42 +09:00
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