Marten Seemann
3822dae9bb
handshake fuzzer: fix setting of cipher suites ( #4037 )
2023-08-16 22:26:36 -07:00
Marten Seemann
83c00a574d
ci: also run integration tests on Windows and macOS ( #3987 )
2023-08-16 07:21:48 -07:00
Marten Seemann
51d257d608
handshake fuzzer: fix TLS handshake sequence ( #4033 )
...
There were two problems with the existing code:
1. The transport parameters were rejected due to an invalid value for
ActiveConnectionIDLimit, causing the handshake to fail.
2. Handshake messages were passed in at the wrong encryption level,
leading to consistent handshake failures.
2023-08-16 06:55:44 -07:00
Marten Seemann
ca3842d6c8
automatically set the tls.Config.ServerName if unset ( #4032 )
2023-08-16 06:54:42 -07:00
Marten Seemann
4f696569a2
store the server port as an int, not a string, in HTTP tests ( #3959 )
2023-08-16 04:59:11 -07:00
Marten Seemann
2e7ea9119c
add OSS-Fuzz badge to README ( #3942 )
2023-08-16 04:58:07 -07:00
Marten Seemann
bda01bc489
handshake: use the correct hash function for TLS_AES_256_GCM_SHA384 ( #4031 )
2023-08-15 20:09:01 -07:00
Marten Seemann
1d848392bc
ignore QUICConn.SendSessionTicket error if session tickets are disabled ( #4030 )
2023-08-15 19:53:41 -07:00
Marten Seemann
70f3f44a09
http3: remove leftover ALPN constant for draft-29 ( #4027 )
2023-08-13 19:36:01 -07:00
Egon Elbre
b65ed61fea
integrationtests: fix proxy test on Windows ( #4023 )
2023-08-13 01:43:28 -07:00
Ondrej Kokes
05db808f72
http3: change code point for HTTP datagrams to RFC 9297 ( #3588 )
...
* HTTP/3 Datagrams are now RFC 9297
* Use datatracker htmlized docs rather than rfc-editor (to be consistent)
2023-08-09 06:30:46 -07:00
Gokul PM
10d1114962
README: fix invocation of Go routine in example ( #4019 )
2023-08-09 05:26:39 -07:00
elagergren-spideroak
571d3adef4
fix compatibility with API breaking change in Go 1.21 ( #4020 )
...
* add Go 1.21 compatibility
Signed-off-by: Eric Lagergren <elagergren@spideroak-inc.com >
* refactor for Go 1.20
Signed-off-by: Eric Lagergren <elagergren@spideroak-inc.com >
---------
Signed-off-by: Eric Lagergren <elagergren@spideroak-inc.com >
2023-08-09 05:22:30 -07:00
Marten Seemann
aab4d4e410
fix handling of ACK frames serialized after CRYPTO frames ( #4018 )
2023-08-05 18:48:53 -04:00
Marten Seemann
95ab7bdc9a
add tls.ClientHelloInfo.Conn for recursive GetConfigForClient calls ( #4016 )
2023-08-05 13:00:11 -07:00
Marten Seemann
26c6fcc549
add error handling when confirming handshake on HANDSHAKE_DONE frames ( #4017 )
2023-08-05 07:02:24 -07:00
Marten Seemann
18d3846d4f
set a net.Conn for tls.ClientHelloInfo.Conn used by GetCertificate ( #4014 )
2023-08-03 20:33:19 -04:00
Marten Seemann
f9f6b9df6e
update qtls to restrict RSA keys in certificates to <= 8192 bits ( #4012 )
2023-08-03 08:20:32 -07:00
Ameagari
1c47ebefc0
check transport parameters after 0-RTT resumption ( #3985 )
...
* check new transport parameters do not contain redueced limits
* redefine ValidForUpdate and add tests
* fix test assertion and update comment
2023-08-01 18:34:42 -07:00
Marten Seemann
f3a0ce1599
set a net.Conn with the correct addresses on the tls.ClientHelloInfo ( #4001 )
v0.37.1
2023-07-31 13:32:10 -07:00
Marten Seemann
44a58dc425
ci: update Go 1.21 to rc3 ( #3994 )
2023-07-28 21:45:45 -07:00
roc
32f8b20ae5
http3: fix check for content length of the response ( #3998 )
...
* fix: check response content-length other than request content-length
* Update http3/client.go
---------
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
2023-07-28 21:18:26 -07:00
Marten Seemann
469a6153b6
use a synchronous API for the crypto setup ( #3939 )
v0.37.0
2023-07-21 10:00:42 -07:00
WeidiDeng
2c0e7e02b0
http3: panic in ResponseWriter.WriteHeader for invalid status codes ( #3984 )
...
* response writer: panic for invalid status code
* add tests
* readd imports
* readd imports
* fix imports
2023-07-21 09:50:51 -07:00
Marten Seemann
2bcfe5bc4b
check for WSAEMSGSIZE errors when receiving UDP packets on Windows ( #3982 )
...
* check for WSAEMSGSIZE errors when receiving UDP packets on Windows
* check EMSGSIZE error on macOS
2023-07-20 20:31:57 -07:00
WeidiDeng
2183283622
http3: discard negative content-length header when writing response ( #3983 )
...
* response writer: discard negative content-length header
* shorten comment
---------
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
2023-07-20 11:42:37 -07:00
Marten Seemann
5a22ac8970
http3: enforce that DATA frames don't exceed Content-Length ( #3980 )
2023-07-20 09:47:01 -07:00
Sukun
56cd866840
enable the DF bit on macOS ( #3946 )
...
* set DF bit on macOS
* simplify macOS version check
* link to chromium source for macOS 11 check
2023-07-19 12:01:03 -07:00
Marten Seemann
ae8bdd79e0
http3: use correct error code when request header parsing fails ( #3979 )
2023-07-19 11:46:10 -07:00
Marten Seemann
a347d664e2
remove OptimizeConn, add a Transport.WriteTo method instead ( #3957 )
...
* remove OptimizeConn, add a Transport.WriteTo method instead
* fix race condition in Transport.WriteTo
2023-07-19 10:28:11 -07:00
Ferdinand Holzer
27301f791f
surface stream error as stream context cancelation cause ( #3970 )
...
* send stream: surface error as stream context cancellation cause
* Update send_stream_test.go
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
---------
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
2023-07-19 10:12:01 -07:00
Marten Seemann
5ae28928db
http3: reject unknown pseudo headers ( #3973 )
2023-07-18 22:42:26 -07:00
Marten Seemann
b6dbfc8c06
http3: reject responses that don't set the :status header ( #3975 )
2023-07-18 22:26:46 -07:00
Marten Seemann
5d59c3059f
http3: deduplicate Content-Length headers ( #3972 )
2023-07-18 21:52:21 -07:00
Marten Seemann
bb296b8c17
http3: unify handling of request and response headers ( #3969 )
2023-07-18 21:39:05 -07:00
Marten Seemann
ad16aa765d
http3: refactor header field processing into a separate function ( #3971 )
2023-07-18 21:16:50 -07:00
Marten Seemann
514df55288
http3: enforce ordering requirement between pseudo and regular headers ( #3968 )
...
* http3: enforce ordering requirement between pseudo and regular headers
* simplify logic
2023-07-18 09:13:16 -07:00
Ferdinand Holzer
4378283f95
surface connection error as connection context cancelation cause ( #3961 )
...
* connection: surface connection error as connection context cancellation cause
* docs: add note about connection context canellation cause
2023-07-17 21:31:31 -07:00
Marten Seemann
ab192a084d
http3: reject negative values for the Content-Length header ( #3966 )
2023-07-17 19:23:54 -07:00
Marten Seemann
c4b3d979bd
http3: reject header field values with invalid characters ( #3967 )
2023-07-17 18:56:29 -07:00
Marten Seemann
baee8184fc
http3: reject header field names with invalid characters ( #3965 )
2023-07-17 18:33:24 -07:00
Marten Seemann
3edacebff0
http3: reject header field that contain non-lowercase characters ( #3964 )
2023-07-17 18:16:01 -07:00
Marten Seemann
8ac22a9483
http3: set the Content-Length header in the http.Request.Header map ( #3963 )
2023-07-16 19:26:15 -07:00
Marten Seemann
3dea8f8a9b
http3: don't send more than http.Request.ContentLength bytes ( #3960 )
2023-07-16 19:16:52 -07:00
WeidiDeng
de8d7a32b8
http3: return http.ErrContentLength when writing too large response ( #3953 )
2023-07-12 23:20:35 -07:00
WeidiDeng
9e7fa4773a
http3: implement FlushError for the response writer ( #3951 )
...
* implement FlushError interface for http3 response writer
* move where to log flush error
2023-07-12 20:40:53 -07:00
Marten Seemann
418b866e32
perform send / receive buffer increases when setting up the connection ( #3949 )
...
The UDP send and receive buffer is now increased when calling
OptimizeConn.
2023-07-12 10:54:20 -07:00
WeidiDeng
2c4371b6a9
http3: add Date response header if not set ( #3952 )
...
* automatically add date header if not already set
* improve comment for Date header
---------
Co-authored-by: Marten Seemann <martenseemann@gmail.com >
2023-07-12 10:30:33 -07:00
WeidiDeng
f97c9bf88c
http3: don't write response headers if the handler panicked ( #3950 )
2023-07-12 09:32:33 -07:00
Marten Seemann
fcf8d4b3ff
http3: validate Host header before sending ( #3948 )
2023-07-11 23:27:24 -07:00