Commit graph

356 commits

Author SHA1 Message Date
Gaukas Wang
4973374ea5
sync: quic-go 0.42.0
Signed-off-by: Gaukas Wang <i@gaukas.wang>
2024-04-23 22:34:55 -06:00
Gaukas Wang
92311cd441
fix: go 1.20 failing test 2023-10-26 23:26:51 -06:00
Gaukas Wang
7c77243b04
upstream: sync to 0.39.1 2023-10-26 22:47:22 -06:00
Marten Seemann
55eebd49ff
return the cancellation cause for cancelled dials () 2023-09-16 05:37:58 -07:00
Marten Seemann
9b82196578
make the logging.Tracer and logging.ConnectionTracer a struct () 2023-09-16 04:58:51 -07:00
Marten Seemann
d8cc4cb3ef
http3: introduce an HTTP/3 error type ()
* http3: introduce an HTTP/3 error type

* http3: use a pointer receiver for the Error
2023-09-16 04:57:50 -07:00
Marten Seemann
ad63e2a40a trace and qlog the ECN marking on sent and received packets 2023-09-11 20:31:50 +07:00
Marten Seemann
abfe1ef548
remove Config.MaxRetryTokenAge, set it to the handshake timeout ()
There is no good reason to manually set the validity period for Retry
tokens. Retry tokens are only valid on a single connection during the
handshake, so it makes sense to limit their validity to the configured
handshake timeout.
2023-09-10 13:53:12 +07:00
Marten Seemann
e1fcac3e46
set the handshake timeout to twice the handshake idle timeout () 2023-09-09 06:12:37 -07:00
Ameagari
6cde43785f
integration tests: fix connection timeout in 0-RTT test () 2023-09-01 19:40:35 -07:00
Gaukas Wang
856bc02b8f
Merge branch 'upstream' into sync-upstream 2023-08-28 14:12:03 -06:00
WeidiDeng
824fd8a2f2
http3: automatically add content-length for small responses ()
* response writer: add content-length automatically when response is small enough and doesn't call Flush

* fix comment

* add integration test

* Update http3/response_writer.go

* Update integrationtests/self/http_test.go

---------

Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2023-08-20 20:31:22 -07:00
Marten Seemann
fe3c4f271d
add a method to retrieve non-QUIC packets from the Transport () 2023-08-19 01:19:17 -07:00
Ameagari
6880f88089
save the max_datagram_frame_size transport parameter in the session ticket ()
* 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
501cc21c4b
expose crypto/tls errors on the TransportError () 2023-08-18 03:01:49 -07:00
Marten Seemann
83c00a574d
ci: also run integration tests on Windows and macOS () 2023-08-16 07:21:48 -07:00
Marten Seemann
4f696569a2
store the server port as an int, not a string, in HTTP tests () 2023-08-16 04:59:11 -07:00
Marten Seemann
1d848392bc
ignore QUICConn.SendSessionTicket error if session tickets are disabled () 2023-08-15 19:53:41 -07:00
Marten Seemann
fba8d784a8 add tls.ClientHelloInfo.Conn for recursive GetConfigForClient calls () 2023-08-08 23:16:13 -06:00
Marten Seemann
18e4a9f516 set a net.Conn for tls.ClientHelloInfo.Conn used by GetCertificate () 2023-08-08 23:16:13 -06:00
Gaukas Wang
5e966a9bec
fix: CI qtls tests ()
Remove some unlinked qtls functionalities.
2023-08-05 17:44:40 -06:00
Marten Seemann
95ab7bdc9a
add tls.ClientHelloInfo.Conn for recursive GetConfigForClient calls () 2023-08-05 13:00:11 -07:00
Gaukas Wang
95575f5fe7
break: update repo url [ci skip]
uTLS is not yet bumped to the new version, so this commit breaks the dependencies relationship by getting rid of the local replace.
2023-08-03 18:58:52 -06:00
Marten Seemann
18d3846d4f
set a net.Conn for tls.ClientHelloInfo.Conn used by GetCertificate () 2023-08-03 20:33:19 -04:00
Gaukas Wang
a9a033da78
Merge branch 'quic-go:master' into uquic 2023-08-01 20:58:24 -06:00
Marten Seemann
f3a0ce1599
set a net.Conn with the correct addresses on the tls.ClientHelloInfo () 2023-07-31 13:32:10 -07:00
Gaukas Wang
fca46117e4
impl: uquic with utls 2023-07-29 23:45:16 -06:00
Marten Seemann
a347d664e2
remove OptimizeConn, add a Transport.WriteTo method instead ()
* remove OptimizeConn, add a Transport.WriteTo method instead

* fix race condition in Transport.WriteTo
2023-07-19 10:28:11 -07:00
Marten Seemann
0662afba63
stop using math/rand.Seed and Read in tests, bump go.mod version to 1.20 () 2023-07-01 11:29:41 -07:00
Marten Seemann
3d89e545d3
use the new crypto/tls QUIC Transport () 2023-07-01 11:15:00 -07:00
Glonee
435444af7e
add a context to Connection.ReceiveMessage ()
* add context to ReceiveMessage

* add newlines

---------

Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2023-06-27 11:29:30 -07:00
Marten Seemann
21388c86bb
drop support for draft-29 () 2023-06-21 04:06:44 -07:00
Benedikt Spies
f57f876446
respect minimum idle timeout of 3 PTOs () 2023-06-20 01:47:29 -07:00
Marten Seemann
39ae200972 enable GSO on Linux, if available 2023-06-02 18:35:02 +03:00
Marten Seemann
cfa03394b5
remove stray print statement in datagram test () 2023-06-02 03:08:02 -07:00
Glonee
9237dbb167
http3: close the connection when closing the roundtripper () 2023-06-01 01:06:13 -07:00
Glonee
c96fbd2e4a
http3: correctly use the quic.Transport ()
* 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
e9fea08613
fix HTTP/3 connection test on draft-29 () 2023-05-12 00:19:43 -07:00
Marten Seemann
b425465bf9
fix flaky timeout integration test () 2023-05-12 00:12:40 -07:00
Marten Seemann
22ca1fb8a5
change how the multiplex test is skipped on Linux () 2023-05-11 22:14:46 -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
bc7cb706c5 add a GetConfigForClient callback to the Config 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
b79b532b04 remove StatelessResetKey from the Config, it's now on the Transport 2023-05-02 15:56:49 +02:00
Marten Seemann
8189e75be6 implement the Transport 2023-05-02 15:56:48 +02:00
Marten Seemann
86a1234c87 make EarlyListener a struct, not an interface 2023-05-01 14:41:16 +02:00
Marten Seemann
1b64b13750 make Listener 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