From b4fbae3b5ef92ea5fa243c7dec312c29a22b037e 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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 literal 0 HcmV?d00001 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