Fix the sysctl.conf test at github
authorAlexander Popov <alex.popov@linux.com>
Sun, 6 Oct 2024 18:36:55 +0000 (21:36 +0300)
committerAlexander Popov <alex.popov@linux.com>
Sun, 6 Oct 2024 18:36:55 +0000 (21:36 +0300)
.github/workflows/functional_test.sh
kernel_hardening_checker/__init__.py

index 7c1195711929ecd9aa831e94d071dd8cf4c6074f..fe232190f04f7cecffca5f6bf032c96d3946f4bb 100644 (file)
@@ -92,12 +92,15 @@ coverage run -a --branch bin/kernel-hardening-checker -s /tmp/sysctl_arch | grep
 
 echo ">>>>> check sysctl separately <<<<<"
 coverage run -a --branch bin/kernel-hardening-checker -s $SYSCTL_EXAMPLE
-coverage run -a --branch bin/kernel-hardening-checker -s /etc/sysctl.conf
 coverage run -a --branch bin/kernel-hardening-checker -s $SYSCTL_EXAMPLE -m verbose > /dev/null
 coverage run -a --branch bin/kernel-hardening-checker -s $SYSCTL_EXAMPLE -m json
 coverage run -a --branch bin/kernel-hardening-checker -s $SYSCTL_EXAMPLE -m show_ok
 coverage run -a --branch bin/kernel-hardening-checker -s $SYSCTL_EXAMPLE -m show_fail
 
+echo ">>>>> check sysctl.conf (it should not fail) <<<<<"
+cat /etc/sysctl.conf
+coverage run -a --branch bin/kernel-hardening-checker -s /etc/sysctl.conf
+
 echo ">>>>> test -v (kernel version detection) <<<<<"
 cp kernel_hardening_checker/config_files/distros/fedora_34.config ./test.config
 coverage run -a --branch bin/kernel-hardening-checker -c ./test.config -v /proc/version
index 694ffcb9df6cef3c1308548e9725039abdf3a514..dd267129f48f5952cb04bb22ddd3bcc2abd76ccb 100755 (executable)
@@ -225,7 +225,7 @@ def parse_sysctl_file(mode: StrOrNone, parsed_options: Dict[str, str], fname: st
         sysctl_pattern = re.compile(r"[a-zA-Z0-9/\._-]+ ?=.*$")
         for line in f.readlines():
             line = line.strip()
-            if line.startswith('#'):
+            if not line or line.startswith('#'):
                 continue
             if not sysctl_pattern.match(line):
                 sys.exit(f'[!] ERROR: unexpected line in sysctl file: "{line}"')