From e03d253068ccbe5696ad7e1b991a30fc83088f93 Mon Sep 17 00:00:00 2001 From: tomersein Date: Fri, 9 Aug 2024 18:25:45 +0300 Subject: [PATCH 1/4] add kar Signed-off-by: tomersein --- syft/pkg/cataloger/java/archive_filename.go | 2 +- syft/pkg/cataloger/java/archive_filename_test.go | 7 +++++++ syft/pkg/cataloger/java/archive_parser.go | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/syft/pkg/cataloger/java/archive_filename.go b/syft/pkg/cataloger/java/archive_filename.go index 084371499d9..cc377e43874 100644 --- a/syft/pkg/cataloger/java/archive_filename.go +++ b/syft/pkg/cataloger/java/archive_filename.go @@ -108,7 +108,7 @@ func (a archiveFilename) extension() string { func (a archiveFilename) pkgType() pkg.Type { switch strings.ToLower(a.extension()) { - case "jar", "war", "ear", "lpkg", "par", "sar", "nar": + case "jar", "war", "ear", "lpkg", "par", "sar", "nar", "kar": return pkg.JavaPkg case "jpi", "hpi": return pkg.JenkinsPluginPkg diff --git a/syft/pkg/cataloger/java/archive_filename_test.go b/syft/pkg/cataloger/java/archive_filename_test.go index 5752e7d1ad3..6863bddcd8b 100644 --- a/syft/pkg/cataloger/java/archive_filename_test.go +++ b/syft/pkg/cataloger/java/archive_filename_test.go @@ -86,6 +86,13 @@ func TestExtractInfoFromJavaArchiveFilename(t *testing.T) { name: "pkg-extra-field-maven", ty: pkg.JavaPkg, }, + { + filename: "pkg-extra-field-maven-4.3.2-rc1.kar", + version: "4.3.2-rc1", + extension: "nar", + name: "pkg-extra-field-maven", + ty: pkg.JavaPkg, + }, { filename: "/some/path/pkg-extra-field-maven-4.3.2-rc1.jpi", version: "4.3.2-rc1", diff --git a/syft/pkg/cataloger/java/archive_parser.go b/syft/pkg/cataloger/java/archive_parser.go index 663563c613d..1de3ab80abe 100644 --- a/syft/pkg/cataloger/java/archive_parser.go +++ b/syft/pkg/cataloger/java/archive_parser.go @@ -31,6 +31,7 @@ var archiveFormatGlobs = []string{ "**/*.nar", "**/*.jpi", "**/*.hpi", + "**/*.kar", "**/*.lpkg", // Zip-compressed package used to deploy applications // (aka plugins) to Liferay Portal server. Those files contains .JAR(s) and a .PROPERTIES file, the latter // has information about the application and installation requirements. From 4616d72bbb04a04aaeb01f5c868dc45dc296308e Mon Sep 17 00:00:00 2001 From: tomersein Date: Fri, 9 Aug 2024 18:36:24 +0300 Subject: [PATCH 2/4] add kar Signed-off-by: tomersein --- syft/pkg/cataloger/java/archive_filename_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syft/pkg/cataloger/java/archive_filename_test.go b/syft/pkg/cataloger/java/archive_filename_test.go index 6863bddcd8b..98560491261 100644 --- a/syft/pkg/cataloger/java/archive_filename_test.go +++ b/syft/pkg/cataloger/java/archive_filename_test.go @@ -89,7 +89,7 @@ func TestExtractInfoFromJavaArchiveFilename(t *testing.T) { { filename: "pkg-extra-field-maven-4.3.2-rc1.kar", version: "4.3.2-rc1", - extension: "nar", + extension: "kar", name: "pkg-extra-field-maven", ty: pkg.JavaPkg, }, From 4774f5a344d9fc5361a3bfdce557fe80a3e74c4c Mon Sep 17 00:00:00 2001 From: tomersein Date: Fri, 9 Aug 2024 22:41:33 +0300 Subject: [PATCH 3/4] add kar Signed-off-by: tomersein --- syft/pkg/cataloger/java/cataloger_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/syft/pkg/cataloger/java/cataloger_test.go b/syft/pkg/cataloger/java/cataloger_test.go index da524fc5ba3..84ba1ea91db 100644 --- a/syft/pkg/cataloger/java/cataloger_test.go +++ b/syft/pkg/cataloger/java/cataloger_test.go @@ -23,6 +23,7 @@ func Test_ArchiveCataloger_Globs(t *testing.T) { "java-archives/example.par", "java-archives/example.sar", "java-archives/example.nar", + "java-archives/example.kar", "java-archives/example.jpi", "java-archives/example.hpi", "java-archives/example.lpkg", From dd477e282c8ea8267b85302f0bcbe5c29f046d55 Mon Sep 17 00:00:00 2001 From: tomersein Date: Fri, 9 Aug 2024 22:54:28 +0300 Subject: [PATCH 4/4] add kar Signed-off-by: tomersein --- .../java/test-fixtures/glob-paths/java-archives/example.kar | 1 + 1 file changed, 1 insertion(+) create mode 100644 syft/pkg/cataloger/java/test-fixtures/glob-paths/java-archives/example.kar diff --git a/syft/pkg/cataloger/java/test-fixtures/glob-paths/java-archives/example.kar b/syft/pkg/cataloger/java/test-fixtures/glob-paths/java-archives/example.kar new file mode 100644 index 00000000000..0b3d595db9f --- /dev/null +++ b/syft/pkg/cataloger/java/test-fixtures/glob-paths/java-archives/example.kar @@ -0,0 +1 @@ +example archive \ No newline at end of file