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
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
Egon Elbre
b65ed61fea
integrationtests: fix proxy test on Windows ( #4023 )
2023-08-13 01:43:28 -07:00
Marten Seemann
f5516715eb
quicproxy: increase UDP send and receive buffer sizes ( #3813 )
2023-05-28 17:08:17 +03: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
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
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
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
Marten Seemann
bf96707f48
rename the wire.Header to ExtendedHeader
...
It's not encrypted yet.
2018-11-26 15:57:54 +07:00
Marten Seemann
6150c19dcb
remove unused perspective from header writing
2018-11-26 13:43:27 +07:00
Marten Seemann
7696bf59ea
remove 6 byte packet numbers
2018-11-19 16:15:02 +07:00
Marten Seemann
ace7f609a3
fix a flaky proxy test
2018-07-02 15:32:26 +07:00
Marten Seemann
7b96d158d2
remove the OmitConnectionID field from the Header struct
...
Instead, just look at the length of the destination connection ID.
2018-06-24 17:21:41 +07:00
Marten Seemann
6b82e46e0c
use the prefix logger for client, server and proxy
2018-05-29 20:52:54 +08:00
Marten Seemann
52d31dd7ef
implement the new header format
...
Currently, we're only sending and accepting packets with matching source
and destination connection IDs.
2018-04-19 13:46:54 +09:00
Marten Seemann
1a035a265c
change the type of Connection ID to byte slice
2018-04-18 22:41:24 +09:00
Marten Seemann
948eef3e42
create a logger interface and use it everywhere
2018-04-04 13:03:28 +07:00
Marten Seemann
ce0b33d2ff
use the maximum receive packet size, not send packet size, in the proxy
2018-03-09 18:32:43 +07:00
Marten Seemann
a588b9e140
make golint happier
2018-03-02 16:58:19 +07:00
Marten Seemann
03171bc725
remove duplicate log statement in the proxy
2018-02-24 10:19:53 +08:00
Marten Seemann
4e20ae142c
Merge pull request #1190 from lucas-clemente/proxy-closing
...
properly close the UDP proxy used in the integration tests
2018-02-22 19:59:13 +08:00
Marten Seemann
b1095d0661
properly close the UDP proxy used in the integration tests
2018-02-22 19:13:07 +08:00
Marten Seemann
e181f92917
add some debug logging for the proxy
2018-02-22 17:55:48 +08:00
Marten Seemann
0000fe6de7
fix flaky proxy shutdown test
2017-11-07 10:14:06 +07:00
Marten Seemann
4556ad01e5
use the new packet header for connections using TLS
2017-10-27 16:54:47 +07:00
Marten Seemann
5504c47ca5
reduce the maximum packet size of sent packets to 1200 bytes
...
This is the value the IETF draft mandates for implementations that don't
do PMTUD.
2017-10-18 14:14:49 +07:00
Marten Seemann
9cb7480050
rename connection ID truncation to connection ID omission
2017-09-29 22:52:54 +07:00
Marten Seemann
142abb08b3
refactor drop tests, add test with dropped packets in both directions
2017-09-12 15:36:49 +07:00
Marten Seemann
3cc34a3ae7
don't parse the Public Header in the proxy
2017-09-12 14:42:27 +07:00
Marten Seemann
7ba9fb0f8b
use a kernel determined server address in proxy tests
...
Now we can execute the proxy tests in parallel without running into
"address already in use" errors.
2017-09-12 14:38:37 +07:00
Marten Seemann
11a31cfdac
fix version dependent Public Header parsing in the proxy
2017-09-10 23:26:14 +02:00