From dd351c55e9c9e0034350079ff2300c3bec7e1f5d Mon Sep 17 00:00:00 2001 From: Philippe Antoine Date: Fri, 21 Feb 2025 10:36:59 +0100 Subject: [PATCH] quic: add tests with multiple retry packets Ticket: 7556 The second retry packet must be discarded --- tests/quic-retry-multiple/README.md | 11 +++++++++++ tests/quic-retry-multiple/input.pcap | Bin 0 -> 43467 bytes tests/quic-retry-multiple/test.yaml | 26 ++++++++++++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 tests/quic-retry-multiple/README.md create mode 100644 tests/quic-retry-multiple/input.pcap create mode 100644 tests/quic-retry-multiple/test.yaml diff --git a/tests/quic-retry-multiple/README.md b/tests/quic-retry-multiple/README.md new file mode 100644 index 000000000..9794a1802 --- /dev/null +++ b/tests/quic-retry-multiple/README.md @@ -0,0 +1,11 @@ +# Description + +Test quic parsing with retry packets, with a second retry packet that is discarded by the client + +# Ticket + +https://redmine.openinfosecfoundation.org/issues/7556 + +# PCAP + +The pcap comes from https://redmine.openinfosecfoundation.org/issues/7556 diff --git a/tests/quic-retry-multiple/input.pcap b/tests/quic-retry-multiple/input.pcap new file mode 100644 index 0000000000000000000000000000000000000000..843836c60e888e6fc50bbdcbc0fac9921ce6b7c0 GIT binary patch literal 43467 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 NQf}OLW^9L${{cl!TiE~r literal 0 Hc-jL100001 diff --git a/tests/quic-retry-multiple/test.yaml b/tests/quic-retry-multiple/test.yaml new file mode 100644 index 000000000..83754bb50 --- /dev/null +++ b/tests/quic-retry-multiple/test.yaml @@ -0,0 +1,26 @@ +requires: + min-version: 8 + +checks: + - filter: + count: 1 + match: + event_type: quic + pcap_cnt: 2 + quic.extensions[0].name: "extended_master_secret" + - filter: + count: 1 + match: + event_type: quic + pcap_cnt: 5 + quic.extensions[0].name: "extended_master_secret" + - filter: + count: 1 + match: + event_type: quic + pcap_cnt: 8 + quic.extensions[0].name: "supported_versions" + - filter: + count: 0 + match: + event_type: anomaly -- 2.47.2