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
a584e58099
flowcontrol: reset the connection send window when 0-RTT is rejected ( #4764 )
2024-12-22 11:36:14 +08:00
Marten Seemann
32c9c81962
improve stream limit 0-RTT integration test ( #4761 )
2024-12-18 14:34:48 +08:00
Marten Seemann
3886be4e95
introduce a test helper function to create a UDP socket on localhost ( #4756 )
2024-12-17 23:30:00 +08:00
Marten Seemann
691086db7f
migrate integration tests away from Ginkgo ( #4736 )
...
* use require in benchmark tests
* translate the QLOGDIR test
* translate handshake tests
* translate the handshake RTT tests
* translate the early data test
* translate the MTU tests
* translate the key update test
* translate the stateless reset tests
* translate the packetization test
* translate the close test
* translate the resumption test
* translate the tracer test
* translate the connection ID length test
* translate the RTT tests
* translate the multiplexing tests
* translate the drop tests
* translate the handshake drop tests
* translate the 0-RTT tests
* translate the hotswap test
* translate the stream test
* translate the unidirectional stream test
* translate the timeout tests
* translate the MITM test
* rewrite the datagram tests
* translate the cancellation tests
* translate the deadline tests
* translate the test helpers
2024-12-16 23:43:59 +08:00
Marten Seemann
2dca400b5c
migrate HTTP/3 integration tests away from Ginkgo ( #4746 )
2024-12-05 14:58:29 +08:00
Marten Seemann
07acaad2f7
add context to EarlyConnection.NextConnection, handle handshake failures ( #4551 )
2024-06-04 20:51:54 -07:00
Marten Seemann
459a6f3df9
fix the server's 0-RTT rejection logic when using GetConfigForClient ( #4550 )
2024-06-03 03:42:58 -07:00
Marten Seemann
a19f99e98b
add an integration test for 0-RTT GET requests ( #4386 )
2024-03-23 14:26:02 -07:00
Marten Seemann
9971fedd42
use Transport.VerifySourceAddress to control the Retry Mechanism ( #4362 )
...
* use Transport.VerifySourceAddress to control the Retry Mechanism
This can be used to rate-limit handshakes originating from unverified
source addresses. Rate-limiting for handshakes can be implemented using
the GetConfigForClient callback on the Config.
* pass the remote address to Transport.VerifySourceAddress
2024-03-14 17:35:52 -07:00
Marten Seemann
30e01b9524
use the transport tracer in integration tests
2024-03-09 19:32:15 +09:30
Marten Seemann
dc49f5673b
fix flaky 0-RTT packet loss recovery test ( #4306 )
2024-02-02 22:19:33 -08:00
Marten Seemann
a2cf43d75c
remove the RequireAddressValidation callback from the Config ( #4253 )
2024-01-22 21:24:07 -08:00
Marten Seemann
d795250479
drop support for Go 1.20, build on Go 1.22rc1 on CI ( #4195 )
...
* drop support for Go 1.20
* ci: udpate CircleCI to Go 1.21
* qtls: remove unnecessary type aliases
* ci: build using Go 1.22rc1
2023-12-27 20:31:58 -08:00
Marten Seemann
d234d62d52
qtls: only attempt 0-RTT resumption for 0-RTT enabled session tickets ( #4183 )
2023-12-09 06:17:47 -08:00
Marten Seemann
746290b78a
never allow 0-RTT when using Dial, even if the session ticket allows it ( #4125 )
...
When resuming a TLS session using Dial (and not DialEarly), 0-RTT should
be disabled at the TLS layer, even if the session ticket allows for
0-RTT resumption.
This bug is not critical, since Dial doesn't return an EarlyConnection,
so the client wouldn't be able to actually send 0-RTT data in practice.
2023-10-25 08:20:23 -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
Marten Seemann
1c631cf9cb
rename Connection.{Send,Receive}Message to {Send,Receive}Datagram ( #4116 )
...
This is more consistent with both the RFC and the rest of the API. For
example, the option in the Config is already name EnableDatagrams, and
the property in the ConnectionState is named SupportsDatagrams.
2023-10-24 21:18:09 -07:00
Marten Seemann
9b82196578
make the logging.Tracer and logging.ConnectionTracer a struct ( #4082 )
2023-09-16 04:58:51 -07:00
Ameagari
6cde43785f
integration tests: fix connection timeout in 0-RTT test ( #4060 )
2023-09-01 19:40:35 -07:00
Ameagari
6880f88089
save the max_datagram_frame_size transport parameter in the session ticket ( #4013 )
...
* Add MaxDatagramFrameSize parameter in session ticket
* fix gofumpt issues
* Update integrationtests/self/zero_rtt_test.go
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
* fix: correct comparsion of max_datagram_frame_size
* test: use constant MaxDatagramFrameSize for session ticket test
* fix grammar
---------
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
2023-08-18 19:16:16 -07:00
Marten Seemann
3d89e545d3
use the new crypto/tls QUIC Transport ( #3860 )
2023-07-01 11:15:00 -07:00
Marten Seemann
07ad2cbee2
remove Tracer from Config, put ConnectionTracer constructor there
2023-05-02 15:56:49 +02:00
Marten Seemann
7a0ef5f867
make Config.Allow0RTT a bool, not a callback
2023-05-02 15:56:49 +02:00
Marten Seemann
ba942715db
remove ConnectionIDLength and ConnectionIDGenerator from the Config
2023-05-02 15:56:49 +02:00
Marten Seemann
86a1234c87
make EarlyListener a struct, not an interface
2023-05-01 14:41:16 +02:00
Marten Seemann
58487803d3
move 0-RTT queue handling from the packet handler map to the server
2023-05-01 14:24:28 +02:00
Marten Seemann
aee7706d5d
clean up dial functions
...
* add a context to all Dial functions
* remove the explicit Dial{*}Context functions
2023-05-01 13:59:54 +02:00
Marten Seemann
2b0a03a988
set the QUIC version for integration tests using a command line flag
2023-05-01 13:43:34 +02:00
Marten Seemann
a4b0265628
use a chan instead of a context in Connection.HandshakeComplete ( #3709 )
2023-03-26 06:51:56 -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
4d9ab7b604
Merge pull request #3636 from lucas-clemente/early-conn
...
make ConnectionState usable during the handshake
2023-01-17 22:29:08 -08:00
Marten Seemann
86edf7fd4b
remove the LongHeader field from the wire.Header
2023-01-17 21:53:39 +13:00
Marten Seemann
aca052dc7c
stop using the ExtendedHeader for parsing short header packets in tests
2023-01-17 21:53:39 +13:00
Marten Seemann
a2e52e31a8
fix flaky counting of 0-RTT packets in integration test ( #3669 )
2023-01-16 23:34:45 +13:00
Marten Seemann
45b489b6f6
make ConnectionState usable during the handshake
2023-01-05 16:37:07 +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
870fbe7ab0
migrate to Ginkgo v2
2022-10-11 16:38:44 +04:00
Marten Seemann
ed15a94703
split the tracing function for received short and long header packets
2022-08-29 15:32:27 +03: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
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
Marten Seemann
80fd1b57c8
add a function to distinguish between long and short header packets ( #3498 )
2022-08-11 07:35:01 -07:00
Marten Seemann
6aaa9a817c
rename the EarlySession to EarlyConnection
2022-03-27 11:27:25 +01:00
Marten Seemann
fda9f72161
replace usages of session in variable names
2022-03-27 11:27:25 +01:00
Marten Seemann
8ecbb05d44
Merge pull request #3247 from lucas-clemente/drop-go-115
...
drop support for Go 1.15
2021-08-05 19:50:30 +02:00
Marten Seemann
68e468a3bc
drop support for Go 1.15
2021-08-05 14:18:56 +02:00
Marten Seemann
19cebde7c7
also count coalesced 0-RTT packets in the integration tests
2021-08-05 12:54:43 +02:00
Marten Seemann
9794b6da4c
fix flaky 0-RTT integration test
2021-07-06 11:29:47 -07:00