Commit Graph

3678 Commits

Author SHA1 Message Date
Marten Seemann
f150ed4d4e rename sentPacketHandler functions to match the recovery draft 2019-07-25 17:10:47 -04:00
Marten Seemann
7a294f6a78 Merge pull request #2004 from lucas-clemente/fix-disabled-session-tickets
fix crash when the server disabled session resumption
2019-07-20 12:31:05 -04:00
Marten Seemann
6b93abc3e7 Merge pull request #2003 from lucas-clemente/draft-22-initial-salt
update the initial salt for draft-22
2019-07-20 10:05:20 -04:00
Marten Seemann
566c709548 update H3 ALPN to draft-22 2019-07-18 17:38:49 -04:00
Marten Seemann
ce0b1f2736 fix crash when the server disabled session resumption 2019-07-16 18:45:51 +07:00
Marten Seemann
649f3b42b3 update the initial salt for draft-22 2019-07-16 18:08:36 +07:00
Marten Seemann
879467b3c5 Merge pull request #1997 from lucas-clemente/new-header-format
implement the new header format
2019-07-16 15:00:18 +07:00
Marten Seemann
58ef419869 fix the /dynamic endpoint on the example server 2019-07-13 17:46:36 +07:00
Marten Seemann
1441923ab0 Merge pull request #1995 from lucas-clemente/ncid-retire-prior-to
add the Retire Prior To field to the NEW_CONNECTION_ID frame
2019-07-10 12:01:38 +07:00
Lucas Clemente
d42c954c81 Merge pull request #1993 from spacewander/allow_host_without_port_as_server_name
allow host without port passed as 'host' argument in Dial function.
2019-07-09 13:53:02 +02:00
Marten Seemann
dc33db1c18 implement the new header format 2019-07-09 13:04:40 +07:00
Marten Seemann
91961c8c6f add the Retire Prior To field to the NEW_CONNECTION_ID frame 2019-07-08 12:53:45 +07:00
spacewander
755a46d6e2 allow host without port passed as 'host' argument in Dial function.
Previously, if the given host doesn't contain port, dial with it will
result in error "missing port in address".
2019-07-06 15:52:26 +08:00
Marten Seemann
9a8e590cf8 Merge pull request #1992 from lucas-clemente/explicitly-send-session-tickets
explicitly send session tickets
2019-07-05 21:30:26 +07:00
Marten Seemann
c8b7037d60 Merge pull request #1982 from lucas-clemente/mitm-test
add a few MITM integration tests
2019-07-05 20:57:44 +07:00
Marten Seemann
c52a28cec1 explicitly trigger sending of session tickets 2019-07-05 20:53:25 +07:00
Marten Seemann
57c9b63ec9 Merge pull request #1991 from lucas-clemente/receive-encryption-level-on-key-change
receive the encryption level for key updates from qtls
2019-07-05 20:49:24 +07:00
Marten Seemann
c9a436bab7 Merge pull request #1987 from lucas-clemente/fix-flaky-session-resumption-test
fix flaky session resumption integration test
2019-07-05 20:41:41 +07:00
Marten Seemann
9cbfcd19a1 Merge pull request #1984 from lucas-clemente/fix-key-drop-test
fix flaky key drop test on AppVeyor
2019-07-05 20:39:19 +07:00
Marten Seemann
6bf42558f3 receive the encryption level for key updates from qtls 2019-07-05 10:36:53 +07:00
Marten Seemann
35497737c8 fix flaky session resumption integration test 2019-07-03 09:58:47 +07:00
Marten Seemann
2ab01f14cf fix flaky key drop test on AppVeyor 2019-07-02 13:21:51 +07:00
Marten Seemann
f8d218dbad add an integration test corrupts packets 2019-07-02 13:00:58 +07:00
Marten Seemann
6afde2eae8 add an integration test that duplicates all packets 2019-07-02 13:00:58 +07:00
Marten Seemann
9c496ddd19 add an integration test that sends invalid packets 2019-07-02 13:00:51 +07:00
Marten Seemann
5479837a01 stop delay timers in the proxy when it is closed 2019-07-02 12:34:43 +07:00
Marten Seemann
7827cd61bc pass the raw packet to the Drop- and Delay callbacks of the proxy 2019-07-01 14:46:58 +07:00
Marten Seemann
3dcbaee89e Merge pull request #1979 from lucas-clemente/ack-only-packets-enclevel
pack ACK-only packets for all encryption levels
2019-07-01 14:44:43 +07:00
Marten Seemann
4aaeb7f0f3 Merge pull request #1981 from lucas-clemente/go-mod-readme
mention Go mod as a requirement in the README
2019-07-01 14:37:18 +07:00
Marten Seemann
d7b409217f Merge pull request #1978 from lucas-clemente/fix-unpack-error-handling
don't close the session when unpacking a packet fails
2019-07-01 14:36:59 +07:00
Marten Seemann
a06bc25055 mention Go mod as a requirement in the README 2019-07-01 07:39:46 +07:00
Marten Seemann
0ce749b5f1 pack ACK-only packets for all encryption levels 2019-07-01 07:19:47 +07:00
Marten Seemann
6af7df436a don't close the session when unpacking a packet fails 2019-06-30 18:35:49 +07:00
Marten Seemann
5929a83210 Merge pull request #1974 from lucas-clemente/drop-old-keys
drop keys 3 PTOs after a key update
2019-06-30 17:51:28 +07:00
Marten Seemann
abd82fbd95 Merge pull request #1976 from lucas-clemente/fix-retry-logging
fix logging of Retries
2019-06-30 17:40:31 +07:00
Marten Seemann
5104c5d554 Merge pull request #1972 from lucas-clemente/frame-enc-level-check
check if a frame is allowed at the encryption level it was sent with
2019-06-30 17:36:33 +07:00
Marten Seemann
a3878d99c9 drop old keys 3 PTOs after a key update 2019-06-30 17:36:09 +07:00
Marten Seemann
a2a4a216de introduce an absolute key phase, use it for key updates 2019-06-30 17:36:09 +07:00
Marten Seemann
5a9c593463 rename the KeyPhase to KeyPhaseBit 2019-06-30 17:36:09 +07:00
Marten Seemann
7ba70cc8c2 Merge pull request #1973 from lucas-clemente/pto-rtt-stats
move calculation of the PTO to the RTTStats
2019-06-30 17:33:28 +07:00
Marten Seemann
b40991c400 Merge pull request #1971 from lucas-clemente/skip-multiplex-test-on-linux
skip the multiplex test on linux, add a better explanation
2019-06-30 17:32:27 +07:00
Marten Seemann
82563d4419 Merge pull request #1970 from lucas-clemente/fix-proxy-test-race
fix race condition in proxy tests
2019-06-30 17:31:43 +07:00
Marten Seemann
6f3fd68cd9 Merge pull request #1767 from lucas-clemente/unpacking-side-channel
fix timing side channel when receiving packets with invalid reserved bits
2019-06-30 16:06:37 +07:00
Marten Seemann
7b9b711a77 fix timing side channel when reading headers with invalid reserved bits 2019-06-30 15:57:03 +07:00
Marten Seemann
8da857fdb4 fix logging of Retries 2019-06-29 17:55:59 +07:00
Marten Seemann
66abcdfc5c move calculation of the PTO to the rttStats
The PTO value is needed at various places in the protocol. Calculating
it on the rttStats struct will allow us to pass around this struct.
2019-06-29 14:57:24 +07:00
Marten Seemann
4366eac105 don't include the exponential backoff in the PTO calculation
According to the spec, the PTO is defined without the backoff. The
backoff is applied when setting the PTO alarm.
2019-06-29 14:02:05 +07:00
Marten Seemann
b5764f22a2 save the max_ack_delay in the rttStats 2019-06-29 13:40:56 +07:00
Marten Seemann
299da56aef check if a frame is allowed at the encryption level it was sent with 2019-06-29 12:32:19 +07:00
Marten Seemann
79513e81eb skip the multiplex test on linux, add a better explanation 2019-06-29 11:52:23 +07:00