Marten Seemann
a54816867f
make it possible to set settings unknown to the http3 package
2022-04-03 14:28:15 +01:00
Marten Seemann
57461e01b5
add a http3.Hijacker that allows stream creation on a QUIC session from a http.Response.Body
2022-04-03 14:28:15 +01:00
Marten Seemann
332473668a
remove unneeded network from custom dial function used in HTTP/3 ( #3368 )
2022-04-03 06:27:55 -07:00
Marten Seemann
fa0dba963a
Merge pull request #3367 from lucas-clemente/update-golangci-lint
...
stop using the deprecated net.Error.Temporary, update golangci-lint to v1.45.2
v0.27.0
2022-04-03 12:43:45 +01:00
Marten Seemann
7c63050da1
remove deprecated scopelint linter from golangci-lint
2022-04-02 20:36:18 +01:00
Marten Seemann
42bfe5aa70
add a nolint directive for the use of net.Error.Temporary when reading from conn
2022-04-02 20:35:43 +01:00
Marten Seemann
4f85f45f0a
stop using net.Error.Temporary in tests
2022-04-02 20:31:08 +01:00
Marten Seemann
0c6b3dfa93
run the updated version of gofumpt
2022-04-02 20:18:37 +01:00
Marten Seemann
7265441042
update golangci-lint to v1.45.2
2022-04-02 20:06:16 +01:00
Marten Seemann
d1498c360e
add support for serializing Extended CONNECT requests ( #3360 )
2022-04-02 11:55:42 -07:00
Marten Seemann
26fbf99275
Merge pull request #3364 from lucas-clemente/better-go-version-error
...
improve the error thrown when building with an unsupported Go version
2022-04-02 19:55:20 +01:00
Marten Seemann
ba697c5838
also throw an error for outdated Go versions
2022-03-30 16:05:21 +01:00
Marten Seemann
aef7ac0a48
improve the error thrown when building with an unsupported Go version
2022-03-30 15:44:59 +01:00
ignoramous
9620cc745c
remove nextdns from list of projects using quic-go ( #3363 )
...
ref: github.com/nextdns/nextdns/commit/538d0a85
2022-03-28 14:31:43 -07:00
Marten Seemann
d008a253b8
Merge pull request #3361 from lucas-clemente/rename-session
...
rename the Session to Connection
2022-03-27 14:06:59 +02:00
Marten Seemann
4b17343631
rename the session to connection
2022-03-27 12:50:14 +01:00
Marten Seemann
d7ad1b6b9b
rename the connection to rawConn
2022-03-27 12:28:43 +01:00
Marten Seemann
3126062aa7
rename files dealing with low level conns to sys_conn
2022-03-27 12:28:41 +01:00
Marten Seemann
f68b38635a
rename occurrences of session in HTTP/3 server and client
2022-03-27 11:27:25 +01:00
Marten Seemann
9bc32cd021
rename the SessionTracingKey to ConnectionTracingKey
2022-03-27 11:27:25 +01:00
Marten Seemann
a088ba4607
rename quicConn.earlySessionReady to quicConn.earlyConnReady
2022-03-27 11:27:25 +01:00
Marten Seemann
1ae835d1d8
rename occurrences of session in client, server and packetHandlerMap
2022-03-27 11:27:25 +01:00
Marten Seemann
86338d3ce0
rename the sessionRunner to connRunner
2022-03-27 11:27:25 +01:00
Marten Seemann
97690dc493
rename the closed session to closed conn
2022-03-27 11:27:25 +01:00
Marten Seemann
e7c2e7e147
rename the quicSession to quicConnection
2022-03-27 11:27:25 +01: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
e71c236232
rename the Session to Connection
2022-03-27 11:27:23 +01:00
Marten Seemann
42f3159497
Merge pull request #3359 from lucas-clemente/http3-dial-context
...
respect the request context when dialing
2022-03-25 10:27:43 +01:00
Marten Seemann
d3fab2a230
also the context when dialing an address
2022-03-25 10:11:55 +01:00
Marten Seemann
137491916b
respect the request context when dialing
2022-03-25 09:47:05 +01:00
Marten Seemann
0d5440a024
update HTTP/3 Datagram to draft-ietf-masque-h3-datagram-07 ( #3355 )
2022-03-25 01:44:12 -07:00
Marten Seemann
d065fb47e1
add support for the Extended CONNECT method ( #3357 )
...
Extended CONNECT is used by WebTransport.
2022-03-25 01:43:48 -07:00
Marten Seemann
85b495445e
remove the SkipSchemeCheck RoundTripOpt ( #3353 )
...
This option was needed for an early draft version of MASQUE.
MASQUE now uses the https scheme.
2022-03-25 09:38:17 +01:00
Marten Seemann
3a102406ea
remove parser logic for HTTP/3 DUPLICATE_PUSH frame ( #3356 )
...
This frame was removed in draft-25.
2022-03-25 09:37:56 +01:00
Marten Seemann
08af9fc2c1
improve code coverage of random number generator test ( #3358 )
2022-03-25 09:37:37 +01:00
Artem Mikheev
d4293fb274
advertise multiple listeners via Alt-Svc and improve perf of SetQuicHeaders ( #3352 )
...
* feat: cache alt-svc headers and announce all listeners instead of just one
* feat: use Server.Addr for SetQuicHeaders if no port is available from listeners
v0.26.0
2022-03-22 14:13:05 -07:00
Marten Seemann
4725ddebf3
avoid recursion when skipping unknown HTTP/3 frames ( #3354 )
2022-03-22 08:48:17 -07:00
Marten Seemann
2661c2807d
update qtls packages ( #3351 )
2022-03-21 12:04:26 -07:00
Artem Mikheev
b7e93b54c9
Implement http3.Server.ServeListener ( #3349 )
...
* feat(http3): implement serving from quic.Listener
ServeListener method added to http3.Server allowing serving from an existing listener
ConfigureTLSConfig function added to http3 which should be used to create listeners meant for serving http3.
* docs(http3): add note about using ConfigureTLSConfig to ServeListener
* fix(http3): stop serving non-created listeners after Server.Close
* refactor(http3): return ErrServerClosed once server closes instead of context.Canceled
* feat(http3): close listeners from ServeListener as well
* fix(http3): fix logger not being setup during ServeListener
* test(http3): add unit tests for serving listeners
* test(http3): add tests for ConfigureTLSConfig
* test(http3): added server hotswapping integration test
* fix: race condition in listener tests
2022-03-21 02:20:29 -07:00
Marten Seemann
9c8cadba9e
Merge pull request #3345 from lucas-clemente/update-go-118
...
update for Go 1.18
2022-03-16 09:33:11 +01:00
Marten Seemann
580cc754f3
don't print a receive buffer warning for closed connections ( #3346 )
2022-03-16 01:32:43 -07:00
Marten Seemann
366097106c
use Go 1.18 on CI
2022-03-16 11:16:44 +04:00
Marten Seemann
36977dd528
update qtls-go-1-18 to v0.1.0
2022-03-16 10:10:24 +04:00
Toby
ad1cb27c1b
move set DF implementation to separate files & avoid the need for OOBCapablePacketConn ( #3334 )
...
* move set DF implementation to separate files & avoid the need for OOBCapablePacketConn
* merge err_size_* into conn_df_* & fix format
2022-03-07 15:21:23 +01:00
Arash Payan
fa070e585e
add env to disable the receive buffer warning ( #3339 )
...
If the env QUIC_GO_DISABLE_RECEIVE_BUFFER_WARNING is set to true
(as defined by strconv.ParseBool()), the receive buffer warning
will not be printed out.
2022-03-07 15:16:52 +01:00
Toby
17952f3e06
fix typo ( #3333 )
2022-02-20 05:24:26 -08:00
Marten Seemann
71c8af30ea
update GitHub Actions to use Go 1.18rc1 ( #3335 )
2022-02-20 05:23:51 -08:00
Rachel Chen
fd2c345152
sendQueue: ignore "datagram too large" error ( #3328 )
...
This commit introduces additional platform-dependent checking when the
kernel returns an error. Previously, the session is terminated when
PingFrame sends a discovery packet larger than the limit. With this
commit, the error is checked, and if it is "datagram too large", the
error is ignored.
Additionally,
1. This commit re-enables MTU discovery on Windows unless it
is disabled explicitly by user (Undo #3276 ),
2. Set IP_DONTFRAGMENT and IPV6_DONTFRAG with error checking on Windows,
and
3. Set IP_MTU_DISCOVERY to PMTUDISC_DO for both IPv4 and IPv6 on Linux
so that the kernel will return "message too long".
Fixes #3273 #3327
2022-02-20 00:21:32 -08:00
Marten Seemann
f3b098775e
add OONI Probe to list of projects in README ( #3324 )
2022-01-29 05:41:38 -08:00