aboutsummaryrefslogtreecommitdiffstats
path: root/english/security/oval
diff options
context:
space:
mode:
authorCarsten Schoenert <c.schoenert@t-online.de>2023-08-28 12:46:35 +0530
committerThomas Lange <lange@debian.org>2023-12-02 16:47:00 +0100
commit6073fd723a6f0e38b77c6f47eaabd911057dc9fb (patch)
tree0a22e6f627bacdd53c44d2eef2e0cfdcbb2d7a78 /english/security/oval
parente939920af600239c7e9baab208361985345ea101 (diff)
generator.py: Use two empty lines before functions
Diffstat (limited to 'english/security/oval')
-rw-r--r--english/security/oval/oval/definition/generator.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/english/security/oval/oval/definition/generator.py b/english/security/oval/oval/definition/generator.py
index 3164b314af0..4103a5ada96 100644
--- a/english/security/oval/oval/definition/generator.py
+++ b/english/security/oval/oval/definition/generator.py
@@ -33,9 +33,11 @@ nsmap = {
class OvalGeneratorException(Exception):
pass
+
class CVEFormatException(OvalGeneratorException):
code = 1
+
def __createXMLElement(name, descr=None, attrs={}, nsmap={}):
"""
Create XML element with text descr and attributes attrs
@@ -57,6 +59,7 @@ def __createXMLElement(name, descr=None, attrs={}, nsmap={}):
return element
+
namespace = "oval:org.debian.oval"
tests = __createXMLElement("tests")
objects = __createXMLElement("objects")
@@ -71,9 +74,11 @@ testsHash = {"arch": {}, "release": {}, "obj": {}, "fileSte": {}, "unameSte": {}
#We need more info about alpha, arm, hppa, bmips, lmips
unameArchTable = {'i386': 'i686', 'amd64': 'x86-64', 'ia64': 'ia64', 'powerpc': 'ppc', 's390': 's390x', 'm86k': 'm86k'}
+
def getOvalId(key):
return int.from_bytes(hashlib.md5(key.encode()).digest(), 'big')
+
def __getNewId(type):
"""Generate new unique id for tests, objects or states
@@ -98,6 +103,7 @@ def __getNewId(type):
return result
+
def __createOVALDpkginfoObject(name):
""" Generate OVAL dpkginfo_object definition """
@@ -114,6 +120,7 @@ def __createOVALDpkginfoObject(name):
return testsHash["obj"][name]
+
def __createOVALTextfilecontentObject(pattern, path="/etc", filename="debian_version"):
""" Generate OVAL textfilecontent54_object definition """
name = path + filename + pattern
@@ -134,6 +141,7 @@ def __createOVALTextfilecontentObject(pattern, path="/etc", filename="debian_ver
return testsHash["obj"][name]
+
def __createOVALUnameObject():
""" Generate OVAL uname_object definition """
name = "uname_object"
@@ -150,6 +158,7 @@ def __createOVALUnameObject():
return testsHash["obj"][name]
+
def __getEvr(value):
""" Generate evr from version
@@ -159,6 +168,7 @@ def __getEvr(value):
value = "0:"+value
return value
+
def __createOVALState(value, operation="less than"):
""" Generate OVAL state definition
@@ -181,6 +191,7 @@ def __createOVALState(value, operation="less than"):
return testsHash["dpkgSte"][operation][value]
+
def __createOVALUnameState(field, value, operation="equals"):
""" Generate OVAL uname state definition
@@ -208,6 +219,7 @@ def __createOVALUnameState(field, value, operation="equals"):
return testsHash["unameSte"][operation][value]
+
def __createOVALTextfilecontentState(value, operation="equals"):
""" Generate OVAL state definition
@@ -229,6 +241,7 @@ def __createOVALTextfilecontentState(value, operation="equals"):
return testsHash["fileSte"][operation][value]
+
def __createDPKGTest(name, version):
""" Generate OVAL DPKG test """
@@ -247,6 +260,7 @@ def __createDPKGTest(name, version):
return ref
+
def __createTest(testType, value):
""" Generate OVAL test for release or architecture cases"""
@@ -292,6 +306,7 @@ def __createTest(testType, value):
return testsHash[testType][value]
+
def __createGeneratorHeader():
"""
Create OVAL definitions XML generator element.
@@ -307,6 +322,7 @@ def __createGeneratorHeader():
return generator
+
def createPlatformDefinition(release, data, cve):
""" Generate OVAL definitions for current release
@@ -405,6 +421,7 @@ def createPlatformDefinition(release, data, cve):
return softwareCriteria
+
def createDefinition(cve, oval):
""" Generate OVAL header of Definition tag
@@ -498,6 +515,7 @@ def createDefinition(cve, oval):
return definition
+
def createOVALDefinitions(ovals):
""" Generate XML OVAL definition tree for range of CVE
@@ -532,6 +550,7 @@ def createOVALDefinitions(ovals):
return root
+
def printOVALDefinitions(root):
if len(root.find("definitions")):
print(etree.tostring(root, pretty_print=True, encoding='UTF-8', xml_declaration=True).decode('utf-8'))

© 2014-2024 Faster IT GmbH | imprint | privacy policy