Marten Seemann
ef2b87f5d5
detect stateless resets for zero-length connection IDs ( #5027 )
2025-04-11 15:23:53 +02:00
Marten Seemann
e76621f75a
register stateless reset tokens for connection IDs used on paths ( #5023 )
...
* register stateless reset tokens for connection IDs used on paths
* retire path stateless reset tokens on closing
2025-04-09 04:31:41 +02:00
Marten Seemann
84aba71c86
refactor connection ID manager to use a slice instead of a linked list ( #5022 )
...
* refactor connection ID manager to use a slice instead of a linked list
* add a benchmark test for the connection ID manager
2025-04-08 12:02:58 +02:00
Marten Seemann
e524d0c1ff
implement connection ID handling for path probe packets ( #4935 )
2025-01-27 04:06:08 +01:00
Marten Seemann
d41f9749d3
fix memory leak on connection ID rotation when closing connection ( #4852 )
...
* fix memory leak on connection ID rotation during CONNECTION_CLOSE
In rare instances, the connection ID manager might switch to a new
connection ID when sending the packet containing the CONNECTION_CLOSE
frame. The connection ID manager removes the active stateless reset
token from the packet handler map when it is closed, so we need to make
sure that this happens last, otherwise the packet handler will keep a
pointer to the closed connection indefinitely.
* defer
* panic on use of connIDManager after Close
2025-01-22 19:35:16 +08:00
Marten Seemann
150b955d06
reject NEW_CONNECTION_ID frames when using zero-length connection IDs ( #4878 )
2025-01-16 11:30:08 +08:00
Marten Seemann
5243f13474
migrate the connection ID manager tests away from Ginkgo ( #4860 )
2025-01-12 15:07:11 +08:00
Marten Seemann
58cedf7a4f
rename module, adjust import paths to quic-go/quic-go ( #3680 )
2023-01-21 19:53:57 -08:00
Marten Seemann
870fbe7ab0
migrate to Ginkgo v2
2022-10-11 16:38:44 +04:00
Marten Seemann
4cbb4f8114
remove ConnectionID.Equal function
...
Connection IDs can now be compared with ==.
2022-08-29 11:30:32 +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
592fb9cad9
introduce a dedicated qerr.TransportError and qerr.ApplicationError
2021-05-01 09:38:48 +07:00
Marten Seemann
05066ae877
immediately remove reset tokens when retiring a connection ID
2020-11-22 10:21:20 +07:00
Marten Seemann
80534c0944
wait until the handshake is complete before updating the connection ID
2020-11-02 16:21:38 +07:00
Marten Seemann
8752576f26
run gofumpt, enable the gofumpt linter
2020-10-26 09:33:35 +07:00
Marten Seemann
a1bb39d6ab
introduce a protocol.StatelessResetToken
2020-07-10 19:55:20 +07:00
Marten Seemann
0ef1b2f92e
pass around the stateless reset token directly, not pointers to it
...
Benchmarks show that it's actually faster to make a copy of this 16 byte
array than passing around a pointer to it.
2020-07-10 19:44:57 +07:00
Marten Seemann
34f0c93e88
don't retire the conn ID that's in use when receiving a retransmission
2020-07-06 17:54:00 +07:00
Marten Seemann
b0c1aed4d2
retire conn IDs with sequence numbers smaller than the currently active
2020-05-23 15:08:36 +07:00
Marten Seemann
eab5adc48c
use the connection ID from the preferred_address transport parameter
2020-03-08 15:13:38 +07:00
Marten Seemann
f35a32989c
enforce the active_connection_id_limit
2019-12-03 18:27:10 +07:00
Marten Seemann
f1fd07df59
retire delayed conn IDs arriving after a higher conn ID was retired
2019-11-24 10:12:02 +07:00
Marten Seemann
a53569839c
don't queue the currently active conn ID when receiving a duplicate
2019-11-24 09:35:14 +07:00
Marten Seemann
ef2e0309f3
Merge pull request #2206 from lucas-clemente/ignore-reordered-ncid-frames
...
retire reordered NEW_CONNECTION_IDs that were already retired
2019-11-08 17:06:08 +07:00
Marten Seemann
63aa38eefa
retire reordered NEW_CONNECTION_IDs that were already retired
2019-11-06 17:37:23 +07:00
Marten Seemann
2a8b038ca6
randomize the number of packets sent with the same connection ID
2019-11-05 16:16:58 +07:00
Marten Seemann
ccb777b834
retire the stateless reset token when the session is closed
2019-11-05 10:59:21 +07:00
Marten Seemann
011642e471
update the connection ID after sending 10000 packets
2019-11-05 10:59:21 +07:00
Marten Seemann
326279894b
retire stateless tokens when updating the connection ID
2019-11-05 10:59:21 +07:00
Marten Seemann
5203b026e3
use the connection ID manager to save the server's stateless reset token
2019-11-05 10:59:21 +07:00
Marten Seemann
772ffd3d20
use the connection ID manager to save the destination connection ID
2019-11-05 10:59:21 +07:00
Marten Seemann
8db230753f
retire old connection IDs when the peers sends us too many new ones
2019-11-05 10:59:21 +07:00
Marten Seemann
b9b44c60d3
implement forced retiring of connection IDs
2019-11-05 10:59:21 +07:00
Marten Seemann
031c1709e6
implement a basic store for new connection IDs
2019-11-05 10:59:21 +07:00