Commit Graph

36 Commits

Author SHA1 Message Date
gr1ffon
4ba42a8456 replace repo 2025-11-14 04:04:40 +03:00
Jannis Seemann
9ae5267916 fuzzing: fix timeout in frame parser (#5268) 2025-07-22 17:45:00 +02:00
Marten Seemann
06e31852cb wire: implement parsing and writing of the ACK_FREQUENCY frame (#5264)
* implement parsing and writing of the ACK_FREQUENCY frame

* prevent overflows of Request Max Ack Delay

* fix fuzzer
2025-07-21 15:35:06 +02:00
Jannis Seemann
c2e784aaf2 wire: optimize parsing logic for STREAM, DATAGRAM and ACK frames (#5227)
ParseOtherFrames-16       148ns ± 4%     150ns ± 3%     ~     (p=0.223 n=8+8)
ParseAckFrame-16          302ns ± 2%     298ns ± 3%     ~     (p=0.246 n=8+8)
ParseStreamFrame-16       262ns ± 3%     213ns ± 2%  -18.61%  (p=0.000 n=8+8)
ParseDatagramFrame-16     561ns ± 5%     547ns ± 4%     ~     (p=0.105 n=8+8)
2025-07-20 13:14:38 +02:00
Marten Seemann
08be0f73c0 ci: stop using Ginkgo test command (#5194)
* ci: stop using Ginkgo test command

* ci: remove integrationtest directory for unit tests
2025-06-02 04:38:05 +02:00
Marten Seemann
cb5c3f2aad implement parsing and writing of RESET_STREAM_AT frames (#5155)
* implement parsing and writing of RESET_STREAM_AT frames

* wire: add support for parsing RESET_STREAM_AT frames
2025-05-28 05:49:54 +02:00
Marten Seemann
267cca773b switch from math/rand to math/rand/v2 (#5045)
* switch from math/rand to math/rand/v2

* switch away from golang.org/x/exp/rand
2025-04-19 09:01:22 +02:00
Marten Seemann
202dddd51e wire: implement frame classification into probing / non-probing (#4901)
* wire: implement frame classification into probing / non-probing

* wire: consolidate files

* check if frame is ack eliciting and path probing in frames fuzz test
2025-01-21 14:26:04 +08:00
Marten Seemann
6ffb9054a2 fuzzing: add frame validation logic (#4206) 2023-12-13 23:09:02 -08:00
Marten Seemann
0662afba63 stop using math/rand.Seed and Read in tests, bump go.mod version to 1.20 (#3936) 2023-07-01 11:29:41 -07:00
Marten Seemann
30527c58c2 frame fuzzer: handle frames one by one (#3884)
This more closely matches what the connection does.
2023-06-13 13:44:25 -07:00
Marten Seemann
1f57d4e789 protocol: remove VersionTLS, used during the gQUIC -> TLS 1.3 transition (#3764) 2023-04-19 07:24:34 -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
ef28f4667f refactor frame parser to remove version parameter from constructor 2023-01-18 20:51:58 +13:00
Marten Seemann
dfd35cb071 use a single bytes.Reader for frame parsing (#3536) 2022-09-01 01:06:50 -07:00
Marten Seemann
1aced95d41 use an array instead of a byte slice for Connection IDs 2022-08-29 11:30:31 +03:00
Marten Seemann
ab6d664b43 rename frame.Write to frame.Append 2022-08-28 23:18:24 +03:00
Marten Seemann
3ca1001951 append to a byte slice instead of a bytes.Buffer when serializing frames 2022-08-28 23:18:06 +03: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
90727cb41a introduce a quic.StreamError type and use it for stream cancelations 2021-05-01 09:39:52 +07:00
Marten Seemann
42b61729bd expose the TransportError and the ApplicationError 2021-05-01 09:38:49 +07:00
Marten Seemann
592fb9cad9 introduce a dedicated qerr.TransportError and qerr.ApplicationError 2021-05-01 09:38:48 +07:00
Marten Seemann
fd41e8fa62 reject DATAGRAM frames if datagram support is not enabled 2020-12-09 15:31:23 +07:00
Marten Seemann
13fa0bcdd1 implement writing of ACK frames containing ECN counts 2020-09-14 17:01:34 +07:00
Marten Seemann
5090dd6199 use the fuzzing helper functions to generate the frames seed corpus 2020-08-25 15:06:01 +07:00
Marten Seemann
720f81ce2a use the correct return values in Fuzz() functions 2020-08-08 15:26:52 +07:00
Marten Seemann
ec0949c18e remove the gofuzz build flag 2020-08-06 14:55:39 +07:00
Marten Seemann
a1bb39d6ab introduce a protocol.StatelessResetToken 2020-07-10 19:55:20 +07:00
Marten Seemann
838dd6e81a rename StreamFrame.FinBit to Fin 2020-07-02 16:41:43 +07:00
Marten Seemann
865332015c rename ResetStreamFrame.ByteOffset to FinalSize 2020-07-02 16:41:43 +07:00
Marten Seemann
cc340b2887 rename StreamDataBlockedFrame.DataLimit to MaximumStreamData 2020-07-02 16:41:43 +07:00
Marten Seemann
fa07078d81 rename DataBlockedFrame.DataLimit to MaximumData 2020-07-02 16:41:43 +07:00
Marten Seemann
5466de6565 rename MaxStreamDataFrame.ByteOffset to MaximumStreamData 2020-07-02 16:41:43 +07:00
Marten Seemann
f4519cfd32 rename MaxDataFrame.ByteOffset to MaximumData 2020-07-02 16:41:43 +07:00
Marten Seemann
5ea33cd31e implement a buffer pool for STREAM frames 2019-09-04 16:55:30 +07:00
Marten Seemann
20557738a0 fuzz the frame parser 2019-08-24 08:54:56 +07:00