Marten Seemann
e398d5409a
set the idle timeout during the handshake to half the handshake timeout
2017-08-28 17:58:39 +07:00
Marten Seemann
2b683be36a
add QUIC 39 to supported versions
...
The Chrome installed on Travis doesn't support QUIC 39 yet.
2017-08-24 17:05:57 +07:00
Marten Seemann
79bb3a9bd3
force sending of a retransmittable packet every 20 packets
2017-08-23 16:00:48 +07:00
Marten Seemann
dd0daaaf1e
implement version-dependent parsing of the Public Header
2017-08-23 16:00:45 +07:00
Marten Seemann
71ff144c20
add QUIC 38 to supported versions
2017-08-10 20:26:36 +07:00
Thomas De Keulenaer
89f96d1e89
Make max flow control windows configurable
2017-06-13 15:52:51 +02:00
Thomas De Keulenaer
93e2f751b5
Fix typo and clarify
2017-06-13 14:00:06 +02:00
Lucas Clemente
eeb2d8d821
Mock FlowControlManager using gomock
2017-06-08 16:06:31 +02:00
Marten Seemann
9040fd25e7
add a quic.Config option to set the handshake timeout
2017-06-01 19:47:28 +02:00
Marten Seemann
6cc6d49a10
save the STK expiry time as a time.Duration
2017-05-20 23:27:40 +08:00
Marten Seemann
55fa713eac
simplify the signature of the version selection
2017-05-05 18:07:17 +08:00
Marten Seemann
16ca3012e9
make it possible to configure the QUIC versions for the client
2017-05-05 18:07:11 +08:00
Marten Seemann
1b70bd42d9
read unsupported version numbers in version negotiation packets
2017-05-05 18:06:14 +08:00
Marten Seemann
9db23eceed
reverse the order of the SupportedVersions slice
...
For the client, the Versions option in the quic.Config encodes the first
entry is the preferred version. If not set, this should default to the
highest supported version.
2017-05-05 18:06:14 +08:00
Marten Seemann
b305cd674f
make it possible to configure the QUIC versions for the server
2017-05-05 18:05:57 +08:00
Marten Seemann
0a2c37d42a
add QUIC 37 to supported versions
...
fixes #375
Chrome tests are disabled for QUIC 37, since the Chrome version in the
docker image doesn’t support this version yet.
2017-04-29 16:59:32 +07:00
Marten Seemann
3c223b22a2
include peer perspective in nullAEAD
...
ref #375
2017-04-27 18:05:24 +07:00
Lucas Clemente
e2a0d9f77c
Remove several unused fields and symbols
...
Detected with `unused -exports=true ./...`
2017-04-05 21:46:33 +01:00
Lucas Clemente
1c5380c49b
Implement loss recovery from the current WG draft
...
Fixes #498 and will hopefully go a long way towards fixing the many
flaky tests.
2017-04-02 10:29:09 +02:00
Marten Seemann
28c115fee1
drop support for QUIC 34
...
fixes #368
2017-03-19 20:57:28 +07:00
Marten Seemann
eb7ed2624a
only send Public Reset after a timeout
...
fixes #471
2017-03-08 18:15:52 +07:00
Marten Seemann
1f01904270
read packets with the maximum packet size
...
fixes #467
2017-03-06 13:02:46 +07:00
Marten Seemann
9e147714ac
pack smaller packets as long as the encryption is not forward secure
2017-03-01 14:01:52 +07:00
Marten Seemann
b84e945868
log the encryption level of sent and received packets
2017-02-25 08:27:15 +07:00
Marten Seemann
a972c7a21e
return the encryption level of a packet when decrypting it
2017-02-25 08:27:08 +07:00
Marten Seemann
db11b25790
ensure minimum size of connection-level flow control window
...
fixes #409
2017-02-08 11:39:33 +07:00
Marten Seemann
b52204322f
don’t modify version slice when finding the highest supported version
...
will be needed for detecting version downgrade attacks
2017-01-14 18:58:47 +07:00
Marten Seemann
a587af079d
improve the connection parameters manager for the client
2017-01-14 18:58:46 +07:00
Marten Seemann
c42262c2b3
implement a h2quic client that can send H2 requests
2017-01-14 18:58:43 +07:00
Marten Seemann
d37380b7a5
detect unsupported versions when parsing version negotiation packet
2017-01-14 18:52:21 +07:00
Marten Seemann
5b97f0550c
implement a function to find the highest supported version
2017-01-14 18:52:21 +07:00
Marten Seemann
2131e8fa6d
don’t send more than 3 CHLOs
...
makes sure that the server allows the client to make progress in the handshake
2017-01-14 18:52:20 +07:00
Marten Seemann
7f2e706908
increase CryptoParameterMaxLength
2017-01-14 18:52:20 +07:00
Marten Seemann
cc2d966d84
write PublicHeaders for packets sent as a client
...
fixes #346
2017-01-14 18:45:13 +07:00
Marten Seemann
896f4e138b
increase the ACK send delay to the value Chromium is using
2017-01-09 18:45:43 +07:00
Marten Seemann
edf6ee3dfc
implement a sophisticated ack algorithm
...
fixes #354
2017-01-09 15:01:44 +07:00
Marten Seemann
72e9994c9c
allow reuse of connection IDs
...
fixes #347
2017-01-07 19:21:18 +07:00
Marten Seemann
5af50c8fd0
correctly read MIDS and MSPC parameter
...
fixes #367
2016-12-08 16:15:31 +07:00
Marten Seemann
b7a9fcf85f
implement auto-tuning of receive flow control windows
...
fixes #106
2016-10-31 12:51:26 +07:00
Marten Seemann
5fa4ea73e5
fix typo
2016-10-28 12:30:52 +07:00
Marten Seemann
2c11335de4
limit number of ACK ranges in ReceivedPacketHistory
...
fixes #195
2016-10-28 12:17:41 +07:00
Marten Seemann
2e7fb25672
remove variable type from congestion server parameters
2016-10-27 22:11:16 +07:00
Lucas Clemente
9b2127018d
add exponential backoff to RTO calculation
...
fixes #112
2016-09-09 00:26:18 +02:00
Lucas Clemente
5d0399bfe3
use LRU cache for cached certificates
...
fixes #268
2016-09-08 23:08:57 +02:00
Lucas Clemente
634a0eb78c
add new timeout consts
...
ref #320
2016-09-08 13:28:44 +02:00
Lucas Clemente
8c6eb61850
set max tracked packets to max cwnd * 2
2016-09-05 13:35:10 +02:00
Lucas Clemente
3b1231db81
remove unused congestion const
2016-09-05 13:35:09 +02:00
Lucas Clemente
57cce4ebae
increase max congestion window to 1k packets
...
ref #150 , #289
2016-09-05 13:35:09 +02:00
Lucas Clemente
5ffc2f539d
add support for version 36
...
fixes #312
2016-09-04 23:33:31 +02:00
Lucas Clemente
f8cba7f978
remove version 33 const
2016-09-01 20:26:32 +02:00