Marten Seemann
86edf7fd4b
remove the LongHeader field from the wire.Header
2023-01-17 21:53:39 +13:00
Marten Seemann
b52d34008f
add Allow0RTT opt in the quic.Config to control 0-RTT on the server side ( #3635 )
2023-01-04 16:18:11 -08:00
Marten Seemann
8d496ebb5e
introduce a type for the stateless reset key ( #3621 )
2022-11-16 14:11:25 -08:00
Marten Seemann
870fbe7ab0
migrate to Ginkgo v2
2022-10-11 16:38:44 +04:00
Marten Seemann
dfd35cb071
use a single bytes.Reader for frame parsing ( #3536 )
2022-09-01 01:06:50 -07:00
Marten Seemann
4f3d3b36ac
introduce a separate code path for unpacking short header packets
2022-08-29 15:55:37 +03:00
Marten Seemann
1aced95d41
use an array instead of a byte slice for Connection IDs
2022-08-29 11:30:31 +03:00
Marten Seemann
9e0f9e62ff
parse arbitrary length Connection IDs in Version Negotiation packets
2022-08-29 10:58:33 +03:00
Benedikt Spies
7da024da5a
Disable anti-amplification limit by address validation token ( #3326 )
2022-08-20 08:02:17 -07:00
Marten Seemann
bbfb7bd493
disable address validation by default
...
We should provide safe defaults. Since we implement the 3x amplification
limit, disabling address validation is not unsafe, and will save 1 RTT
for every handshake for applications that don't explicitely configure
Retries.
2022-08-13 17:42:46 +03:00
Marten Seemann
f2fa98c0dd
implement a more intuitive address validation API
2022-08-12 13:13:29 +03:00
Nuno Diegues
4c96cf75bf
make the keep alive interval configurable ( #3444 )
...
* Make keep alive configurable
* Fix unit tests
2022-06-09 08:31:37 -07:00
Chao Fei
60bbe92194
remove error return value from ComposeVersionNegotiation ( #3410 )
2022-05-12 08:03:39 -07:00
Marten Seemann
4b17343631
rename the session to connection
2022-03-27 12:50:14 +01:00
Marten Seemann
a088ba4607
rename quicConn.earlySessionReady to quicConn.earlyConnReady
2022-03-27 11:27:25 +01:00
Marten Seemann
1ae835d1d8
rename occurrences of session in client, server and packetHandlerMap
2022-03-27 11:27:25 +01:00
Marten Seemann
86338d3ce0
rename the sessionRunner to connRunner
2022-03-27 11:27:25 +01:00
Marten Seemann
e7c2e7e147
rename the quicSession to quicConnection
2022-03-27 11:27:25 +01:00
Marten Seemann
adcb1ea5de
fix flaky INVALID_TOKEN server test
2021-07-06 10:31:46 -07:00
Marten Seemann
3a359027b5
add a config option to disable sending of Version Negotiation packets
2021-06-27 15:29:29 -07:00
Marten Seemann
592fb9cad9
introduce a dedicated qerr.TransportError and qerr.ApplicationError
2021-05-01 09:38:48 +07:00
Marten Seemann
878e0b261a
pass a context to logging.Tracer.NewConnectionTracer
...
This context has the same value attached to it as the context returned
by Session.Context().
In the case of a dialed connection, this context is derived from the
context used for dialing.
2021-04-14 16:59:36 +07:00
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