Marten Seemann
c0611d2f56
use simnet in CONNECTION_CLOSE retransmission test ( #5395 )
...
* use simnet in CONNECTION_CLOSE retransmission test
* fix race
2025-10-20 08:44:09 +02:00
Marten Seemann
5e5100b40c
http3: add the qlog event schema to trace header ( #5383 )
2025-10-15 06:02:05 +02:00
Marten Seemann
c26e86c547
qlogwriter: add support for event_schemas in the trace header ( #5361 )
2025-10-09 06:07:23 +02:00
Marten Seemann
c2131eb595
qlog: split serializiation and event definitions, remove logging abstraction ( #5356 )
...
* qlog: implement a Trace and a Writer struct
* qlog: rename Trace to FileSeq
* split qlog trace writer and QUIC qlog events into separate packages
* use the new qlog.Recorder instead of the logging.ConnectionTracer
2025-10-08 05:53:02 +02:00
Marten Seemann
2ac3b16df4
improve connection timer logic ( #5339 )
...
* simplify timer resets
As of Go 1.23, timer resets work as expected, and there’s no need to
read a (potentially) stale value from the timer channel.
* don't save the last time
* track if blocked
* remove unblock after sendingScheduled
* fix unblock logic when sending
* don't use fallthrough
* track the blocking mode
* remove stale comment
2025-09-24 10:43:01 +02:00
Marten Seemann
adc13be540
implement a memory-optimized time.Time replacement ( #5334 )
...
* implement a memory-optimized time.Time replacement
* monotime: properly handle systems with bad timer resolution (Windows)
* monotime: simplify Since
2025-09-14 08:12:10 +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.
2025-04-20 05:55:08 +02:00
Peter Wu
384a4b8d50
proxy: fix test timeout failures during cleanup ( #5010 )
...
Several proxy tests timed out because it got stuck in the packet read
loop after all tests have run. Avoid this by running the `conn.Close()`
Cleanup call from `newUPDConnLocalhost` before the timeout handler.
Update CI to run these tests.
Fixes: 3e87ea3f50 ("proxy: add function to simulate NAT rebinding (#4922 )")
Relates to: #5009
2025-03-29 13:04:44 +08:00
Marten Seemann
6033030017
proxy: add source and destination address to delay and drop callbacks ( #4964 )
2025-02-22 12:21:40 +01:00
Marten Seemann
f20b823154
proxy: optimize packet sorting logic ( #4923 )
2025-01-26 05:27:12 +01:00
Marten Seemann
3e87ea3f50
proxy: add function to simulate NAT rebinding ( #4922 )
2025-01-26 05:03:08 +01:00
Marten Seemann
79bae396b4
proxy: rename to Proxy, refactor initialization ( #4921 )
...
* proxy: rename to Proxy, refactor initialization
* improve documentation
2025-01-25 11:13:33 +01:00
Marten Seemann
f5145eb627
proxy: remove QuicProxy.LocalPort method ( #4920 )
2025-01-25 04:18:22 +01:00
Marten Seemann
aef34d59a9
proxy: migrate tests away from Ginkgo ( #4680 )
2024-09-21 05:15:13 -07:00
Marten Seemann
5f8d146836
wire: optimize parsing of long header packets ( #4589 )
2024-07-21 14:22:32 -07:00
Marten Seemann
30e01b9524
use the transport tracer in integration tests
2024-03-09 19:32:15 +09:30
Marten Seemann
96ab48eb7d
fix serialization of connection ID in filenames of qlog files ( #4170 )
2023-11-16 22:06:42 -08:00
Marten Seemann
30f9c0139f
use typed atomics in integration tests ( #4120 )
...
* use typed atomic in integration tests
* use an atomic.Bool in hotswap test
2023-10-24 21:46:29 -07:00
Marten Seemann
9b82196578
make the logging.Tracer and logging.ConnectionTracer a struct ( #4082 )
2023-09-16 04:58:51 -07:00
Egon Elbre
b65ed61fea
integrationtests: fix proxy test on Windows ( #4023 )
2023-08-13 01:43:28 -07:00
Glonee
c96fbd2e4a
http3: correctly use the quic.Transport ( #3869 )
...
* use quic.Transport in http3
* add intergrationtests to dial server with different server names
* update test
2023-05-31 23:31:20 -07:00
Marten Seemann
f5516715eb
quicproxy: increase UDP send and receive buffer sizes ( #3813 )
2023-05-28 17:08:17 +03:00
Marten Seemann
07ad2cbee2
remove Tracer from Config, put ConnectionTracer constructor there
2023-05-02 15:56:49 +02:00
Marten Seemann
0dbe595d9f
move the version negotiation tests to a separate package
2023-05-01 13:42:30 +02:00
Marten Seemann
1f57d4e789
protocol: remove VersionTLS, used during the gQUIC -> TLS 1.3 transition ( #3764 )
2023-04-19 07:24:34 -07: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
c24fbb094c
refactor header writing to append to a byte slice ( #3646 )
...
This avoids having to allocate a bytes.Buffer.
2023-01-17 01:56:06 -08:00
Marten Seemann
86edf7fd4b
remove the LongHeader field from the wire.Header
2023-01-17 21:53:39 +13:00
Marten Seemann
870fbe7ab0
migrate to Ginkgo v2
2022-10-11 16:38:44 +04: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
ea9de26ed5
drop support for Go 1.16 and 1.17 ( #3482 )
2022-08-10 03:42:14 -07:00
Marten Seemann
59ea0daea1
run gofmt to add the new go:build tags
2021-09-14 18:37:41 +02:00
Marten Seemann
7c74d1eb47
add support for Go 1.17 Beta 1
2021-06-15 12:29:48 -07:00
Marten Seemann
82ac6dcf6d
rename MaxReceivePacketSize to MaxPacketBufferSize
...
We use the same buffer size for sending and receiving packets.
2021-03-03 12:00:14 +08:00
Marten Seemann
8752576f26
run gofumpt, enable the gofumpt linter
2020-10-26 09:33:35 +07:00
Marten Seemann
0baf16ea4e
rewrite the proxy to avoid packet reordering
2020-06-20 15:46:06 +07:00
Marten Seemann
a9e5686cdf
fix flaky proxy test
2020-05-04 12:51:02 +07:00
Marten Seemann
f066e2fc5f
remove the testlog package
2019-11-30 19:58:30 +07:00
Marten Seemann
07dcbc8496
remove the testserver package
2019-11-25 12:54:58 +07:00
Marten Seemann
6b22f36d82
add the stylecheck linter
2019-09-17 13:50:19 +07:00
Marten Seemann
5479837a01
stop delay timers in the proxy when it is closed
2019-07-02 12:34:43 +07:00
Marten Seemann
7827cd61bc
pass the raw packet to the Drop- and Delay callbacks of the proxy
2019-07-01 14:46:58 +07:00
Marten Seemann
0f3b0cfcc4
fix race condition in proxy tests
2019-06-29 11:11:45 +07:00
Marten Seemann
4f6d0e651a
implement HTTP/3
2019-04-11 09:06:10 +09:00
Marten Seemann
e14a4f9be7
add synchronization for calls to the buffer used for logging
2019-04-01 11:40:32 +09:00
Marten Seemann
a0bf7c7ed0
log to memory in integration tests
2019-04-01 01:54:24 +09:00
Marten Seemann
9bffce264f
don't run the version negotiation tests with race detector
2019-02-08 13:56:49 +08:00
Marten Seemann
05be874b11
cancel reading from the response stream when the response body is closed
2019-01-23 15:45:22 +07:00
Marten Seemann
2367ab35bb
remove unneeded version parameter from proxy constructor
2019-01-05 12:36:52 +07:00
Marten Seemann
70ce6a5814
parse the whole Long Header, if the version is known
2018-11-26 15:57:54 +07:00