Marten Seemann
a6d1917417
make sure the same session ticket key is used if none is configured
2019-04-01 11:45:20 +09:00
Marten Seemann
2adf923ee6
process the NewSessionTicket TLS message
2019-04-01 11:45:20 +09:00
Marten Seemann
da4b3e3176
pass a conn to qtls that returns the remote address
2019-04-01 11:45:20 +09:00
Marten Seemann
b2723d6d13
make the ClientSessionCache work with qtls
2019-04-01 11:45:16 +09:00
Marten Seemann
9ddf9129cf
move generation of qtls.Config to a separate file, add tests
2019-04-01 11:41:06 +09:00
Marten Seemann
358fce241a
Merge pull request #1841 from lucas-clemente/vnp-quic-bit
...
set the QUIC bit in Version Negotiation packets
2019-03-31 18:29:26 +02:00
Marten Seemann
09574a6653
expose the tls.ConnectionState
2019-03-31 23:56:24 +09:00
Marten Seemann
352ac45e32
set the QUIC bit in Version Negotiation packets
2019-03-29 09:20:41 +01: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