Commit Graph

5643 Commits

Author SHA1 Message Date
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
Marten Seemann
86b6ee74ff remove build status badges from README (#3325) 2022-01-29 05:41:10 -08:00
Marten Seemann
496fbe9fda Merge pull request #3317 from lucas-clemente/allow-window-increase
add a AllowConnectionWindowIncrease config option
v0.25.0
2022-01-17 22:08:14 -08:00
Marten Seemann
45d449acea document possible deadlocks in AllowConnectionWindowIncrease 2022-01-18 09:53:59 +04:00
Marten Seemann
cb6db58fc1 use a uint64 in the AllowConnectionWindowIncrease callback 2022-01-18 09:23:56 +04:00
Glenn
976cc29c16 Update README.md (#3315) 2022-01-17 06:11:36 -08:00
Marten Seemann
bfd685faf2 add a AllowConnectionWindowIncrease config option 2022-01-14 12:04:04 +04:00
Marten Seemann
f9904c7c45 add a callback to block window increases to the connection flow controller 2022-01-14 12:03:30 +04:00
Marten Seemann
a98e60c28c fix some typos in documentation and tests 2022-01-14 11:23:14 +04:00
Marten Seemann
f34eddae41 Merge pull request #3313 from lucas-clemente/mockgen-no-goimports
remove unneeded calls to goimports when generating mocks
2022-01-09 08:28:42 -08:00
Marten Seemann
7d5a7b47cb remove unneeded calls to goimports when generating mocks 2022-01-09 10:11:21 +04:00
Benedikt Spies
63b7354a25 fix comment about congestionWindow value (#3310) 2022-01-03 05:20:37 -08:00
市川恭佑 (ebi)
59958e5282 fix typo *connections (#3309) 2022-01-01 23:10:01 -08:00
Marten Seemann
1f3350557e Merge pull request #3298 from lucas-clemente/go118
add support for Go 1.18
2021-12-16 10:40:23 +04:00
Marten Seemann
ba4d02017c add support for Go 1.18 2021-12-15 10:13:31 +04:00
Marten Seemann
b935a54c29 Merge pull request #3290 from lucas-clemente/fix-receive-stream-mutex
don't unlock the receive stream mutex for copying from STREAM frames
v0.24.0
2021-10-19 12:22:59 +02:00
Marten Seemann
2c8b939d4c add an integration tests that cancels streams frequently 2021-10-16 19:24:28 +02:00
Marten Seemann
344feb9ea5 don't unlock the receive stream mutex for copying from STREAM frames 2021-10-16 19:24:28 +02:00
Marten Seemann
bb8d4844d5 run integration tests with Go 1.17.x 2021-10-16 19:08:47 +02:00
Marten Seemann
a22a9eae30 Merge pull request #3266 from bt90/patch-2
List projects using quic-go
2021-10-13 08:56:30 +01:00
Marten Seemann
e6572e3d0a Merge pull request #3276 from lucas-clemente/windows-disable-pmtud
disable Path MTU Discovery on Windows
2021-10-13 08:55:42 +01:00
Marten Seemann
9fb18cc511 Merge pull request #3268 from lucas-clemente/fix-undecryptable-packet-run-loop
enter the regular run loop if no undecryptable packet was processed
2021-10-13 08:55:19 +01:00
Marten Seemann
f0fab3a3bb Merge pull request #3272 from aaronriekenberg/master
Allow use of custom port value in Alt-Svc header.
2021-10-12 10:10:06 +01:00
Marten Seemann
8493fe20d5 Merge pull request #3286 from lucas-clemente/disable-goconst
disable the goconst linter
2021-10-12 10:08:43 +01:00
Marten Seemann
7ade2a05d6 disable the goconst linter 2021-10-12 10:49:35 +02:00
Aaron Riekenberg
afbe993b4c Add test setting http3.Server.Port. 2021-09-19 15:51:09 -05:00
Sudarshan Reddy
c5aeee39ad use x/net/ipv{4,6} to construct oob info when writing packets (#3278) 2021-09-18 13:05:26 -07:00