Commit Graph

3424 Commits

Author SHA1 Message Date
Marten Seemann
e9f7f87063 remove two stray TODOs from the crypto setup 2019-04-01 12:04:19 +09:00
Marten Seemann
7e5d890c99 Merge pull request #1842 from lucas-clemente/session-resumption
implement TLS session resumption
2019-04-01 04:59:35 +02:00
Marten Seemann
daab551723 add an integration test for session resumption 2019-04-01 11:45:20 +09:00
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
c28cdf72da Merge pull request #1836 from lucas-clemente/tls-connection-state
expose the tls.ConnectionState
2019-03-31 17:15:07 +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
3f4b6d1df8 Merge pull request #1834 from lucas-clemente/dont-require-stateless-reset-token
don't require servers to send stateless reset tokens in transport params
2019-03-25 10:43:25 +01:00
Marten Seemann
565e5f135a don't require servers to send stateless reset tokens in transport params 2019-03-24 16:23:08 +01:00
Marten Seemann
a32da4a6af Merge pull request #1828 from lucas-clemente/remove-version-negotiation-verification
remove verification of version negotiation
2019-03-24 16:19:46 +01:00
Marten Seemann
e17a98ac9e Merge pull request #1832 from lucas-clemente/remove-initial-retransmission-special-case
don't cancel retransmissions for Initial packets
2019-03-24 16:07:00 +01:00
Marten Seemann
d5fa430ba3 don't cancel retransmissions for Initial packets 2019-03-24 15:54:18 +01:00
Marten Seemann
c7ab6f4ef5 Merge pull request #1831 from lucas-clemente/local-remote-stream-data
fix initialization of stream flow controllers for local / remote streams
2019-03-24 11:38:29 +01:00
Marten Seemann
4a1dd9ce92 fix initialization of stream flow controllers for local / remote streams 2019-03-23 13:58:43 +01:00
Marten Seemann
d44c81de7a remove verification of version negotiation 2019-03-23 11:26:20 +01:00
Marten Seemann
43dcf1de0a Merge pull request #1826 from lucas-clemente/fix-tp-logging
fix logging of transport parameters without stateless reset tokens
2019-03-20 10:48:01 +01:00
Marten Seemann
3264d7c583 fix logging of transport parameters without stateless reset tokens 2019-03-19 16:58:08 +09:00
Marten Seemann
02ea3e59d7 Merge pull request #1822 from lucas-clemente/hello-retry-request
fix handling of HelloRetryRequests
2019-03-14 17:42:52 +09:00
Marten Seemann
dc3ad9ccc5 add an integration test for HelloRetryRequests 2019-03-14 16:47:09 +09:00
Marten Seemann
f103919bf1 fix handling of HelloRetryRequests 2019-03-14 16:47:09 +09:00
Marten Seemann
6d98c127e0 Merge pull request #1824 from lucas-clemente/fix-queueing-undecryptable-packets
fix queueing of undecryptable packets
2019-03-14 16:44:48 +09:00
Marten Seemann
b816209f66 fix queueing of undecryptable packets 2019-03-10 12:25:16 +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
bd955fc54b Merge pull request #1819 from lucas-clemente/fix-flaky-handshake-test
fix flaky handshake integration test
2019-03-08 18:53:47 +09:00
Marten Seemann
e3e6f6b043 fix flaky handshake integration test 2019-03-08 18:37:13 +09:00
Marten Seemann
f9c7c0f703 Merge pull request #1817 from lucas-clemente/tls-errors
rework crypto errors
2019-03-08 18:15:18 +09:00
Marten Seemann
b3fe0fdbf9 only send stateless resets if a stateless reset key is configured 2019-03-08 18:10:16 +09:00
Marten Seemann
5c20519743 don't send stateless resets for small packets
This prevents amplification and looping.
2019-03-08 18:10:16 +09:00
Marten Seemann
19cf46d736 add an integration test for stateless resets 2019-03-08 18:10:16 +09:00
Marten Seemann
94046cdb4b implement sending of stateless resets 2019-03-08 18:10:15 +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
dd8c590b13 add methods to add and remove reset tokens to the packet handler map 2019-03-08 18:09:37 +09:00
Marten Seemann
733dcb75eb rename the methods of the sessionRunner interface 2019-03-08 18:09:36 +09:00
Marten Seemann
759cd289c9 accept stateless resets for connection with zero-length connection IDs 2019-03-08 18:08:09 +09:00
Marten Seemann
79cd3235f8 log the stateless reset token in the transport parameters 2019-03-08 18:08:09 +09:00
Marten Seemann
a92ba989cb Merge pull request #1818 from lucas-clemente/rework-idle-timeout
rework idle timeout
2019-03-08 18:05:40 +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
4d7d951782 add an integration test for the duration of the idle timeout 2019-03-08 17:32:50 +09:00
Marten Seemann
ef55a44bdb restart the idle timeout when sending the first retransmittable packet 2019-03-08 17:32:50 +09:00
Marten Seemann
7bd9844d38 Merge pull request #1816 from lucas-clemente/error-logging
improve error logging
2019-03-08 16:48:29 +09:00