Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/CISOfy/lynis.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Boelen <michael.boelen@cisofy.com>2020-10-16 14:02:01 +0300
committerMichael Boelen <michael.boelen@cisofy.com>2020-10-16 14:02:01 +0300
commitba1cff941fdc41c06f2cabe494cac3420144e92b (patch)
tree4f92444b415ee8b78680e4d12fe5db86e647275b /include/tests_kernel
parent21b5493a1cb679d68e3da15ffdfc4f0a46a76776 (diff)
Improved detection of kernel by ignoring known incorrect values
Diffstat (limited to 'include/tests_kernel')
-rw-r--r--include/tests_kernel12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/tests_kernel b/include/tests_kernel
index 011d02c6..7bd11e59 100644
--- a/include/tests_kernel
+++ b/include/tests_kernel
@@ -680,8 +680,19 @@
elif [ -f "${FOUND_VMLINUZ}" ]; then
VERSION_ON_DISK=$(echo ${FOUND_VMLINUZ} | ${SEDBINARY} 's#^/boot/##' | ${SEDBINARY} 's/^vmlinuz-//')
LogText "Result: version derived from file name is '${VERSION_ON_DISK}'"
+
fi
+ # Data check: perform reset if we found a version but looks incomplete
+ # Example: Arch Linux will return only 'linux' as its version after it discovered /boot/vmlinuz-linux
+ case ${VERSION_ON_DISK} in
+ "linux" | "linux-lts")
+ LogText "Result: reset of version (${VERSION_ON_DISK}) as it looks incomplete"
+ VERSION_ON_DISK=""
+ ;;
+ esac
+
+ # If we did not find the version yet, see if we can extract it from the magic data that 'file' returns
if [ -z "${VERSION_ON_DISK}" ]; then
LogText "Test: checking kernel version on disk"
NEXTLINE=0
@@ -697,6 +708,7 @@
done
fi
+ # Last check if we finally got a version or not
if [ -z "${VERSION_ON_DISK}" ]; then
LogText "Result: could not find the version on disk"
ReportException "${TEST_NO}:4" "Could not find the kernel version"