diff --git a/src/main/java/com/rapid7/container/analyzer/docker/os/Fingerprinter.java b/src/main/java/com/rapid7/container/analyzer/docker/os/Fingerprinter.java index 958e617..86ab8db 100644 --- a/src/main/java/com/rapid7/container/analyzer/docker/os/Fingerprinter.java +++ b/src/main/java/com/rapid7/container/analyzer/docker/os/Fingerprinter.java @@ -73,10 +73,10 @@ private OperatingSystem parseOsRelease(InputStream input, String architecture) t String value = matcher.group("value"); switch (name) { case "ID": + case "DISTRIB_ID": id = value.replaceAll("\"", "").toLowerCase(); break; case "NAME": - case "DISTRIB_ID": product = value.replaceAll("\"", ""); break; case "VERSION_ID": diff --git a/src/test/java/com/rapid7/container/analyzer/docker/os/FingerprinterTest.java b/src/test/java/com/rapid7/container/analyzer/docker/os/FingerprinterTest.java index 342a401..9ff929b 100644 --- a/src/test/java/com/rapid7/container/analyzer/docker/os/FingerprinterTest.java +++ b/src/test/java/com/rapid7/container/analyzer/docker/os/FingerprinterTest.java @@ -118,4 +118,18 @@ void parseUbuntu() throws IOException { assertEquals("16.04", os.getVersion()); assertEquals("Ubuntu Linux 16.04", os.getDescription()); } + + @Test + void parseUbuntuLsbRelease() throws IOException { + // Given + Fingerprinter fp = new Fingerprinter(); + + // When + OperatingSystem os = fp.parse(FingerprinterTest.class.getResourceAsStream("ubuntu-lsb-release.txt"), "/etc/lsb-release", "x86_64"); + + // Then + assertEquals("Ubuntu", os.getVendor()); + assertEquals("16.04", os.getVersion()); + assertEquals("Ubuntu Linux 16.04", os.getDescription()); + } } diff --git a/src/test/resources/com/rapid7/container/analyzer/docker/os/ubuntu-lsb-release.txt b/src/test/resources/com/rapid7/container/analyzer/docker/os/ubuntu-lsb-release.txt new file mode 100644 index 0000000..c399026 --- /dev/null +++ b/src/test/resources/com/rapid7/container/analyzer/docker/os/ubuntu-lsb-release.txt @@ -0,0 +1,4 @@ +DISTRIB_ID=Ubuntu +DISTRIB_RELEASE=16.04 +DISTRIB_CODENAME=xenial +DISTRIB_DESCRIPTION="Ubuntu 16.04.6 LTS"