Use 3 numbers in the VersionCheck constructor
[kconfig-hardened-check.git] / kernel_hardening_checker / engine.py
index 64be2043b3f679c1d577dd92e4334ecbd1d794af..f52c446294f147dd00fd7934bcb1a7eb3f78d91e 100644 (file)
@@ -1,4 +1,4 @@
-#!/usr/bin/python3
+#!/usr/bin/env python3
 
 """
 This tool is for checking the security hardening options of the Linux kernel.
@@ -57,6 +57,10 @@ class OptCheck:
         self.state = None
         self.result = None
 
+    @property
+    def type(self):
+        return None
+
     def check(self):
         # handle the 'is present' check
         if self.expected == 'is present':
@@ -104,7 +108,7 @@ class OptCheck:
 class KconfigCheck(OptCheck):
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
-        self.name = 'CONFIG_' + self.name
+        self.name = f'CONFIG_{self.name}'
 
     @property
     def type(self):
@@ -125,7 +129,7 @@ class SysctlCheck(OptCheck):
 
 class VersionCheck:
     def __init__(self, ver_expected):
-        assert(ver_expected and isinstance(ver_expected, tuple) and len(ver_expected) == 2), \
+        assert(ver_expected and isinstance(ver_expected, tuple) and len(ver_expected) == 3), \
                f'invalid version "{ver_expected}" for VersionCheck'
         self.ver_expected = ver_expected
         self.ver = ()
@@ -179,7 +183,8 @@ class ComplexOptCheck:
 
     def table_print(self, mode, with_results):
         if mode == 'verbose':
-            print(f'    {"<<< " + self.__class__.__name__ + " >>>":87}', end='')
+            class_name = f'<<< {self.__class__.__name__} >>>'
+            print(f'    {class_name:87}', end='')
             if with_results:
                 print(f'| {colorize_result(self.result)}', end='')
             for o in self.opts: