Marten Seemann
dc33db1c18
implement the new header format
2019-07-09 13:04:40 +07: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
Marten Seemann
0f3b0cfcc4
fix race condition in proxy tests
2019-06-29 11:11:45 +07:00
Marten Seemann
4fe0f6752c
fix typos in error messages when parsing Version Negotiation packets
2019-06-29 11:00:57 +07:00
Marten Seemann
0333f424bb
Merge pull request #1959 from lucas-clemente/optimize-crypto-packet-sending
...
optimize sending of crypto packets
2019-06-29 00:03:12 +08:00
Marten Seemann
185082d5b0
Merge pull request #1962 from lucas-clemente/remove-hostname-from-addr
...
remove unused utils.HostnameFromAddr function
2019-06-29 00:02:08 +08:00
Marten Seemann
da0b52ce10
Merge pull request #1961 from lucas-clemente/initiate-key-updates
...
initiate key updates
2019-06-28 23:49:56 +08:00
Marten Seemann
5458aedacc
Merge pull request #1958 from lucas-clemente/remove-stray-error-check
...
remove stray error check in packet packer
2019-06-28 23:49:32 +08:00
Marten Seemann
2f09e1774c
remove unused utils.HostnameFromAddr function
2019-06-28 22:49:00 +07:00
Marten Seemann
eef45be73b
Merge pull request #1964 from lucas-clemente/fix-flaky-cancelation-test
...
fix flaky cancelation integration test
2019-06-28 23:48:05 +08:00
Marten Seemann
437b01b7df
fix flaky cancelation integration test
2019-06-28 22:37:24 +07:00
Marten Seemann
6461c69045
add an integration test that performs frequent key updates
2019-06-27 10:54:58 +08:00
Marten Seemann
0f16e08e14
introduce an environment variable to set the key update interval
...
QUIC_GO_KEY_UPDATE_INTERVAL determines the maximum number of packets
that are sent or received using a key. The default value should be safe
for use in production, but setting it to a lower value is useful for
integration and interop testing.
2019-06-27 10:54:58 +08:00
Marten Seemann
a09c045324
initiate a key update after sending / receiving 100000 packets
2019-06-27 10:54:54 +08:00