Commit graph

289 commits

Author SHA1 Message Date
Marten Seemann
4917760726 attach a tracing ID to the session context 2021-04-14 16:39:41 +07:00
Marten Seemann
2bd316b89e store 0-RTT queues in the packet handler map
This prevents a race condition between receiving of 0-RTT packets and
the creation of new session.
2021-03-11 21:16:50 +08:00
Marten Seemann
ecc86aa1ab refactor session creation in the server 2021-03-11 21:05:41 +08:00
Marten Seemann
bd172b2a5a fix retry key and nonce for draft-34 2021-03-03 23:01:42 +08:00
Marten Seemann
f01a2c6b96 use the updated salt for draft-34 2021-02-11 09:46:00 +08:00
Marten Seemann
9693a46d31
Merge pull request #2162 from lucas-clemente/datagram
implement the datagram draft
2020-12-17 11:22:40 +07:00
Marten Seemann
fd41e8fa62 reject DATAGRAM frames if datagram support is not enabled 2020-12-09 15:31:23 +07:00
Marten Seemann
595f6f814a introduce a quic.Config.HandshakeIdleTimeout, remove HandshakeTimeout 2020-12-08 16:12:39 +07:00
Marten Seemann
02b700804f remove support for quic-trace 2020-12-05 23:13:45 +07:00
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