Marten Seemann
a0a641d59a
ci: set a 30 minute timeout for the interop Docker job ( #5112 )
2025-05-04 05:35:46 +02:00
Marten Seemann
4d39fc31c5
simplify tracking of Transports for connection migration ( #5111 )
...
No functional change expected.
2025-05-03 16:06:23 +02:00
Marten Seemann
97e7657df5
delete retired connection IDs after 3 PTOs ( #5109 )
2025-05-03 14:24:40 +02:00
Marten Seemann
55229d3f21
remove periodic logging functionality from packet handler map ( #5110 )
2025-05-03 14:11:57 +02:00
Marten Seemann
d7b8447e0e
fix dequeuing logic for tiny CRYPTO frames ( #5104 )
...
For very small sizes, cryptoStream.PopCryptoStream could
have returned CRYPTO frames larger than the requested size.
Instead, it should return a nil frame.
2025-05-01 18:35:11 +02:00
Marten Seemann
9d06679273
http3: migrate the server tests away from Ginkgo ( #5085 )
...
* http3: migrate the server tests away from Ginkgo
* http3: add a test for server settings
2025-04-30 06:53:37 +02:00
Zxilly
e4bb2dbd55
fix parsing of interface index in packet info cmsg on big endian architectures ( #5094 )
2025-04-30 04:30:35 +02:00
Marten Seemann
41cc01890d
http3: return http.ErrServerClosed for ServeQUICConn after Server.Close ( #5095 )
2025-04-29 12:05:14 +02:00
Marten Seemann
5daf5b6535
http3: remove Alt-Svc entry when Server.Serve returns ( #5093 )
2025-04-29 05:58:10 +02:00
Marten Seemann
dae68d7ca0
http3: use a slice instead of a map to store active listeners ( #5087 )
...
* http3: use a slice instead of a map to store active listeners
This list will be relatively short, therefore it will be
more performant to use a slice instead of a map.
No functional change expected.
* http3: rename listenerInfo to listener
2025-04-29 04:08:41 +02:00
TheoTechnicguy
a9d8093eaf
http3: fix documentation for Hijacker and HTTPStreamer ( #5089 )
...
* http3: update documentation for `Hijacker`
The documentation for `Hijacker` seems to be legacy from
[v0.43.0](https://github.com/quic-go/quic-go/releases/tag/v0.43.0 ). This
commit updates the documentation to reflect the current API use.
* http3: update documentation for `HTTPStreamer`
The documentation for `HTTPStreamer` seems to be legacy from
[v0.43.0](https://github.com/quic-go/quic-go/releases/tag/v0.43.0 ). This
commit updates the documentation to reflect the current API use.
2025-04-29 03:55:43 +02:00
Marten Seemann
f2b1842d52
http3: use httptest.NewRequest ( #5086 )
...
No functional change expected.
2025-04-29 03:45:04 +02:00
Marten Seemann
597fee0b34
ackhandler: migrate the packet number generator tests away from Ginkgo ( #5081 )
2025-04-27 11:27:28 +02:00
Marten Seemann
e423d4d184
http3: migrate the frames tests away from Ginkgo ( #5067 )
2025-04-27 09:44:32 +02:00
Marten Seemann
d84d985b92
http3: migrate the body tests away from Ginkgo ( #5078 )
2025-04-26 15:48:34 +02:00
Marten Seemann
7437cff1e0
http3: migrate the datagram tests away from Ginkgo ( #5076 )
2025-04-24 08:23:56 +02:00
Marten Seemann
d678f9a86c
http3: migrate the response writer tests away from Ginkgo ( #5075 )
2025-04-23 13:52:22 +08:00
Marten Seemann
3d3922da47
http3: migrate the capsule tests away from Ginkgo ( #5073 )
2025-04-22 14:03:32 +02:00
Marten Seemann
ad0ffcbd37
http3: check response writer for http.ResponseController methods ( #5071 )
2025-04-22 13:37:26 +02:00
Marten Seemann
89d9984156
http3: simplify request writer by writing to an io.Writer ( #5070 )
...
It’s always preferable to use the most minimal interface.
2025-04-22 13:24:46 +02:00
Marten Seemann
f1c7a5df73
http3: migrate the headers tests away from Ginkgo ( #5068 )
2025-04-22 12:54:31 +02:00
Marten Seemann
4c9f6df723
http3: migrate the request writer tests away from Ginkgo ( #5069 )
2025-04-22 12:53:48 +02:00
Marten Seemann
b3f55bb7b7
use assert.AnError consistently in tests ( #5066 )
...
No functional change expected.
2025-04-21 03:52:08 +02:00
Marten Seemann
d35b5ac187
use ed25519 instead of RSA in tests and examples ( #5050 )
...
Also adds a golangci-lint depguard rules that forbids
importing crypto/rsa.
v0.51.0
2025-04-20 05:55:08 +02:00
Marten Seemann
03e9359e38
improve documentation of errors returned from connection and streams ( #5061 )
...
* improve documentation of errors returned from the connection and streams
* further wordsmithing
2025-04-20 04:56:11 +02:00
Marten Seemann
65d75f1ffb
fix panic when probe packet containing a PATH_RESPONSE is lost ( #5063 )
2025-04-20 04:49:59 +02:00
Marten Seemann
a1aa369464
don't use net.Errors for streams map error ( #5060 )
2025-04-19 16:16:47 +02:00
Marten Seemann
9e1afd4fb4
migrate the streams map tests away from Ginkgo ( #5040 )
2025-04-19 15:53:40 +02:00
Marten Seemann
79e5680890
migrate the retransmission queue tests away from Ginkgo ( #5054 )
2025-04-19 14:47:17 +02:00
Marten Seemann
2cfc9b8596
refactor retransmission queue to enable splitting of 1-RTT CRYPTO frames ( #5058 )
2025-04-19 14:14:55 +02:00
Marten Seemann
0c1db893f9
fix flaky TestStreamsMapOutgoingRandomizedOpenStreamSync ( #5056 )
2025-04-19 12:55:58 +02:00
Marten Seemann
02fea84c12
simplify the API of the retransmission queue ( #4793 )
2025-04-19 10:35:16 +02:00
Marten Seemann
7548cc069a
protocol: fix flaky TestVersionGreasing ( #5051 )
2025-04-19 10:19:00 +02:00
Marten Seemann
267cca773b
switch from math/rand to math/rand/v2 ( #5045 )
...
* switch from math/rand to math/rand/v2
* switch away from golang.org/x/exp/rand
2025-04-19 09:01:22 +02:00
Marten Seemann
c60438c528
migrate the outgoing streams map tests away from Ginkgo ( #5033 )
2025-04-19 08:12:35 +02:00
Marten Seemann
f4c478b627
fix potential deadlock when OpenStreamSync context is cancelled ( #5037 )
...
* fix potential deadlock when OpenStreamSync context is cancelled
* fix race condition when closing
2025-04-19 07:48:18 +02:00
Marten Seemann
b645ce35a2
use a slice instead of a map to track waiting OpenStreamSync calls ( #5036 )
...
Using a slice is faster than using a map, unless thousands
of OpenStreamSync calls are cancelled at the same time.
2025-04-19 04:17:53 +02:00
Marten Seemann
cda52a1e36
evict old paths when the client probes a new path ( #5034 )
...
* store paths in a slice, not a map
No functional change expected.
* save the timestamp of the last received packet for a path
* evict old paths
* reduce the path timeout to 5s
2025-04-19 04:10:54 +02:00
Marten Seemann
7cffd500f1
clarify that Config.InitialPacketSize constitutes a lower limit ( #5047 )
2025-04-14 15:44:32 +02:00
Marten Seemann
0894931c64
protocol: use math/rand/v2 to generate greased versions ( #5046 )
2025-04-14 14:30:04 +02:00
Marten Seemann
e3f1b7c410
switch packet packer to math/rand/v2 ( #5044 )
2025-04-14 12:12:48 +02:00
Mark Rushakoff
e2031b7aeb
use clickable links in documentation, fix list styling ( #4955 )
...
* Update comment styles
1. Use doc links (the square brackets around identifiers) to make
clickable links on pkg.go.dev (https://go.dev/doc/comment#doclinks )
2. Indent lists so that they are rendered properly -- at which point go
fmt updates the bullet character to a dash
(https://go.dev/doc/comment#lists )
3. Add a couple missing punctuation marks
These all will improve the experience of browsing the quic-go docs on
pkg.go.dev.
* ignore SA1019 for the ConnectionTracingID
* ci: exclude ConnectionTracing(ID, Key) from staticlint in http3
---------
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
2025-04-14 07:44:29 +02:00
Marten Seemann
0ac0c1e72c
improve documentation for the ConnectionIDGenerator ( #5043 )
2025-04-14 06:41:17 +02:00
Marten Seemann
848c355079
simplify path probe PING frame packing logic ( #5028 )
...
* simplify path probe PING frame packing logic
* also pack PTO probe packets for Initial and Handshake
2025-04-14 05:47:58 +02:00
Marten Seemann
97da280142
implement closing of paths probed for connection migration ( #4979 )
2025-04-13 13:59:43 +02:00
Marten Seemann
26ba8d978f
fix flaky TestServerCreateConnection ( #5039 )
2025-04-13 07:20:52 +02:00
Peter Wu
23ec5b957c
fix flaky TestDatagramLoss ( #5017 )
...
Fixes #4784
2025-04-12 10:59:14 +02:00
Marten Seemann
57830ad295
migrate the incoming streams map tests away from Ginkgo ( #4957 )
2025-04-12 08:11:34 +02:00
Marten Seemann
213b54b010
fix flaky TestServer0RTTReordering ( #5032 )
2025-04-12 06:29:11 +02:00
Marten Seemann
a15ea40aa4
fix flaky TestConnectionPathValidation ( #5030 )
2025-04-12 05:19:08 +02:00