28 Commits

Author SHA1 Message Date
gr1ffon
4ba42a8456 replace repo 2025-11-14 04:04:40 +03:00
Marten Seemann
378d867241 http3: qlog reserved, unsupported and unknown frames (#5381) 2025-10-12 14:11:54 +02:00
Marten Seemann
b7d987f5e4 http3: qlog the frame length and payload length of parsed frames (#5380) 2025-10-12 10:58:32 +02:00
Marten Seemann
ce12204bc3 http3: qlog sent and received SETTINGS frames (#5379)
* http3: implement qlog serialization for SETTINGS frames

* http3: qlog sent and received SETTINGS frames
2025-10-12 07:16:37 +02:00
Marten Seemann
cd4b1307db http3: move qlogging of frames into the frame parser (#5378) 2025-10-12 06:40:24 +02:00
Marten Seemann
66e5c5ebaa replace interface{} with any (#5290)
No functional change expected.
2025-08-16 07:21:18 +02:00
Marten Seemann
9580396fa1 http3: simplify connection closing in the frame parser (#5196)
No functional change expected.
2025-06-07 07:21:53 +02:00
Marten Seemann
eaa879f32f http3: send GOAWAY when server is shutting down (#4691)
* send goaway when server is shutting down

* http3: track next stream ID instead of last stream ID for GOAWAYs

* refactor the graceful shutdown integration tests

* http3: improve GOAWAY frame parsing tests

* http3: simplify server graceful shutdown logic

* http3: simplify parsing of GOAWAY frames

* http3: clean up initialization of server contexts

* http3: fix race condition in graceful shutdown logic

---------

Co-authored-by: WeidiDeng <weidi_deng@icloud.com>
2024-10-11 21:47:17 -07:00
Marten Seemann
a3d36f1cbb http3: reject reserved frame types (#4467) 2024-05-04 15:23:40 -07:00
Marten Seemann
6325696fde quicvarint: use int return value instead of internal protocol.ByteCount (#4356) 2024-03-19 14:56:55 -07:00
Marten Seemann
9813766373 http3: send SETTINGS_ENABLE_CONNECT_PROTOCOL (for Extended CONNECT) (#4341) 2024-03-02 23:15:59 -08: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
Marten Seemann
58cedf7a4f rename module, adjust import paths to quic-go/quic-go (#3680) 2023-01-21 19:53:57 -08:00
Marten Seemann
62b82789c0 http3: reduce usage of bytes.Buffer (#3539) 2022-09-01 06:39:21 -07:00
Marten Seemann
498475fa60 update golangci-lint action to v3, golangci-lint to v1.48.0 (#3499)
* run gofmt -s -w

* stop using the deprecated io/ioutil package

* update golangci-lint action to v3, golangci-lint to v1.48.0
2022-08-10 09:50:48 -07:00
Marten Seemann
96c0daceca pass frame / stream type parsing errors to the hijacker callbacks
When a stream is reset, we might not have received the frame / stream
type yet. The callback might be able to identify if it was a stream
intended for that application by analyzing the stream reset error.
2022-05-27 17:53:54 +02:00
Marten Seemann
5cb2e8265c fix handling of unknown frames in the stream hijacker 2022-05-27 17:35:00 +02: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
0d5440a024 update HTTP/3 Datagram to draft-ietf-masque-h3-datagram-07 (#3355) 2022-03-25 01:44:12 -07: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
4725ddebf3 avoid recursion when skipping unknown HTTP/3 frames (#3354) 2022-03-22 08:48:17 -07:00
Randy Reddig
346bd63a60 quicvarint: add Reader and Writer interfaces (#3233) 2021-08-05 10:49:17 -07:00
Marten Seemann
f9226887b4 rename ReadVarint / WriteVarInt / VarIntLen to Read / Write / Len 2021-01-02 00:15:07 +08:00
Marten Seemann
11c5045065 move varint encoding / decoding to a separate package
... which is not internal.
2021-01-01 11:46:45 +08:00
Marten Seemann
aaf1d381d3 implement parsing and writing of the H3_DATAGRAM setting 2020-12-23 15:06:04 +07:00
Marten Seemann
4719852db6 remove HTTP/3 PRIORITY frame 2019-10-25 09:00:46 +07:00
Marten Seemann
4f6d0e651a implement HTTP/3 2019-04-11 09:06:10 +09:00