Commit Graph

4165 Commits

Author SHA1 Message Date
Marten Seemann
2c67c117f6 Merge pull request #2292 from lucas-clemente/fix-0rtt-drop-test
fix session unit test checking that the client drops 0-RTT packets
2020-01-17 16:51:01 +07:00
Marten Seemann
01226661e6 Merge pull request #2297 from lucas-clemente/increase-cwnd
increase the maximum congestion window to 10000 packets
2020-01-17 16:38:28 +07:00
Marten Seemann
59bfe7f90a Merge pull request #2301 from lucas-clemente/configure-0-rtt
only enable 0-RTT when using ListenEarly and DialEarly
2020-01-17 16:38:02 +07:00
Marten Seemann
3e469db631 protect the AEAD calculating the integrity tag by a mutex 2020-01-17 14:01:12 +07:00
Marten Seemann
8b52e62b86 allow corrupting of Retry packets in the MITM integration test 2020-01-17 13:42:57 +07:00
Marten Seemann
7b10453af8 implement the Retry integrity tag 2020-01-17 13:42:57 +07:00
Marten Seemann
9ea9c7947f implement calculation of the retry integrity tag 2020-01-17 13:42:57 +07:00
Marten Seemann
eeba3951ae only enable 0-RTT when using ListenEarly and DialEarly 2020-01-17 11:22:12 +07:00
Marten Seemann
080b61d271 only save transport parameters to session ticket when using 0-RTT 2020-01-17 10:50:27 +07:00
Marten Seemann
8aaa11687d add support for the multiconnect interop test case 2020-01-16 21:34:00 +07:00
Marten Seemann
39efdfe695 Merge pull request #2298 from MarinX/http-remoteaddr-fix
set remote address on http request
2020-01-14 19:47:34 +07:00
Marin
44cc47a887 set remote address on http request 2020-01-14 13:30:26 +01:00
Marten Seemann
b1f8b8f25d increase the maximum congestion window to 10000 packets 2020-01-14 16:34:34 +07:00
Marten Seemann
d62b4848b9 fix session unit test checking that the client drops 0-RTT packets 2020-01-11 18:11:24 +07:00
Marten Seemann
fb9315c4f1 Merge pull request #2290 from lucas-clemente/example-no-panic
use log.Fatal() instead of panic() in example client and server
2020-01-08 15:38:56 +07:00
Marten Seemann
2ba4617463 use log.Fatal() instead of panic() in example client and server 2020-01-08 15:15:52 +07:00
Marten Seemann
59c2c34dbc Merge pull request #2289 from lucas-clemente/fix-keep-alive-duration
fix mismatching expectation of the keep alive timer
2020-01-08 14:54:42 +07:00
Marten Seemann
079279b9cf fix mismatching expectation of the keep alive timer
session.maybeResetTimer() and session.run() were using slightly
different definitions of when a keep-alive PING should be sent. Under
certain conditions, this would make us repeatedly set a timer for the
keep-alive, but on timer expiration no keep-alive would be sent.
2020-01-08 11:09:45 +07:00
Marten Seemann
6bf30e4563 Merge pull request #2279 from lucas-clemente/handshake-complete-integration-test
add a test that waits for handshake completion after sending 0-RTT data
2020-01-07 12:47:58 +07:00
Marten Seemann
9feba60b8a add a test that waits for handshake completion after sending 0-RTT data 2020-01-07 11:16:42 +07:00
Marten Seemann
54d9daba44 Merge pull request #2285 from lucas-clemente/interop-key-log-files
export key log files from client and server in the interop runner
2020-01-06 19:16:40 +07:00
Marten Seemann
042bdb1e7d Merge pull request #2281 from lucas-clemente/fix-flaky-stream-deadline-test
increase the TIMESCALE factor on AppVeyor
2020-01-06 17:44:13 +07:00
Marten Seemann
4ab4b8004a Merge pull request #2274 from lucas-clemente/log-0-rtt-key-install
log when 0-RTT keys become available
2020-01-06 17:43:14 +07:00
Marten Seemann
1723a16b00 Merge pull request #2273 from lucas-clemente/improve-dropped-packet-logging
log the packet size of dropped packets
2020-01-06 17:42:53 +07:00
Marten Seemann
07e34f1255 Merge pull request #2275 from lucas-clemente/fix-session-ticket-transport-parameter-unmarshal
fix unmarshaling of transport parameters from session tickets
2020-01-06 17:42:13 +07:00
Marten Seemann
4c8939908e Merge pull request #2283 from lucas-clemente/fix-destroy-race-condition
fix race condition when destroying the session
2020-01-06 17:41:47 +07:00
Marten Seemann
2c4990405b export a key log file from the server in the interop runner 2020-01-05 11:22:19 +07:00
Marten Seemann
664474b058 export a key log file from the client in the interop runner 2020-01-05 11:20:04 +07:00
Marten Seemann
c0e8df7bbc fix race condition when destroying the session 2020-01-04 14:57:42 +07:00
Marten Seemann
22b36a783b increase the TIMESCALE factor on AppVeyor
This hopefully makes timing-based tests less flaky.
2020-01-03 17:05:19 +07:00
Marten Seemann
a1840b3221 fix unmarshaling of transport parameters from session tickets 2020-01-02 15:12:32 +08:00
Marten Seemann
81831049c9 log when 0-RTT keys become available 2020-01-02 15:10:43 +08:00
Marten Seemann
63096562a0 log the packet size of dropped packets 2020-01-02 14:52:35 +08:00
Marten Seemann
07d76c547f Merge pull request #2064 from lucas-clemente/zero-rtt
add basic support for 0-RTT
2020-01-01 18:13:58 +04:00
Marten Seemann
00a0d09e6a add a Changelog entry for 0-RTT support 2020-01-01 18:04:02 +04:00
Marten Seemann
052508e8c2 add a version to marshaled transport parameters in the session ticket 2020-01-01 18:04:02 +04:00
Marten Seemann
00150e1d94 add some integration tests for 0-RTT handshakes 2020-01-01 18:04:02 +04:00
Marten Seemann
ce7583f813 add DialEarly and DialAddrEarly to dial 0-RTT connections 2020-01-01 18:04:02 +04:00
Marten Seemann
951477af92 queue 0-RTT packets for retransmission after receiving a Retry 2020-01-01 18:04:02 +04:00
Marten Seemann
afbf5efd01 don't force 0-RTT packets to use 4 byte packet numbers 2020-01-01 18:04:02 +04:00
Marten Seemann
22abcfe6fb drop 0-RTT write keys when receiving the 1-RTT keys 2020-01-01 18:04:02 +04:00
Marten Seemann
40a993e31c check that the client doesn't switch back to 0-RTT after sending 1-RTT 2020-01-01 18:04:02 +04:00
Marten Seemann
c79dfe77b8 implement packing of 0-RTT packets 2020-01-01 18:04:02 +04:00
Marten Seemann
44aa12850e restore the server's transport parameters from the session ticket 2020-01-01 18:04:02 +04:00
Marten Seemann
1f8a47af02 implement a ClientSessionCache that can save application data 2020-01-01 18:04:02 +04:00
Marten Seemann
9b0a4a8813 move unmarshaling of the transport parameters to the crypto setup 2020-01-01 18:04:01 +04:00
Marten Seemann
fc37cdc5c5 implement unpacking of 0-RTT packets 2019-12-30 18:39:21 +04:00
Marten Seemann
c5f74595ca receive 0-RTT sealers and openers from qtls when using 0-RTT 2019-12-30 18:39:21 +04:00
Marten Seemann
a9f4195fd0 check that transport params didn't change when accepting 2019-12-30 18:39:21 +04:00
Marten Seemann
ed0f426943 implement marshalling of transport parameters for the session ticket
When using 0-RTT, the client will reuse the transport parameters from
the last session. The server therefore needs to make sure that the
transport parameters haven't been changed in the mean time. To do so, it
encodes the transport parameters into the session ticket.
2019-12-30 18:39:21 +04:00