[PATCH] RHEL6 verify-input-sanity.py: Replace lxml.etree.XMLSyntaxError traceback with path to problematic XCCDF file. OpenStack ditto. RHEVM3 ditto.
Shawn Wells
shawn at redhat.com
Tue Sep 17 03:05:07 UTC 2013
On 9/16/13 12:12 PM, Jan Lieskovsky wrote:
> By verifying sanity of input this will substitute Python
> lxml.etree.XMLSyntaxError traceback (former state) with (more informative)
> path to problematic XCCDF file information (proposed state),
> in which XML syntax error, during parsing of that particular XML file,
> occurred. This should simplify further XML syntax correctness investigation /
> validation for those files.
>
> Signed-off-by: Jan Lieskovsky <jlieskov at redhat.com>
> ---
> OpenStack/utils/verify-input-sanity.py | 5 ++++-
> RHEL6/utils/verify-input-sanity.py | 5 ++++-
> RHEVM3/utils/verify-input-sanity.py | 5 ++++-
> 3 files changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/OpenStack/utils/verify-input-sanity.py b/OpenStack/utils/verify-input-sanity.py
> index 13046b6..1e0ec2c 100755
> --- a/OpenStack/utils/verify-input-sanity.py
> +++ b/OpenStack/utils/verify-input-sanity.py
> @@ -127,7 +127,10 @@ for xccdf_file in xccdf_xml_files:
> # form valid XML so that we can parse it
> xccdf_xml_contents = xccdf_header + infile.read() + xccdf_footer
> # parse the XML at this point
> - tree = ET.fromstring(xccdf_xml_contents)
> + try:
> + tree = ET.fromstring(xccdf_xml_contents)
> + except ET.XMLSyntaxError:
> + print " XML syntax error in file: %s" % xccdf_file.replace("./", "src/input/")
> # extract all of the rules that are defined within the XCCDF
> xccdf_rules = tree.findall(".//Rule")
> for xccdf_rule in xccdf_rules:
> diff --git a/RHEL6/utils/verify-input-sanity.py b/RHEL6/utils/verify-input-sanity.py
> index 13046b6..1e0ec2c 100755
> --- a/RHEL6/utils/verify-input-sanity.py
> +++ b/RHEL6/utils/verify-input-sanity.py
> @@ -127,7 +127,10 @@ for xccdf_file in xccdf_xml_files:
> # form valid XML so that we can parse it
> xccdf_xml_contents = xccdf_header + infile.read() + xccdf_footer
> # parse the XML at this point
> - tree = ET.fromstring(xccdf_xml_contents)
> + try:
> + tree = ET.fromstring(xccdf_xml_contents)
> + except ET.XMLSyntaxError:
> + print " XML syntax error in file: %s" % xccdf_file.replace("./", "src/input/")
> # extract all of the rules that are defined within the XCCDF
> xccdf_rules = tree.findall(".//Rule")
> for xccdf_rule in xccdf_rules:
> diff --git a/RHEVM3/utils/verify-input-sanity.py b/RHEVM3/utils/verify-input-sanity.py
> index 13046b6..1e0ec2c 100755
> --- a/RHEVM3/utils/verify-input-sanity.py
> +++ b/RHEVM3/utils/verify-input-sanity.py
> @@ -127,7 +127,10 @@ for xccdf_file in xccdf_xml_files:
> # form valid XML so that we can parse it
> xccdf_xml_contents = xccdf_header + infile.read() + xccdf_footer
> # parse the XML at this point
> - tree = ET.fromstring(xccdf_xml_contents)
> + try:
> + tree = ET.fromstring(xccdf_xml_contents)
> + except ET.XMLSyntaxError:
> + print " XML syntax error in file: %s" % xccdf_file.replace("./", "src/input/")
> # extract all of the rules that are defined within the XCCDF
> xccdf_rules = tree.findall(".//Rule")
> for xccdf_rule in xccdf_rules:
fantastic.
ack.
More information about the scap-security-guide
mailing list