Marten Seemann
|
4e1f18e833
|
avoid unnecessary initializations of heaper protectors on key updates
|
2019-06-22 20:01:18 +08:00 |
|
Marten Seemann
|
ca8b7ddeef
|
add logging to the updatable AEAD
|
2019-06-22 20:01:18 +08:00 |
|
Marten Seemann
|
55b88be009
|
check that the peer doesn't update keys too quickly
|
2019-06-22 20:01:18 +08:00 |
|
Marten Seemann
|
1ef54db63f
|
check that the peer starts with key phase 0 after the handshake
|
2019-06-22 20:01:18 +08:00 |
|
Marten Seemann
|
c522bcc683
|
return a defined error when the AEAD cannot open a packet
|
2019-06-22 20:01:18 +08:00 |
|
Marten Seemann
|
1fb970cbac
|
perform a key update when receiving a packet with a different key phase
|
2019-06-22 20:01:18 +08:00 |
|
Marten Seemann
|
e74ede678f
|
move opening / sealing to the updatable AEAD
|
2019-06-22 20:01:18 +08:00 |
|
Marten Seemann
|
305e37cd15
|
move header encryption / decryption to the updatable AEAD
|
2019-06-22 20:01:18 +08:00 |
|
Marten Seemann
|
d3ca8db521
|
refactor initialization of AEADs
|
2019-06-22 20:01:18 +08:00 |
|
Marten Seemann
|
0dd5a0b91f
|
introduce a separate AEAD for short header crypto
|
2019-06-22 20:01:18 +08:00 |
|
Marten Seemann
|
598628d05b
|
use separate opener interfaces for long and short header packets
|
2019-06-22 20:01:18 +08:00 |
|
Marten Seemann
|
b2d3ef691e
|
use separate sealer interfaces for long and short header packets
|
2019-06-22 20:01:18 +08:00 |
|
Marten Seemann
|
c503769bcd
|
use separate functions per encryption level to get sealers
|
2019-06-22 20:01:18 +08:00 |
|
Marten Seemann
|
d4d3f09ee3
|
use separate functions per encryption level to get openers
|
2019-06-22 20:01:18 +08:00 |
|
Marten Seemann
|
a8633a952c
|
introduce a type for the stream number
|
2019-06-05 17:45:17 +08:00 |
|
Marten Seemann
|
979ab75b3b
|
require ALPN during the TLS handshake
|
2019-06-02 14:58:37 +08:00 |
|
Marten Seemann
|
74ddf326c1
|
Merge pull request #1943 from lucas-clemente/new-tokens
send NEW_TOKEN frames
|
2019-06-02 14:42:25 +08:00 |
|
Marten Seemann
|
314df9229c
|
Merge pull request #1941 from lucas-clemente/post-handshake-errors
add error handling for post-handshake crypto messages
|
2019-06-02 14:26:05 +08:00 |
|
Marten Seemann
|
34543848f0
|
send a NEW_TOKEN from after completing the handshake (as a server)
|
2019-06-02 14:18:27 +08:00 |
|
Marten Seemann
|
7c7bcede6c
|
rename handshake.TokenGenerator.NewToken to NewRetryToken
|
2019-06-02 14:14:05 +08:00 |
|
Marten Seemann
|
17634d2fe5
|
error when receiving a post-handshake message with wrong encryption level
|
2019-06-02 14:10:51 +08:00 |
|
Marten Seemann
|
d4da26bdbd
|
fix flaky token generator test on CI
|
2019-06-02 13:57:51 +08:00 |
|
Marten Seemann
|
6888eb8593
|
return an error when handling the NewSessionTicket failed
|
2019-06-01 13:01:49 +08:00 |
|
Marten Seemann
|
4e709efa2f
|
Merge pull request #1939 from lucas-clemente/crypto-setup-error-signaling
improve error handling in the crypto setup
|
2019-05-31 19:30:43 +08:00 |
|
Marten Seemann
|
e361d3c5cd
|
use a callback to signal completion of the handshake
|
2019-05-31 19:13:41 +08:00 |
|
Marten Seemann
|
4fd6a7cc99
|
use a struct to pass callbacks from the session to the crypto setup
|
2019-05-31 19:00:10 +08:00 |
|
Marten Seemann
|
3b4e552582
|
Merge pull request #1936 from lucas-clemente/token-timestamp
use a high resolution timestamp in the token
|
2019-05-31 18:57:51 +08:00 |
|
Marten Seemann
|
743868159f
|
use a callback to pass handshake errors to the session
|
2019-05-31 18:35:37 +08:00 |
|
Marten Seemann
|
ed69ae2ce0
|
Merge pull request #1940 from lucas-clemente/unexpected-handshake-messages
fix crash when receiving unexpected handshake messages
|
2019-05-31 18:14:29 +08:00 |
|
Marten Seemann
|
002b36abf5
|
use a high resolution timestamp in the token
|
2019-05-31 18:13:11 +08:00 |
|
Marten Seemann
|
aa9ab41560
|
Merge pull request #1937 from lucas-clemente/fix-hrr-race
fix race condition in crypto setup when sending a HelloRetryRequest
|
2019-05-31 18:09:08 +08:00 |
|
Marten Seemann
|
6899eb3c86
|
Merge pull request #1938 from lucas-clemente/remove-unused-connection-state
remove unused handshake.ConnectionState struct definition
|
2019-05-31 18:08:03 +08:00 |
|
Marten Seemann
|
73bd91a093
|
fix crash when receiving unexpected handshake message
|
2019-05-31 18:04:44 +08:00 |
|
Marten Seemann
|
5d4a47a3f3
|
return a crypto error when receiving unexpected handshake messages
|
2019-05-31 17:57:07 +08:00 |
|
Marten Seemann
|
2f6ab5aa5f
|
remove unused handshake.ConnectionState struct definition
|
2019-05-31 15:00:34 +08:00 |
|
Marten Seemann
|
0be4ee197f
|
fix race condition in crypto setup when sending a HelloRetryRequest
|
2019-05-31 01:57:58 +08:00 |
|
Marten Seemann
|
1d6707325f
|
name the quic.Cookie to quic.Token
|
2019-05-30 22:13:06 +08:00 |
|
Marten Seemann
|
a4989c3d9c
|
drop Initial and Handshake keys when receiving the first 1-RTT ACK
|
2019-05-30 14:19:26 +08:00 |
|
Marten Seemann
|
4042a8258c
|
simplify writing of varint transport parameters
|
2019-05-08 12:53:19 +09:00 |
|
Marten Seemann
|
f847c5422d
|
implement parsing and writing of the max_ack_delay transport parameter
|
2019-05-08 12:43:29 +09:00 |
|
Marten Seemann
|
9ffbd662c1
|
fix race condition when accessing the encryption level in crypto setup
|
2019-04-02 00:13:22 +09:00 |
|
Marten Seemann
|
e9f7f87063
|
remove two stray TODOs from the crypto setup
|
2019-04-01 12:04:19 +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
|
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 |
|