Commit Graph

124 Commits

Author SHA1 Message Date
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
Lucas Clemente
8184ce050f remove v33 from supported versions 2016-09-01 20:26:31 +02:00
Lucas Clemente
6a9364c20f remove Version32 const 2016-09-01 12:20:19 +02:00
Marten Seemann
ad91d02cbd remove version 32 from SupportedVersions 2016-09-01 12:20:18 +02:00
Lucas Clemente
90401a2ec1 increase packet queue size to work around #304 2016-08-25 20:02:38 +02:00
Marten Seemann
eabd38238a never send 1-byte packet numbers 2016-08-25 12:34:55 +07:00
Marten Seemann
543ce21a5a prevent opening of new streams with very low StreamIDs
ref #256
2016-08-24 16:26:30 +02:00
Marten Seemann
b376f2f6f6 remove variable types from several server parameters 2016-08-24 00:52:34 +07:00
Lucas Clemente
888a35c2fd enable support for version 35
fixes #281
2016-08-23 17:09:53 +02:00
Lucas Clemente
c3832965d0 add max incoming dynamic streams to connection parameter mgr
ref #281
2016-08-23 17:09:51 +02:00
Lucas Clemente
126db938d0 fix some linter warnings 2016-08-23 12:24:33 +02:00
Marten Seemann
a6d868874d increase maximum number of gaps in streamFrameSorter
fixes #298
2016-08-22 10:47:28 +07:00
Marten Seemann
65838f34a8 limit number of tracked skipped packet numbers in SentPacketHandler 2016-08-11 11:03:45 +02:00
Marten Seemann
78fab5c264 use PacketNumberGenerator in PacketPacker 2016-08-11 11:03:45 +02:00