--- a/components/openscap/Makefile Thu Dec 19 01:51:35 2013 -0800
+++ b/components/openscap/Makefile Thu Dec 19 12:51:48 2013 -0800
@@ -66,6 +66,7 @@
CONFIGURE_OPTIONS += am_cv_python_pythondir=$(PYTHON_VENDOR_PACKAGES)
CONFIGURE_OPTIONS += am_cv_python_pyexecdir=$(PYTHON_VENDOR_PACKAGES)
CONFIGURE_OPTIONS += LIBS="-lsocket -lnsl -lldap_r -lscf -ldlpi -lsec"
+CONFIGURE_OPTIONS += --with-report-branding="/usr/share/lib/xml/style/os-logo.xsl"
# common targets
build: $(BUILD_32)
--- a/components/openscap/openscap.p5m Thu Dec 19 01:51:35 2013 -0800
+++ b/components/openscap/openscap.p5m Thu Dec 19 12:51:48 2013 -0800
@@ -524,6 +524,7 @@
file path=usr/share/openscap/xsl/fix.xsl
file path=usr/share/openscap/xsl/fixtpl-bash.xml
file path=usr/share/openscap/xsl/html2docbook.xsl
+file path=usr/share/openscap/xsl/os-brand.xsl
file path=usr/share/openscap/xsl/oscap-share.xsl
file path=usr/share/openscap/xsl/oval-report.xsl
file path=usr/share/openscap/xsl/oval-results-report.xsl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/openscap/patches/os-brand.patch Thu Dec 19 12:51:48 2013 -0800
@@ -0,0 +1,231 @@
+This patch provides a new configure option --with-report-branding to generate
+ the reports with vendor specific brand and logo. If the option is not used
+ reports get generated using the default template and colors.
+This change was developed in-house and has not been submitted upstream.
+
+
+--- openscap-0.9.7/xsl/Makefile.am.~1~ 2013-10-17 19:32:43.848277759 -0700
++++ openscap-0.9.7/xsl/Makefile.am 2013-10-17 19:31:32.960110050 -0700
+@@ -17,7 +17,8 @@
+ xccdf_1.1_remove_dangling_sub.xsl \
+ xccdf-tailor.xsl \
+ xccdf-substitute.xsl \
+- xccdf-share.xsl
++ xccdf-share.xsl \
++ os-brand.xsl
+
+ EXTRA_DIST = security-guide.xsl \
+ xccdf-report.xsl \
+@@ -35,5 +36,6 @@
+ oscap-share.xsl \
+ xccdf-tailor.xsl \
+ xccdf-substitute.xsl \
+- xccdf-share.xsl
++ xccdf-share.xsl \
++ os-brand.xsl
+
+--- openscap-0.9.7/xsl/xccdf-report.xsl.~1~ 2013-04-23 06:21:53.014000001 -0700
++++ openscap-0.9.7/xsl/xccdf-report.xsl 2013-10-17 20:37:01.886707203 -0700
+@@ -40,6 +40,7 @@
+ <xsl:import href="security-guide.xsl" />
+ <xsl:import href="oval-report.xsl" />
+ <xsl:import href="sce-report.xsl" />
++<xsl:import href="os-brand.xsl" />
+
+ <xsl:output method="xml" encoding="UTF-8" indent="yes"/>
+
+@@ -134,7 +135,14 @@
+ id='{@id}'
+ >
+ <info>
+- <title>XCCDF test result</title>
++ <xsl:choose>
++ <xsl:when test="$branded='yes'" >
++ <title>XCCDF Assessment Report</title>
++ </xsl:when>
++ <xsl:otherwise>
++ <title>XCCDF Test Report</title>
++ </xsl:otherwise>
++ </xsl:choose>
+ <xsl:call-template name='footerinfo'/>
+ </info>
+
+@@ -348,8 +356,10 @@
+ <xsl:call-template name='idents'/>
+ <!-- overrides (n) -->
+ <!-- messages (n) -->
+- <xsl:apply-templates select='$rule/cdf:fixtext[1]'/>
+- <xsl:apply-templates select='($rule/cdf:fix|cdf:fix)[last()]'/>
++ <xsl:if test="cdf:result='fail'" >
++ <xsl:apply-templates select='$rule/cdf:fixtext[1]'/>
++ <xsl:apply-templates select='($rule/cdf:fix|cdf:fix)[last()]'/>
++ </xsl:if>
+ <xsl:apply-templates select='.' mode='engine-results'/>
+ <xsl:call-template name='references'/>
+ </section>
+--- /dev/null 2013-10-17 20:38:34.000000000 -0700
++++ openscap-0.9.7/xsl/os-brand.xsl.in 2013-10-17 20:57:48.565359270 -0700
+@@ -0,0 +1,5 @@
++<?xml version="1.0" encoding="UTF-8" ?>
++<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
++<xsl:variable name="branded" select="'@BRANDED@'"/>
[email protected]@
++</xsl:stylesheet>
+--- openscap-0.9.7/configure.ac.~2~ 2013-10-18 10:46:29.041272020 -0700
++++ openscap-0.9.7/configure.ac 2013-10-18 10:49:44.494855545 -0700
+@@ -233,6 +233,7 @@
+ probe_dpkginfo_req_deps_missing=
+ probe_dpkginfo_opt_deps_ok=yes
+ probe_dpkginfo_opt_deps_missing=
++report_branding=
+
+ #
+ # env
+@@ -990,6 +991,22 @@
+ [],
+ [crypto=gcrypt])
+
++#used for generating os-brand.xsl
++AC_ARG_WITH([report-branding],
++ [AS_HELP_STRING([--with-report-branding=<location of the branded logo template> enables report-branding.])],
++ [report_branding="${with_report_branding}"],
++ [])
++
++notbranded='<xsl:template name="operating-system-logo"/>'
++osbranded="<xsl:include href='${report_branding}' />"
++if test "x${report_branding}" = "x" ; then
++AC_SUBST([BRANDED], "no")
++AC_SUBST([BRANDTEMPLATE], "${notbranded}")
++else
++AC_SUBST([BRANDED], "yes")
++AC_SUBST([BRANDTEMPLATE], "${osbranded}")
++fi
++
+ if test "x${libexecdir}" = xNONE; then
+ probe_dir="/usr/local/libexec/openscap"
+ else
+@@ -1196,6 +1213,7 @@
+ lib/Makefile
+ src/Makefile
+ xsl/Makefile
++ xsl/os-brand.xsl
+ schemas/Makefile
+ cpe/Makefile
+ selinux/Makefile
+--- openscap-0.9.7/xsl/dbout-html.xsl.~1~ 2013-04-23 06:21:52.991000001 -0700
++++ openscap-0.9.7/xsl/dbout-html.xsl 2013-10-21 11:38:46.988422014 -0700
+@@ -36,6 +36,7 @@
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ exclude-result-prefixes="xsl db exsl htm"
+ >
++<xsl:include href='os-brand.xsl' />
+
+ <xsl:output method="xml" encoding="UTF-8" indent="no"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+@@ -254,7 +255,23 @@
+ </xsl:template>
+
+ <xsl:template mode='dbout.html.title' match='db:book/db:title|db:book/db:info/db:title|db:article/db:title|db:article/db:info/db:title'>
+- <h1><xsl:call-template name='dbout.html.inline'/></h1>
++ <xsl:choose>
++ <xsl:when test="$branded='yes'" >
++ <table id="header" width="100%">
++ <tr id="header" valign="middle">
++ <td id="header">
++ <xsl:call-template name='operating-system-logo'/>
++ </td>
++ <td id="header">
++ <h1><xsl:call-template name='dbout.html.inline'/></h1>
++ </td>
++ </tr>
++ </table>
++ </xsl:when>
++ <xsl:otherwise>
++ <h1><xsl:call-template name='dbout.html.inline'/></h1>
++ </xsl:otherwise>
++ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template mode='dbout.html.title' match='db:chapter/db:title|db:chapter/db:info/db:title|db:preface/db:title|db:preface/db:info/db:title|db:bibliography/db:title|db:bibliography/db:info/db:title'>
+@@ -433,7 +450,14 @@
+ <!-- CSS stylesheet -->
+ <xsl:template name='css'>
+ <style type='text/css' media='all'>
++ <xsl:choose>
++ <xsl:when test="$branded='yes'" >
++ html, body { background-color: white; font-family:sans-serif; margin:0; padding:0; }
++ </xsl:when>
++ <xsl:otherwise>
+ html, body { background-color: black; font-family:sans-serif; margin:0; padding:0; }
++ </xsl:otherwise>
++ </xsl:choose>
+ abbr { text-transform:none; border:none; font-variant:normal; }
+ div.score-outer { height: .8em; width:100%; min-width:100px; background-color: red; }
+ div.score-inner { height: 100%; background-color: green; }
+@@ -476,7 +500,18 @@
+ <style type='text/css' media='screen'>
+ div#content, div#header, div#footer { margin-left:1em; margin-right:1em; }
+ div#content { background-color: white; padding:2em; }
++ <xsl:choose>
++ <xsl:when test="$branded='yes'" >
++ div#header { background-color:red; color:black; text-align:center; }
++ div#footer { background-color:red; color:white; text-align:center; }
++ table#header { border: 0px solid red; cellpadding="0"; cellspacing="0"; }
++ table tr#header { border-bottom: 0px solid red; }
++ table td#header { border-right: 0px solid red; }
++ </xsl:when>
++ <xsl:otherwise>
+ div#footer, div#header { color:white; text-align:center; }
++ </xsl:otherwise>
++ </xsl:choose>
+ a, a:visited { color:blue; text-decoration:underline; }
+ div#content p.link { text-align:right; font-size:.8em; }
+ div#footer a { color:white; }
+--- openscap-0.9.7/xsl/oval-results-report.xsl.~1~ 2013-04-23 06:21:53.012000001 -0700
++++ openscap-0.9.7/xsl/oval-results-report.xsl 2013-10-21 11:48:29.340966226 -0700
+@@ -63,6 +63,8 @@
+ xmlns:ind-def="http://oval.mitre.org/XMLSchema/oval-definitions-5#independent" xmlns:windows-def="http://oval.mitre.org/XMLSchema/oval-definitions-5#windows"
+ xmlns:unix-def="http://oval.mitre.org/XMLSchema/oval-definitions-5#unix" xmlns:linux-def="http://oval.mitre.org/XMLSchema/oval-definitions-5#linux">
+ <xsl:output method="html" indent="yes" omit-xml-declaration="yes"/>
++
++ <xsl:include href='os-brand.xsl'/>
+
+ <xsl:key name="definition-index" use="@id" match="/oval-res:oval_results/oval-def:oval_definitions/oval-def:definitions/oval-def:definition"/>
+
+@@ -70,7 +72,15 @@
+ <xsl:template name="oval_res_style">
+ <style type="text/css">
+
++<xsl:choose>
++ <xsl:when test="$branded='yes'" >
++TD.title {BACKGROUND-COLOR: #FF0000; COLOR: #ffc; TEXT-ALIGN: left; font: bold 12pt/14pt "Arial"}
++DIV.header { background-color: red }
++ </xsl:when>
++ <xsl:otherwise>
+ TD.title {BACKGROUND-COLOR: #000000; COLOR: #ffc; TEXT-ALIGN: left; font: bold 12pt/14pt "Arial"}
++ </xsl:otherwise>
++ </xsl:choose>
+ TD.label {BACKGROUND-COLOR: #99cc99; font: 10pt/12pt "Arial"}
+ TD.label2 {font: bold 10pt/14pt "Arial"}
+ TD.text {font: 10pt/12pt "Arial"}
+@@ -173,6 +183,20 @@
+ <xsl:call-template name="oval_res_style"/>
+ </head>
+ <body>
++ <xsl:choose>
++ <xsl:when test="$branded='yes'" >
++ <div class="header">
++ <table width="100%" background-color="red">
++ <tr>
++ <td>
++ <xsl:call-template name='operating-system-logo'/>
++ </td>
++ </tr>
++ </table>
++ </div>
++ <br/>
++ </xsl:when>
++ </xsl:choose>
+
+ <!-- display results and definition generator information -->
+ <table border="1" cellpadding="0" cellspacing="0" width="100%">