Marten Seemann
0615d92ede
only send Version Negotiation packets for packets larger than 1200 bytes
2020-10-08 16:22:39 +07:00
Marten Seemann
48d25fe95b
drop version negotiation packets in the server
2020-10-07 17:35:57 +07:00
Marten Seemann
a65274942c
use a mock net.PacketConn in tests
2020-09-27 15:13:07 +07:00
Marten Seemann
e0824e3163
move the logging mock implementations to a separate package
2020-09-09 15:15:49 +07:00
Marten Seemann
97b0b6d5c7
use GitHub Actions to run unit tests, disable AppVeyor
2020-08-28 20:14:44 +07:00
Marten Seemann
89417ab5ca
simplify the connection, rename it to sendConn
2020-08-09 19:24:04 +07:00
Marten Seemann
0c551c893c
trace packets that are sent outside of a connection
2020-07-16 08:20:36 +07:00
Marten Seemann
dc245ca6a3
trace dropped packets in the server
2020-07-15 20:33:58 +07:00
Marten Seemann
a1bb39d6ab
introduce a protocol.StatelessResetToken
2020-07-10 19:55:20 +07:00
Marten Seemann
993d71fd56
move the SupportedVersions slice out of the wire.Header
2020-07-09 12:05:33 +07:00
Marten Seemann
084e4feb9b
fix flaky server test on Travis
2020-07-06 11:21:08 +07:00
Marten Seemann
4121ea84f4
rename the logging.Tracer to ConnectionTracer
2020-07-01 16:57:01 +07:00
Marten Seemann
78ba619a0b
split the qlog package into a logging and a qlog package
2020-07-01 16:49:24 +07:00
Marten Seemann
7bcb25f18d
introduce an assertion in the server
2020-07-01 14:02:14 +07:00
Marten Seemann
4f19b15670
set and verify the retry_source_connection_id TP
2020-05-29 19:57:39 +07:00
Marten Seemann
cdb22513f3
save the source conn ID used on the Retry packet in the Retry token
2020-05-29 19:50:14 +07:00
Marten Seemann
b391cce35c
always send the original_destination_connection_id TP as a server
2020-05-29 19:50:14 +07:00
Marten Seemann
dad30e7c33
only create a single session for duplicate Initials
2020-05-29 16:04:45 +07:00
Marten Seemann
aebf2386d0
fix buffer use after it was released when sending an INVALID_TOKEN error
2020-05-05 12:19:20 +07:00
Marten Seemann
0ef4f06189
move the transport parameters from the handshake to the wire package
2020-03-13 16:20:11 +07:00
Marten Seemann
715654ace9
Merge pull request #2384 from lucas-clemente/fix-flaky-server-test
...
fix flaky server unit test
2020-02-28 15:06:22 +07:00
Marten Seemann
e57caf0bae
send an INVALID_TOKEN error when receiving an invalid token
2020-02-25 19:43:57 +07:00
Marten Seemann
6c02bd3a30
fix flaky server unit test
2020-02-25 16:10:25 +07:00
Marten Seemann
643f0b4c67
drop incoming packets when the server's receive queue is full
2020-02-15 16:43:00 +07:00
Marten Seemann
2b7133a6e2
implement a queue for 0-RTT packets
2020-02-15 15:44:08 +07:00
Marten Seemann
b031615db5
export a qlog when the session's run loop stops
2020-02-12 10:42:37 +07:00
Marten Seemann
93693349f3
collapse packetHandlerManager.Add and AddIfNotTaken into one function
2020-02-03 17:34:07 +01:00
Marten Seemann
7f0dc56d70
introduce a server run loop for handling packets
2020-02-03 17:31:47 +01:00
Marten Seemann
cf71bdd05a
use a MockPacketHandlerManager in all server tests
2020-02-03 17:31:47 +01:00
Marten Seemann
5a566f2176
Merge pull request #2226 from lucas-clemente/retry-integrity
...
implement the retry integrity tag
2020-01-17 17:19:15 +07:00
Marten Seemann
7b10453af8
implement the Retry integrity tag
2020-01-17 13:42:57 +07:00
Marten Seemann
eeba3951ae
only enable 0-RTT when using ListenEarly and DialEarly
2020-01-17 11:22:12 +07:00
Marten Seemann
27549c5665
use the minimum of the two peers' max_idle_timeouts
2019-12-11 14:04:33 +04:00
Marten Seemann
e65df402dd
only create a single session when two Initials arrive at the same time
2019-11-30 20:01:51 +07:00
Marten Seemann
35ea8213c5
move initialization of the client's transport parameters to the session
2019-11-05 11:00:06 +07:00
Marten Seemann
b64535e656
move initialization of the server's transport parameters to the session
2019-11-05 10:59:21 +07:00
Marten Seemann
416fe8364e
remove unused return value from session constructor
2019-10-27 15:35:34 +07:00
Marten Seemann
5cbb8d6597
implement a listener that returns early sessions
2019-08-13 09:07:13 +07:00
Marten Seemann
b06d7b0cba
use the HandshakeComplete() context for accepting sessions in the server
2019-08-13 08:52:26 +07:00
Marten Seemann
8c4e4a3208
remove complex checks performed on the tls.Config
2019-07-28 23:57:33 +07:00
Marten Seemann
12bce1caaa
add a context to Listener.Accept
2019-06-22 19:36:52 +08:00
Marten Seemann
267d11ee66
add tracing for sent and received packets
2019-06-20 22:58:01 +08:00
Marten Seemann
8eeddeb9c0
reject a tls.Config without NextProtos for listening
2019-06-02 14:58:41 +08:00
Marten Seemann
34543848f0
send a NEW_TOKEN from after completing the handshake (as a server)
2019-06-02 14:18:27 +08:00
Marten Seemann
7c7bcede6c
rename handshake.TokenGenerator.NewToken to NewRetryToken
2019-06-02 14:14:05 +08:00
Marten Seemann
1873503937
reduce the Retry token expiry time to 10 seconds
...
The expiry time used to be 24 hours before. The reason for this long
duration was that this included tokens that were issued to be used
between separate connections in gQUIC. At the moment, we are only
generating tokens for Retry packets, i.e. within a single connection.
They are therefore expected to be used within a single round trip.
2019-06-01 16:32:54 +08:00
Marten Seemann
1d6707325f
name the quic.Cookie to quic.Token
2019-05-30 22:13:06 +08:00
Marten Seemann
dc75123836
fix race condition when closing the server after a Read failed
2019-05-10 09:47:52 +09:00
Marten Seemann
7b569ba071
fix flaky server unit test
2019-04-03 01:27:31 +09:00
Marten Seemann
94046cdb4b
implement sending of stateless resets
2019-03-08 18:10:15 +09:00