Marten Seemann
bad60f3c27
add the version number for QUIC v2
2022-05-25 15:50:04 +02:00
Marten Seemann
8185d1b4e0
Merge pull request #3424 from lucas-clemente/fix-tls-error-handling2
...
don't ignore errors that occur when the TLS ClientHello is generated
2022-05-20 13:12:57 +02:00
Marten Seemann
53be3ee500
don't send CONNECTION_CLOSE if error occurred before sending anything
2022-05-20 12:27:00 +02:00
Marten Seemann
c225299c84
handle TLS errors that occur before the ClientHello has been written
2022-05-20 12:27:00 +02:00
Marten Seemann
12d50e6810
tighten typing of channel in the crypto setup
2022-05-20 12:27:00 +02:00
Marten Seemann
2e98150cd4
don't send path MTU probe packets on a timer ( #3423 )
2022-05-20 03:10:39 -07:00
Marten Seemann
de5f08171b
introduce a http3.RoundTripOpt to prevent closing of request stream ( #3411 )
2022-05-20 02:54:31 -07:00
Marten Seemann
6511723c28
don't close the request stream when http3.DataStreamer was used ( #3413 )
2022-05-20 02:53:44 -07:00
Ivan Trubach
0ec8ee3cff
do not embed http.Server in http3.Server ( #3397 )
...
This change removes the embedded http.Server struct from http3.Server.
It slightly changes some error behavior, in particular, it mandates
TLSConfig for methods that create QUIC listeners.
Before this change, only Addr, TLSConfig, Handler and MaxHeaderBytes
options were used from the http.Server. These are now defined directly
in http3.Server with an improved documentation.
2022-05-20 02:53:23 -07:00
Chao Fei
60bbe92194
remove error return value from ComposeVersionNegotiation ( #3410 )
2022-05-12 08:03:39 -07:00
Chao Fei
b9a77af8f9
don't set receive buffer if it is already large enough ( #3407 )
2022-05-12 04:24:37 -07:00
Didrik Nordström
d39a33f921
clone TLS conf in newClient ( #3400 )
...
Fixes #3394
2022-05-12 03:27:25 -07:00
hareku
0a08d62dea
remove warning comments of stable implementation ( #3399 )
2022-05-05 01:45:54 -07:00
Marten Seemann
5dedb7e12c
fix parsing of request path for Extended CONNECT requests ( #3388 )
2022-04-25 04:20:58 -07:00
Marten Seemann
d5961e9d60
update docs to reflect that we support RFC 9221 (Unreliable Datagrams) ( #3382 )
2022-04-25 04:10:51 -07:00
Marten Seemann
21eda36971
fix deadlock on concurrent http3.Server.Serve and Close calls ( #3387 )
2022-04-25 04:10:39 -07:00
Marten Seemann
a6a9b2494b
reduce flakiness of deadline integration tests ( #3383 )
2022-04-25 04:00:33 -07:00
Marten Seemann
8bcb6337d1
protect against concurrent use of Stream.Write ( #3381 )
2022-04-25 03:58:24 -07:00
Marten Seemann
ec118e440c
protect against concurrent use of Stream.Read ( #3380 )
2022-04-25 03:58:11 -07:00
hareku
823c609be4
Expose quic server closed err ( #3395 )
...
* expose quic server closed error
* http3.Server's serving method returns http.ErrServerClosed when quic listener is closed
* Revert "http3.Server's serving method returns http.ErrServerClosed when quic listener is closed"
This reverts commit fb1f244440 .
2022-04-25 03:10:55 -07:00
hareku
1a0d577854
implement HTTP/3 unidirectional stream hijacking ( #3389 )
...
* implement HTTP/3 unistream hijacking
* Apply suggestions from code review
Fixed name consistency.
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
* rename unistream to unidirectional stream
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
2022-04-21 09:51:18 -07:00
Marten Seemann
6d4a694183
add LocalAddr and RemoteAddr functions to http3.StreamCreator ( #3384 )
2022-04-16 06:09:01 -07:00
Marten Seemann
21160a02ff
Merge pull request #3362 from lucas-clemente/webtransport
...
extend the HTTP/3 API for WebTransport support
2022-04-16 13:51:25 +01:00
Marten Seemann
ff6313fdb3
make the responseWriter hijackable
2022-04-03 14:28:15 +01:00
Marten Seemann
a983db0301
pass the connection to the client's StreamHijacker callback
2022-04-03 14:28:15 +01:00
Marten Seemann
448e8bcf05
add a stream ID getter function to the body
2022-04-03 14:28:15 +01:00
Marten Seemann
eddb2b819a
add a stream ID getter function to the responseWriter
2022-04-03 14:28:15 +01:00
Marten Seemann
9c8cdeda57
allow HTTP clients to set the number of incoming streams in quic.Config
2022-04-03 14:28:15 +01:00
Marten Seemann
48a2cce9df
implement HTTP/3 stream hijacking
2022-04-03 14:28:15 +01:00
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