Marten Seemann
afbd2e1962
drop support for gQUIC 42
2018-08-27 19:13:06 +07:00
Marten Seemann
a4efb6e368
Merge pull request #1498 from lucas-clemente/frame-sorter
...
remove wire dependency in the frame sorter
2018-08-27 17:05:23 +07:00
Marten Seemann
29ce4656a3
Merge pull request #1501 from lucas-clemente/vnp-tests
...
improve sending of VNPs, improve VNP integration test
2018-08-27 16:48:55 +07:00
Marten Seemann
29f2bab982
Merge pull request #1500 from lucas-clemente/listener-double-close
...
allow multiple Listener.Close calls
2018-08-27 16:48:37 +07:00
Marten Seemann
46f8c07daa
improve the version negotiation integration test
2018-08-27 09:29:26 +07:00
Marten Seemann
c481645276
send a gQUIC / IETF QUIC Version Negotiation Packet based on header type
2018-08-27 09:08:59 +07:00
Marten Seemann
6ec4c21c7e
allow multiple Listener.Close calls
...
Every subsequent call to Listener.Close will be a noop.
2018-08-27 07:56:52 +07:00
Marten Seemann
74662e8dae
rename the streamFrameSorter to frameSorter
2018-08-26 10:10:00 +07:00
Marten Seemann
53d76b6664
only use duplicate stream data error internally in the streamFrameSorter
2018-08-26 09:49:11 +07:00
Marten Seemann
8dc4b2d564
pass the stream data, not the STREAM frame, to the streamFrameSorter
2018-08-26 09:26:59 +07:00
Marten Seemann
dbada7ad02
store stream data, not STREAM frames, in the streamFrameSorter
2018-08-26 08:59:48 +07:00
Marten Seemann
ac59e284dd
remove the Head method from the streamFrameSorter
...
We now store the STREAM frame that is currently being read in the
receiveStream, and pop it from the streamFrameSorter directly.
2018-08-21 14:41:47 +07:00
Marten Seemann
c931134548
remove unused return value from streamFrameSorter.Pop
2018-08-20 21:27:28 +07:00
Marten Seemann
4d2d2420a4
Merge pull request #1491 from lucas-clemente/transport-parameters-marshalling
...
implement (un)marshalling of the transport parameters
2018-08-20 18:33:42 +07:00
Marten Seemann
e0e831f1fc
implement (un)marshalling of the transport parameters
2018-08-20 15:34:37 +07:00
Marten Seemann
00e1884a88
move reading of stateless reset tokens to the transport parameter struct
2018-08-20 15:34:37 +07:00
Marten Seemann
2c75b795ae
move adding of stateless reset tokens to the transport parameter struct
2018-08-20 15:34:37 +07:00
Marten Seemann
ad9618ef9e
Merge pull request #1490 from lucas-clemente/flow-control-transport-parameters
...
don't require the flow control values in the transport parameters
2018-08-20 15:32:56 +07:00
Marten Seemann
1bb9a7e1ac
don't require the flow control values in the transport parameters
2018-08-19 10:36:47 +07:00
Marten Seemann
3ff262dd7f
Merge pull request #1489 from lucas-clemente/go-1.11
...
update CIs to Go 1.11
2018-08-16 12:27:13 +07:00
Marten Seemann
8dbf6766e5
Merge pull request #1478 from lucas-clemente/cookie-protector
...
move the mint cookie protector to the handshake package
2018-08-16 12:19:27 +07:00
Marten Seemann
e23c08eef9
update CIs to Go 1.11
2018-08-16 11:51:23 +07:00
Marten Seemann
623fcd85b0
move the mint cookie protector to the handshake package
...
It's duplicate code now, but it reduces the dependency on mint.
2018-08-16 11:50:43 +07:00
Marten Seemann
00775db9d5
Merge pull request #1480 from lucas-clemente/milestone-0.9
...
release 0.9.0
2018-08-15 22:35:08 +07:00
Marten Seemann
5c8dec8331
release 0.9
2018-08-15 22:02:31 +07:00
Marten Seemann
ffb46a144f
Merge pull request #1484 from lucas-clemente/ietf-quic-handshake-rtt-tests
...
add handshake RTT tests with IETF QUIC
2018-08-15 22:01:16 +07:00
Marten Seemann
82388748f7
add handshake RTT tests with IETF QUIC
2018-08-15 21:34:50 +07:00
Marten Seemann
3168f6cd28
simplify output of handshake RTT tests when the test fails
2018-08-15 21:34:50 +07:00
Marten Seemann
0eede57a2d
Merge pull request #1488 from lucas-clemente/fix-flaky-server-unit-test
...
fix flaky server unit test
2018-08-15 21:34:23 +07:00
Marten Seemann
6e22fbc77b
fix flaky version negotiation tests
2018-08-15 20:46:12 +07:00
Marten Seemann
78f8e1c83e
fix flaky server unit test
2018-08-15 20:29:52 +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
9e83c96598
Merge pull request #1486 from lucas-clemente/send-ietf-quic-vnp
...
always allow sending of IETF QUIC Version Negotiation Packets
2018-08-15 19:46:59 +07:00
Marten Seemann
1d750603c5
Merge pull request #1482 from lucas-clemente/multiple-retries
...
allow multiple Retries
2018-08-15 19:42:45 +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
acb45c0ef1
always allow sending of IETF QUIC Version Negotiation Packets
...
When receiving a packet with an IETF QUIC Header using an unsupported
version, we should send a IETF QUIC Version Negotiation Packet, even if
none of the supported versions is IETF QUIC.
2018-08-15 15:23:28 +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
Marten Seemann
829edc04ab
accept multiple Retries
2018-08-14 17:18:44 +07:00
Marten Seemann
58eae32bc9
Merge pull request #1477 from lucas-clemente/new-retry
...
implement the new Retry mechanism
2018-08-13 10:26:18 +07:00
Marten Seemann
70992684af
use server generated connection IDs when accepting a connection
2018-08-13 08:47:29 +07:00
Marten Seemann
77f5d30338
buffer writes to the crypto stream
...
mint performs a Write for every state change. This results in a lot of
small packets getting sent when using an unbuffered connection. By
buffering, we make sure that packets are filled up properly.
2018-08-13 08:47:29 +07:00
Marten Seemann
f88b7bb175
implement the new Retry mechanism
2018-08-13 08:47:29 +07:00
Marten Seemann
d8aa49d0f9
implement writing and parsing of the new Retry packet
2018-08-13 08:47:29 +07:00
Marten Seemann
e39251c8b5
implement writing and parsing of Initial packets containing a Token
2018-08-13 08:47:29 +07:00
Marten Seemann
2b3ae10b33
Merge pull request #1475 from lucas-clemente/improve-mockgen
...
improve mockgen
2018-08-13 08:22:00 +07:00
Marten Seemann
13ea994cc8
Merge pull request #1476 from lucas-clemente/update-mint
...
update mint
2018-08-13 08:20:49 +07:00
Marten Seemann
e34256beed
update mint
2018-08-12 15:26:40 +07:00
Marten Seemann
f9c1de5779
make it possible to generate mocks of private internal interfaces
2018-08-11 14:49:49 +07:00
Marten Seemann
76d4d43b50
move the mockgen cleanup commands to the mockgen script
2018-08-11 12:45:48 +07:00