From 80e61175ad6f6055dd5585474b27824f4cfa729a Mon Sep 17 00:00:00 2001 From: honigbot <34426443+honigbot@users.noreply.github.com> Date: Tue, 12 Aug 2025 16:30:41 +0200 Subject: [PATCH] fix: support multiple letters in openssl patch version (#4106) Signed-off-by: honigbot --- .../cataloger/binary/classifier_cataloger_test.go | 11 +++++++++++ syft/pkg/cataloger/binary/classifiers.go | 2 +- .../snippets/openssl/1.1.1zb/linux-arm64/openssl | Bin 0 -> 350 bytes 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 syft/pkg/cataloger/binary/test-fixtures/classifiers/snippets/openssl/1.1.1zb/linux-arm64/openssl diff --git a/syft/pkg/cataloger/binary/classifier_cataloger_test.go b/syft/pkg/cataloger/binary/classifier_cataloger_test.go index 69bce23a5..4f930f52d 100644 --- a/syft/pkg/cataloger/binary/classifier_cataloger_test.go +++ b/syft/pkg/cataloger/binary/classifier_cataloger_test.go @@ -1183,6 +1183,17 @@ func Test_Cataloger_PositiveCases(t *testing.T) { Metadata: metadata("openssl-binary"), }, }, + { + logicalFixture: "openssl/1.1.1zb/linux-arm64", + expected: pkg.Package{ + Name: "openssl", + Version: "1.1.1zb", + Type: "binary", + PURL: "pkg:generic/openssl@1.1.1zb", + Locations: locations("openssl"), + Metadata: metadata("openssl-binary"), + }, + }, { logicalFixture: "gcc/12.3.0/linux-amd64", expected: pkg.Package{ diff --git a/syft/pkg/cataloger/binary/classifiers.go b/syft/pkg/cataloger/binary/classifiers.go index b680c2c2a..f7df60222 100644 --- a/syft/pkg/cataloger/binary/classifiers.go +++ b/syft/pkg/cataloger/binary/classifiers.go @@ -493,7 +493,7 @@ func DefaultClassifiers() []binutils.Classifier { EvidenceMatcher: m.FileContentsVersionMatcher( // [NUL]OpenSSL 3.1.4' // [NUL]OpenSSL 1.1.1w' - `\x00OpenSSL (?P[0-9]+\.[0-9]+\.[0-9]+([a-z]|-alpha[0-9]|-beta[0-9]|-rc[0-9])?)`, + `\x00OpenSSL (?P[0-9]+\.[0-9]+\.[0-9]+([a-z]+|-alpha[0-9]|-beta[0-9]|-rc[0-9])?)`, ), Package: "openssl", PURL: mustPURL("pkg:generic/openssl@version"), diff --git a/syft/pkg/cataloger/binary/test-fixtures/classifiers/snippets/openssl/1.1.1zb/linux-arm64/openssl b/syft/pkg/cataloger/binary/test-fixtures/classifiers/snippets/openssl/1.1.1zb/linux-arm64/openssl new file mode 100644 index 0000000000000000000000000000000000000000..2361e4478a9e7b6537e530a5bc4b88456ddd634d GIT binary patch literal 350 zcmXw!&2GaW5QKB)DOQRiwTDKq7%+Z@NICck_*qgU7c4_trB7d1O?Hm^&1j~$51OE^ zR9ahDO{r0zKv^6uvW3d6zfT~LvsUuDQlH-)Dm{TuO8Jzml7m&oAm=;?ZC&I+MroXj zQfgtyj05h36Lyf^QjkLmYB#Zz7kY;25uMS}L{dr^BZQGcpf?e@86z5Jog~eLc8YL^ zy_IP|F69svjxjNIJRZT{JHewS^a`miOZ|rZ#X4;bZuyJKnH?T?-8awk1;lyRj|UJM zuAu{R9R83~gO^M8o7?UaoZ9QtSl6CwX%oPI&`cC_xk0O+TcGIxwY{~KLQXmS0&Lb^ A0RR91 literal 0 HcmV?d00001