diff options
Diffstat (limited to 'kernellib.py')
-rwxr-xr-x | kernellib.py | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/kernellib.py b/kernellib.py index 21921b3..d28323c 100755 --- a/kernellib.py +++ b/kernellib.py @@ -46,6 +46,8 @@ REGEX = { 'r_kernel' : re.compile(r'^r\d{1,3}$') } +SUPPORTED = ['gentoo', 'git', 'hardened'] + KERNEL_TYPES = [ 'aa', 'acpi', 'ac', 'alpha', 'arm', 'as', 'cell', 'ck', 'compaq', 'crypto', 'development', 'gaming','gentoo-dev', 'gentoo', 'gentoo-test', 'gfs', @@ -212,6 +214,7 @@ class Kernel: revision = str() source = str() version = str() + genpatch = None def __init__(self, source): self.source = source @@ -222,8 +225,9 @@ class Kernel: def __eq__(self, other): - return (''.join((self.revision, self.source, self.version)) - == ''.join((other.revision, other.source, other.version))) + return (''.join((self.revision, self.source, self.version, + str(self.genpatch))) == ''.join((other.revision, + other.source, other.version, str(other.genpatch)))) def __ne__(self, other): @@ -668,7 +672,7 @@ def find_cve(cve, directory): return None -def eval_cve_files(directory, kernel, kernel_gp, arch): +def eval_cve_files(directory, kernel, arch): 'Returns a vulnerabilty evaluation' files = parse_cve_files(directory) @@ -687,7 +691,7 @@ def eval_cve_files(directory, kernel, kernel_gp, arch): else: evaluation.arch += 1 - if is_affected(item.affected, kernel, kernel_gp, item): + if is_affected(item.affected, kernel, item): evaluation.affected.append(item) else: evaluation.unaffected.append(item) @@ -695,10 +699,10 @@ def eval_cve_files(directory, kernel, kernel_gp, arch): return evaluation -def is_affected(interval_list, kernel, kernel_gp, item): #TODO Remove item +def is_affected(interval_list, kernel, item): #TODO Remove item 'Returns true if a kernel is affected' - kernel_gentoo = (kernel.source == 'gentoo' and kernel_gp is not None) + kernel_gentoo = (kernel.source == 'gentoo' and kernel.genpatch is not None) kernel_affected = False kernel_linux_affected = False kernel_gp_affected = False @@ -710,7 +714,7 @@ def is_affected(interval_list, kernel, kernel_gp, item): #TODO Remove item if interval.name == 'genpatches': gentoo_interval = True if kernel_gentoo: - if is_in_interval(interval, kernel_gp, item): + if is_in_interval(interval, kernel.genpatch, item): kernel_gp_affected = True elif interval.name == 'linux': |