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
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
Marten Seemann
b291b33bca
simplify the command line params of the mockgen script
2018-08-11 12:45:48 +07:00
Marten Seemann
04147d86da
rename the cryptoStreamI interface to cryptoStream
2018-08-11 12:45:43 +07:00
Marten Seemann
40050f558d
fix mockgen script
...
We don't need to copy the vendor directory.
2018-08-11 11:25:42 +07:00
Marten Seemann
a964f2d2ff
Merge pull request #1470 from lucas-clemente/fix-1452
...
use retransmissions as TLP packets
2018-08-10 08:17:12 +07:00
Marten Seemann
defafec71e
use retransmissions as TLP packets
2018-08-09 22:28:28 +07:00
Marten Seemann
bd23e1651d
Merge pull request #1472 from lucas-clemente/fix-spurious-loss-detection-alarm
...
don't do anything when OnAlarm is called, but no packets are outstanding
2018-08-09 22:27:18 +07:00
Marten Seemann
ada085dffb
Merge pull request #1464 from lucas-clemente/multiplexing
...
multiplex server and client on the same packet conn
2018-08-08 18:38:12 +07:00
Marten Seemann
83cb7cbe2e
add an integration test multiplexing server and client on the same conn
2018-08-08 17:34:08 +07:00