ssg.oval module

Common functions for processing OVAL in SSG

ssg.oval.applicable_platforms(oval_file, oval_version_string=None)[source]

Returns the applicable platforms for a given OVAL file.

This function processes an OVAL file to extract the platforms it applies to. It uses a specified OVAL version string or a default version if none is provided. The function constructs an XML tree from the OVAL file and extracts platform information from it.

Args:

oval_file (str): The path to the OVAL file to be processed. oval_version_string (str, optional): The OVAL version string to be used.

If not provided, a default version is used.

Returns:

list: A list of platforms that the OVAL file applies to.

Raises:

Exception: If there is an error while parsing the OVAL file.

ssg.oval.parse_affected(oval_contents)[source]

Returns the tuple (start_affected, end_affected, platform_indents) for the passed OVAL file contents.

Args: oval_contents (list of str): The contents of the OVAL file, where each element is a line from

the file.

Returns:
tuple: A tuple containing:
  • start_affected (int): The line number of the starting <affected> tag.

  • end_affected (int): The line number of the closing </affected> tag.

  • platform_indents (str): The indenting characters before the contents of the <affected> element.

Raises:
ValueError: If the OVAL file does not contain a single <affected> element, if the start

tag is after the end tag, or if the tags contain other elements.