Marten Seemann
6c27967c8a
include the timer granularity in the advertised max_ack_delay
2019-05-08 13:26:08 +09:00
Marten Seemann
af8c03ebaf
advertize the max_ack_delay in the transport parameters
2019-05-08 13:22:37 +09:00
Marten Seemann
f847c5422d
implement parsing and writing of the max_ack_delay transport parameter
2019-05-08 12:43:29 +09:00
Marten Seemann
b5336be518
rename retransmittable to ack-eliciting
2019-04-12 13:25:39 +09:00
Marten Seemann
7b02b87026
reject MAX_STREAMS frames with too large stream counts
2019-04-01 11:57:23 +09:00
Marten Seemann
e7ed5e3c92
implement the crypto stream for post-handshake crypto messages
2019-02-06 22:51:44 +08:00
Marten Seemann
6834c37462
move the maximum ack delay exponennt to the protocol constants
2019-01-28 16:37:00 +09:00
Marten Seemann
155ebd18a2
parse and send the ack_delay_exponent in the transport parameters
2019-01-28 16:09:47 +09:00
Marten Seemann
ee75f5e2f2
implement ACK frame parsing using an ack delay exponent
2019-01-28 16:09:47 +09:00
Marten Seemann
3f80870922
change the version number for the development version
...
This now uses the highest version number reserved for quic-go in
https://github.com/quicwg/base-drafts/wiki/QUIC-Versions .
2019-01-10 22:06:29 +07:00
Marten Seemann
90514d53d1
reject new connection attempts if the server's accept queue is full
2019-01-06 15:26:43 +07:00
Marten Seemann
c06a0ca037
rename InferPacketNumber to DecodePacketNumber
...
That's how it's called in the draft.
2018-12-14 16:46:40 +06:30
Marten Seemann
314056f6dd
increase mininum stateless reset size
2018-11-29 11:22:20 +07:00
Marten Seemann
46487e5267
remove unused constant NonForwardSecurePacketSizeReduction
2018-11-29 09:39:43 +07:00
Marten Seemann
aba2c3d031
remove all references to Public Resets in comments
2018-11-28 11:58:05 +07:00
Marten Seemann
ddf677845b
Merge pull request #1643 from lucas-clemente/enable-packet-number-decoding-test
...
enable packet number encoding test case taken from the draft
2018-11-27 18:27:28 +07:00
Marten Seemann
83fac8ebb8
Merge pull request #1632 from lucas-clemente/remove-max-client-hellos
...
remove unused constant MaxClientHellos
2018-11-27 17:24:09 +07:00
Marten Seemann
364214229d
enable packet number encoding test case taken from the draft
2018-11-27 17:23:05 +07:00
Marten Seemann
fb550aaa10
remove unused constant MaxClientHellos
2018-11-27 09:28:17 +07:00
Marten Seemann
2add1d2fea
add the packet number decoding and encoding test cases from the draft
2018-11-26 23:05:56 +07:00
Marten Seemann
bfb467e9b8
use the new packet number format
2018-11-26 23:05:55 +07:00
Marten Seemann
faed2ba30a
remove version dependency of packet number inferring
2018-11-26 22:46:08 +07:00
Marten Seemann
53aeb7d592
don't use the wire encoding for the PacketType constant
2018-11-26 22:45:28 +07:00
Marten Seemann
39e1e9a6f8
implement receiving of stateless resets
2018-11-20 10:07:30 +07:00
Marten Seemann
54c287c7e6
Merge pull request #1614 from lucas-clemente/rename-params-file
...
rename the file containing the parameters
2018-11-19 20:46:16 +07:00
Marten Seemann
7696bf59ea
remove 6 byte packet numbers
2018-11-19 16:15:02 +07:00
Marten Seemann
82cfd38537
rename the file containing the parameters
2018-11-19 16:06:37 +07:00
Marten Seemann
001f76559a
reduce the duration we keep the mapping for retired connection IDs alive
...
This duration only needs to cover typical reordering on the network.
5 seconds should be plenty.
2018-11-17 08:16:06 +07:00
Marten Seemann
1dd0b9a635
rename the duration that we keep old connection ID mappings alive
2018-11-16 21:22:32 +07:00
Marten Seemann
df7c6a221b
use higher initial flow control windows
2018-11-12 23:38:07 +07:00
Marten Seemann
4b37ecb2b5
use the same default max flow control window sizes for client and server
2018-11-12 23:38:07 +07:00
Marten Seemann
9518c90c0a
implement and use the MAX_STREAMS frame
2018-11-10 09:38:50 +07:00
Marten Seemann
0f931ca54e
use a uint64 for stream counts
2018-11-10 09:05:33 +07:00
Marten Seemann
e8de94485c
move more stream ID logic to the protocol package
2018-11-10 09:05:33 +07:00
Marten Seemann
5768b492d7
introduce a type for unidirctional and bidirectional streams
2018-11-01 15:50:47 +07:00
Marten Seemann
14a4464266
implement some stream ID helper functions
2018-10-30 12:52:48 +07:00
Marten Seemann
a1acfc3045
rename {Stream,Connection}FlowControlWindow to InitialMax{Stream}Data
2018-10-30 12:52:42 +07:00
Marten Seemann
3266e36811
drop support for gQUIC
2018-10-30 10:20:39 +07:00
Marten Seemann
82508f1562
use tls-tris instead of mint
2018-10-26 16:18:49 +07:00
Marten Seemann
454a01b2a0
introduce the IETF QUIC encryption levels
2018-10-26 16:11:25 +07:00
Marten Seemann
a7f94d89b6
only allow a single retry
2018-10-24 23:48:33 +07:00
Marten Seemann
91d65baf1b
add gQUIC 44 to the supported versions
2018-08-28 08:49:29 +07:00
Marten Seemann
a98fd88a1b
implement parsing of the gQUIC 44 header
2018-08-28 08:49:29 +07:00
Marten Seemann
88505b79a7
disable sending and receiving of STOP_WAITING frames in QUIC 44
2018-08-28 08:49:13 +07:00
Marten Seemann
afbd2e1962
drop support for gQUIC 42
2018-08-27 19:13:06 +07:00
Marten Seemann
46f8c07daa
improve the version negotiation integration test
2018-08-27 09:29:26 +07:00
Marten Seemann
7bf5cb6e2a
Merge pull request #1487 from lucas-clemente/version-negotiate-ietf-and-gquic
...
allow version negotiation between IETF QUIC and gQUIC, and vice versa
2018-08-15 19:47:35 +07:00
Marten Seemann
c840bd4177
allow version negotiation between IETF QUIC and gQUIC, and vice versa
2018-08-15 17:10:05 +07:00
Marten Seemann
9608e8563f
only accept 3 retries
...
While the server is allowed to perform multiple Retries, the client
should impose a limit in order to avoid being caught in an endless loop.
2018-08-14 18:35:25 +07:00
Marten Seemann
872e1747f4
always use connection IDs longer than 8 bytes when sending a Retry
...
A server is allowed to perform multiple Retries. There's little to gain
from doing so, but it's something our API allows. If a server performs
multiple Retries, it must use a connection ID that's at least 8 bytes
long. Only if it doesn't perform any further Retries it is allowed to
use shorter IDs. Therefore, we're on the safe side by always using a
long connection ID.
This shouldn't have a performance impact, since the server changes the
connection ID to a short value with the first Handshake packet it sends.
2018-08-14 17:34:21 +07:00