Updated transformation to meet design meeting specifications.
Added Help page.
Added About page.
---
src/share/transforms/media/css/main.css | 155 +++++++++++--
src/share/transforms/media/css/print.css | 134 ++++++++++--
src/share/transforms/media/js/.custom.js.swp | Bin 12288 -> 20480 bytes
src/share/transforms/media/js/custom.js | 31 +++-
src/share/transforms/results2html.xsl | 315 +++++++++++++++++---------
5 files changed, 483 insertions(+), 152 deletions(-)
diff --git a/src/share/transforms/media/css/main.css
b/src/share/transforms/media/css/main.css
index c0f0276..5e1c6c6 100644
--- a/src/share/transforms/media/css/main.css
+++ b/src/share/transforms/media/css/main.css
@@ -45,13 +45,12 @@ ul {
}
ol {
- padding-left: 40px;
- padding-top: 5px;
+ list-style-type: none;
+ padding-left: 20px;
}
dl {
float: left;
- padding-right: 50px;
padding-top: 5px;
}
@@ -113,10 +112,15 @@ dl dd dl dd {
padding-left: 20px;
}
+#wrap {
+ min-height: 100%;
+}
+
#header {
width: 100%;
background-color: #000000;
color: #ffffff;
+ padding-top: 5px;
overflow: hidden;
}
@@ -130,14 +134,18 @@ dl dd dl dd {
background: url('../img/tresysSmall.png') no-repeat;
}
+#push {
+ height: 50px;
+ width: 100%;
+}
+
#secstate {
height: 50px;
width: 255px;
- color: #666666;
- position: relative;
+ color: #ffffff;
float: left;
- padding-top: 50px;
padding-left: 10px;
+ padding-bottom: 13px;
}
#secstate h1 {
@@ -148,27 +156,19 @@ dl dd dl dd {
font-size: 30px;
}
-#description {
- color: #666666;
- position: relative;
- float: right;
- padding-top: 70px;
- width: 300px;
-}
-
#info {
- clear: both;
background-color: #666666;
color: #000000;
padding-top: 5px;
- padding-bottom: 5px;
+ padding-bottom: 10px;
overflow: hidden;
+ clear: both;
}
#nav {
- height: 50px;
- width: 100%;
- clear: both;
+ height: 40px;
+ padding-top: 20px;
+ float: right;
}
#nav a {
@@ -177,12 +177,23 @@ dl dd dl dd {
float: right;
}
+#interfaces {
+ clear: both;
+}
+
+#interfaces dd {
+ color: #ffffff;
+ font-weight: normal;
+}
+
#results {
width: 100%;
position: relative;
float: left;
clear: both;
padding-top: 10px;
+ overflow: auto;
+ padding-bottom: 25px;
}
#tree li {
@@ -191,12 +202,114 @@ dl dd dl dd {
padding: 5px;
}
+#footer {
+ height: 20px;
+ position: relative;
+ margin-top: -25px;
+ padding-left: 10px;
+ padding-right: 10px;
+ padding-top: 5px;
+ background: #666666;
+ clear: both;
+}
+
+#tresys {
+ position: relative;
+ float: left;
+}
+
+#version {
+ position: relative;
+ float: right;
+}
+
+dl#help {
+ padding-top: 20px;
+}
+
+dl.help {
+ padding-bottom: 30px;
+}
+
+.help dt {
+ font-weight: bold;
+ padding-top: 5px;
+}
+
+.help dd {
+ padding-top: 5px;
+ font-weight: normal;
+}
+
+#about dl dt {
+ width: 100%;
+ padding-bottom: 5px;
+ font-weight: bold;
+}
+
+#about dl dd {
+ padding-bottom: 20px;
+ padding-left: 20px;
+ font-weight: normal;
+}
+
+dl#faq {
+ margin-left: 0px;
+ width: 100%;
+}
+
+dl#faq dt {
+ font-weight: bold;
+ padding-bottom: 10px;
+ padding-left: 0px;
+}
+
+dl#faq dd {
+ font-weight: normal;
+ padding-left: 2px;
+}
+
+.other {
+ padding-left: 5px;
+}
+
+.result {
+ margin-left: 0px;
+ padding-top: 0px;
+}
+
+.result dt {
+ margin-left: 0px;
+ float: left;
+}
+
+.result dd {
+ font-weight: normal;
+ padding-left: 115px;
+}
+
.ovalid {
font-weight: normal;
color: #666666;
font-size: 11px;
}
-.test {
- border-bottom: 1px solid #000000;
+ol.test {
+ list-style-type: decimal;
+ padding-left: 40px;
+ padding-top: 5px;
+}
+
+.summary dd {
+ color: #ffffff;
+ font-weight: normal;
+}
+
+.white {
+ color: #ffffff;
+}
+
+.counter {
+ font-size: 10px;
+ text-decoration: underline;
}
diff --git a/src/share/transforms/media/css/print.css
b/src/share/transforms/media/css/print.css
index 461a7cd..5390b30 100644
--- a/src/share/transforms/media/css/print.css
+++ b/src/share/transforms/media/css/print.css
@@ -25,8 +25,8 @@ ul {
}
ol {
- padding-left: 40px;
- padding-top: 5px;
+ list-style-type: none;
+ padding-left: 20px;
}
dl {
@@ -87,20 +87,22 @@ dl dd dl dd {
padding-left: 40px;
}
+#wrap {
+ min-height: 100%;
+}
+
#header {
width: 100%;
- color: #ffffff;
+ color: #000000;
overflow: hidden;
}
#secstate {
height: 50px;
width: 255px;
- color: #000000;
- position: relative;
float: left;
- padding-top: 50px;
padding-left: 10px;
+ padding-bottom: 13px;
}
#secstate h1 {
@@ -111,14 +113,6 @@ dl dd dl dd {
font-size: 30px;
}
-#description {
- color: #000000;
- position: relative;
- float: right;
- padding-top: 70px;
- width: 300px;
-}
-
#info {
clear: both;
color: #000000;
@@ -145,11 +139,119 @@ dl dd dl dd {
padding: 5px;
}
+#footer {
+ height: 20px;
+ position: relative;
+ margin-top: -25px;
+ padding-left: 10px;
+ padding-right: 10px;
+ padding-top: 5px;
+ background: none;
+ clear: both;
+}
+
+#tresys {
+ position: relative;
+ float: left;
+}
+
+#version {
+ position: relative;
+ float: right;
+}
+
+dl#help {
+ padding-top: 20px;
+}
+
+dl.help {
+ padding-bottom: 30px;
+}
+
+.help dt {
+ font-weight: bold;
+ padding-top: 5px;
+}
+
+.help dd {
+ padding-top: 5px;
+ font-weight: normal;
+}
+
+#about dl dt {
+ width: 100%;
+ padding-bottom: 5px;
+ font-weight: bold;
+}
+
+#about dl dd {
+ padding-bottom: 20px;
+ padding-left: 20px;
+ font-weight: normal;
+}
+
+dl#faq {
+ margin-left: 0px;
+ width: 100%;
+}
+
+dl#faq dt {
+ font-weight: bold;
+ padding-bottom: 10px;
+ padding-left: 0px;
+}
+
+dl#faq dd {
+ font-weight: normal;
+ padding-left: 2px;
+}
+
+.ovalid {
+ font-weight: normal;
+ color: #666666;
+}
+
+.other {
+ padding-left: 5px;
+}
+
+.result {
+ margin-left: 0px;
+ padding-top: 0px;
+}
+
+.result dt {
+ margin-left: 0px;
+ float: left;
+}
+
+.result dd {
+ font-weight: normal;
+ padding-left: 115px;
+}
+
.ovalid {
font-weight: normal;
color: #666666;
+ font-size: 11px;
+}
+
+ol.test {
+ list-style-type: decimal;
+ padding-left: 40px;
+ padding-top: 5px;
+}
+
+.summary dd {
+ color: #000000;
+ font-weight: normal;
+}
+
+.white {
+ color: #000000;
}
-.test {
- border-bottom: 1px solid #000000;
+.counter {
+ font-size: 10px;
+ text-decoration: underline;
}
diff --git a/src/share/transforms/media/js/.custom.js.swp
b/src/share/transforms/media/js/.custom.js.swp
index 929e74d8b1c9b1f6a4d713e2e3d09de0737cde34..33c6dc3fbadce791ab11c979e64536a1fd9c0088
100644
GIT binary patch
delta 1894
zcmcK4UuauZ90%}|Hg2_Dl1>fnCacGrZ0DZ*xm|0E(pone>V~UjtB6*V-rjqX8+v;a
zlA9SVHMI{z^g-MyIuv2mhl;CnBZ5N^9Bfkrt#3MCWDf)N#Xm27P^aH}lei5>_o5d*
zxyi}z{(k4*J@b?E#{yfYc0RUml-{lN6I`8yyq9@?|LN8N5_tI3)*m8~R#HWKi}xok
zAvbq+^#$ucNVsv&HtvDOy|r=Q+_+EHwsbB>j?iFe3@v|oVJL)Lbh!F1lFWhy4+4j^
z5Fy{dhp-4$cnXGK0Fn@f5d5@>kT2j#7>9$9h6^2poPne8G{j&Fw8LsUAt&I)b_~wM
zm;KNKmu@EHeRv1ngg2lJ6Oe|>ZG?OcE3g0)a35@f)r}|!i(tbPj6(`K;O7m5oQ1bw
z8dA`*VTO=zZzAL?I1lGw37&&7;1GoGG3Copfgl{i6d#4xp$L0Hfj_ZO-@)5Z0&lKA
zh0|cQ5P1hn^eFmNzU*q2J7X&;%EpB;?&_|fdxc$KsUvDsF0qyFXL6=%C0UAEBA2z?
z5tgifk-8d_ht+s>V3^Rxbx1E#Kc0?IwPX~9a5Von@9n=fs-EMjuzCaU?b8P9k#SXt
z`5jcaX4pAnnyNHYb__R{cT`SiiC=Y&*LE-#Sg)7+4*u6Y>>rfJ)zJWvOYtrl;Ts={
ztFDzRaepdRwkL1fdZ8rf{kF~cm2rEM)Qr?kbC0c;N-7hTg6^2YM5J8e(OM6`CotL!
z^VUXX5BMSLr7Mb={2}r0jQ$+S-HA1MSCY!HWI~pcy&buX+U$s2NKRZCh&-N-%W7g<
zZ8-IK3!3%qw^f^6Dd<JvxGK}!d^T$f#<gpT{?lq;P_t9IF`X^u%Z@oj6({cqY%ryO
zLFb%o+7=mCL3`g|p`y%PH9_cCvzk9}PDe(nbSL*m5l3kQ8C_Hsx?x>!H`HfX(X5<l
z3I`hpUxeDIAncOxGtK#*UaWWBVA15IL`3dL+!{pvm^_(?${!OQ^0jnSUPy)ISsrcE
z98qzx)bcX#mP4s+au;vAh4{G}A6h2onDT{GxBo1X-RmWD@p`cO*y;<y^cdnq1p~D7
zQe!cVa?zW2#;LdGy@a(D?a{!5ZW8h<j=cjoCcQ(ndBpw^A>?=X1unwpunfCl7lh#=
zp7{h8;V>+K0Z+hzaP7{{wNP_w*IwEFYTyyCSP{j}gI5f3{`C=(eE=umC76UEh{A6O
z`WRk@E?C90pZPgZ;MtI*jNh(UIBKqc0Lgjw<$7=R|9<v(UAw{2Gb|ZX)b)>1iuXpJ
IDPa%(4Q#)@H2?qr
delta 629
zcmYk&KWGzC9KiA4#fy!nZ6YeAF@&RkE_X&w4b_UZA)8c<wx}HhZLNt-KvF9a6p;oT
z>Y#)D4LS(cf=-cIt{`qYiG!OCf`twub*YYB1ix38{@}y=z4v?X@q4c^XEer=;|E6u
zi*}!%6CxpU`EdR8%$8nx(!H2mjmHg{W<3%Xi6PyYXb&ohr}4*c3bVG^y2limic;Yu
zMZ15x*(Rc>A&CgSwTe7P2^Vn+3H;t6@(C~T2%~VYwq4{0zT+*PVG1XZ!Cy<{E8bxS
zCsDv5i*7BFU)w}JV;*-g2n&Msn8+8r#sgf%0SF$ph`6wk!d@g`V0Ej=M~q<<J`61L
z{3X1?e6&~OKFJ+~|58I0S8xt}NaH8}wuA}z=HiQH#Iy+=&JXB?{4wl;&-^%J2a+k<
zzUTEzxb1&zo(04C1w$9kdclV-)7X8ze660%?6)iB>O`eJkjd63Z|I*hU9&xok<;5f
zMJ`V3T;9}`OpC62X|?@WP<7(Qro|&#aH869a(ZcB`$j(L7WKWG(iPWH%ggGxcXZ>T
lHYcVxv#DU&yA|mOo9lKv{Yte|D%U!_Fe$rq9yI;)#y{Cwe**vj
diff --git a/src/share/transforms/media/js/custom.js
b/src/share/transforms/media/js/custom.js
index 9341204..4e0eccd 100644
--- a/src/share/transforms/media/js/custom.js
+++ b/src/share/transforms/media/js/custom.js
@@ -29,7 +29,7 @@ $(document).ready( function() {
$('.count').each( function() {
if($(this).html() == 0)
-
$(this).prev('.toggle').removeClass('toggle').css({background:
"none"});
+
$(this).parent('.toggle').removeClass('toggle').css({background:
"none", "padding-left": "15px"});
});
$(".toggle").click( function() {
@@ -81,13 +81,38 @@ $(document).ready( function() {
$("#print").click( function() {
var path = window.location.pathname;
- var left = (screen.width)/2;
+ var height = (screen.height)/1.25;
+ var width = (screen.width)/2;
+ var left = (screen.width)/4;
var top = (screen.height)/2;
- var params = 'width='+left+', height='+top;
+ var params = 'width='+width+', height='+height;
params += ', top='+top+', left='+left;
params += ', directories=no, location=no, menubar=no, resizable=no,
scrollbars=yes, status=no, toolbar=no';
var newWin = window.open(path+'?css=print.css&print=true',
'SecState Audit Print', params);
});
+
+ $("#about").click ( function() {
+ var height = (screen.height)/1.5;
+ var width = (screen.width)/2;
+ var left = (screen.width)/4;
+ var top = (screen.height);
+ var params = 'width='+width+', height='+height;
+ params += ', top='+top+', left='+left;
+ params += ', directories=no, location=no, menubar=no, resizable=no,
scrollbars=yes, status=no, toolbar=no';
+ var newWin = window.open("about.html", 'SecState Help',
params);
+ });
+
+ $("#help").click ( function() {
+ var height = (screen.height)/1.5;
+ var width = (screen.width)/2;
+ var left = (screen.width)/4;
+ var top = (screen.height);
+ var params = 'width='+width+', height='+height;
+ params += ', top='+top+', left='+left;
+ params += ', directories=no, location=no, menubar=no, resizable=no,
scrollbars=yes, status=no, toolbar=no';
+ var newWin = window.open("help.html", 'SecState Help',
params);
+ });
+
});
$.extend({
diff --git a/src/share/transforms/results2html.xsl
b/src/share/transforms/results2html.xsl
index 7e6a9da..bba5bfb 100644
--- a/src/share/transforms/results2html.xsl
+++ b/src/share/transforms/results2html.xsl
@@ -11,7 +11,7 @@
indent="yes"/>
<xsl:param name="path"/>
-
+<xsl:param name="ovalid"/>
<!-- Benchmark result counts -->
<xsl:variable name="ruleResult"
select="//*[local-name(.)='rule-result']/*[local-name(.)='result']"/>
@@ -53,15 +53,15 @@
</head>
<body>
+ <div id="wrap">
<div id="header">
- <div id="secstate">
+ <span id="secstate">
<h1>SecState</h1> Version 1.0<br/>
System Security Compliance & Audit Tool
- </div>
- <div id="description">
- </div>
- <div id="nav">
+ </span>
+ <span id="nav">
<!--<div id="logo"></div>-->
+ <a id="help" href="#">Help</a>
<a id="about" href="#">About
SecState</a>
<a id="print" href="#">Print
Report</a>
<a id="toggle" href="#">Expand
All</a>
@@ -73,27 +73,27 @@
<a id="index"
href="index.html">Audit Index</a>
</xsl:otherwise>
</xsl:choose>
- </div>
+ </span>
<div id="info">
<xsl:apply-templates
select="*[local-name(.)='Index']"/>
<xsl:apply-templates
select="*[local-name(.)='Benchmark']"/>
<xsl:apply-templates
select="*[local-name(.)='oval_results']//*[local-name(.)='system_info']"/>
- <xsl:apply-templates
select="//*[local-name(.)='results']"/>
+ <xsl:apply-templates
select="//*[local-name(.)='results']"/>
+ <xsl:apply-templates
select="//*[local-name(.)='interfaces']"/>
+ <xsl:if test="$genOval">
+ <xsl:apply-templates
select="document(concat($path,$genOvalRes))//*[local-name(.)='interfaces']"/>
+ </xsl:if>
</div>
</div>
<div id="results">
- <ul id="tree">
+ <ol id="tree">
<xsl:apply-templates
select="*[local-name(.)='Index']/*[local-name(.)='file']"/>
- <!-- Will throw warning if applied to an OVAL results XML -->
- <xsl:if test="$genOval">
- <xsl:apply-templates
select="document(concat($path,$genOvalRes))//*[local-name(.)='interfaces']"/>
- </xsl:if>
- <!-- -->
- <xsl:apply-templates
select="//*[local-name(.)='interfaces']"/>
<xsl:apply-templates
select="*[local-name(.)='Benchmark']//*[local-name(.)='TestResult']"/>
<xsl:apply-templates
select="*[local-name(.)='oval_results']"/>
- </ul>
+ </ol>
</div>
+ </div>
+ <div id="footer"><span id="tresys">Tresys
Technology, LLC</span><span id="version">SecState Version
1.0</span></div>
</body>
</html>
</xsl:template>
@@ -134,7 +134,7 @@
<span class="title"><xsl:value-of
select="$docFile//*[local-name(.)='Benchmark']/@id"/></span>
</a>
<span> : Benchmark</span>
- <ul class="hidden">
+ <ol class="hidden">
<li>
<dl class="interface">
<dt>Failures: </dt>
@@ -161,7 +161,7 @@
<dd><xsl:value-of select="$date"/> (
<xsl:value-of select="$time"/> ) </dd>
</dl>
</li>
- </ul>
+ </ol>
</li>
</xsl:if>
<xsl:if test="$docFile//*[local-name(.)='oval_results']">
@@ -178,7 +178,7 @@
<span class="title"><xsl:value-of
select="$file"/></span>
</a>
<span> : OVAL</span>
- <ul class="hidden">
+ <ol class="hidden">
<li>
<dl class="interface">
<dt>Failures: </dt>
@@ -199,15 +199,15 @@
<dd><xsl:value-of select="$date"/> (
<xsl:value-of select="$time"/> ) </dd>
</dl>
</li>
- </ul>
+ </ol>
</li>
</xsl:if>
</xsl:template>
<xsl:template match="*[local-name(.)='interfaces']">
-<li>
- <span class="toggle title">Interfaces</span>
- <ul class="hidden">
+<dl id="interfaces">
+ <span class="toggle title white">Interfaces</span>
+ <ol class="hidden">
<li>
<xsl:for-each select="*[local-name(.)='interface']">
<dl class="interface">
@@ -220,16 +220,16 @@
</dl>
</xsl:for-each>
</li>
- </ul>
-</li>
+ </ol>
+</dl>
</xsl:template>
<xsl:template match="*[local-name(.)='Benchmark']">
<xsl:apply-templates
select="document(concat($path,$genOvalRes))//*[local-name(.)='system_info']"/>
- <dl id="summary">
- <dt class="title">Audit Summary</dt>
+ <dl id="benchmark">
+ <dt class="title white">Audit Summary</dt>
<dd>
- <dl>
+ <dl class="summary">
<xsl:variable name="date"
select="substring-before(//*[local-name(.)='TestResult']/@end-time,
'T')"/>
<xsl:variable name="time"
select="substring-after(//*[local-name(.)='TestResult']/@end-time,
'T')"/>
<dt>Benchmark ID: </dt>
@@ -240,19 +240,24 @@
<dd><xsl:value-of
select="$numBenchMitd"/></dd>
<dt>Passes: </dt>
<dd><xsl:value-of
select="$numBenchPass"/></dd>
- <dt>Error: </dt>
- <dd><xsl:value-of
select="$numBenchError"/></dd>
- <dt>Unknown: </dt>
- <dd><xsl:value-of
select="$numBenchUnknown"/></dd>
- <dt>Not Checked: </dt>
- <dd><xsl:value-of
select="$numBenchNotChecked"/></dd>
- <dt>Not Applicable: </dt>
- <dd><xsl:value-of
select="$numBenchNotApp"/></dd>
- <dt>Not Selected: </dt>
- <dd><xsl:value-of
select="$numBenchNotSelected"/></dd>
- <dt>Fixed: </dt>
- <dd><xsl:value-of
select="$numBenchFixed"/></dd>
-
+ <dt class="toggle">Other</dt>
+ <dd>
+ <xsl:value-of select="$numBenchError + $numBenchUnknown +
$numBenchNotChecked + $numBenchNotApp + $numBenchNotSelected + $numBenchFixed"/>
+ </dd>
+ <dl class="hidden summary">
+ <dt>Error: </dt>
+ <dd><xsl:value-of
select="$numBenchError"/></dd>
+ <dt>Unknown: </dt>
+ <dd><xsl:value-of
select="$numBenchUnknown"/></dd>
+ <dt>Not Checked: </dt>
+ <dd><xsl:value-of
select="$numBenchNotChecked"/></dd>
+ <dt>Not Applicable: </dt>
+ <dd><xsl:value-of
select="$numBenchNotApp"/></dd>
+ <dt>Not Selected: </dt>
+ <dd><xsl:value-of
select="$numBenchNotSelected"/></dd>
+ <dt>Fixed: </dt>
+ <dd><xsl:value-of
select="$numBenchFixed"/></dd>
+ </dl>
</dl>
</dd>
</dl>
@@ -260,91 +265,148 @@
<xsl:template match="*[local-name(.)='TestResult']">
<li>
- <span class="title toggle">Failures : </span><span
class="count"><xsl:value-of
select="$numBenchFail"/></span>
- <ul class="hidden">
+ <dl class="result toggle">
+ <dt class="title">Failures: </dt>
+ <dd class="count"><xsl:value-of
select="$numBenchFail"/></dd>
+ </dl>
+ <ol class="hidden">
<xsl:if test="$numBenchFail > 0">
- <xsl:apply-templates
select="//*[local-name(.)='rule-result']/*[local-name(.)='result'][.='fail']/.."/>
+ <xsl:apply-templates
select="//*[local-name(.)='rule-result']/*[local-name(.)='result'][.='fail']/..">
+ <xsl:with-param name="result"
select="'FAILURE'"/>
+ </xsl:apply-templates>
</xsl:if>
- </ul>
+ </ol>
</li>
<li>
- <span class="title toggle">Mitigations : </span><span
class="count"><xsl:value-of
select="$numBenchMitd"/></span>
- <ul class="hidden">
+ <dl class="result toggle">
+ <dt class="title">Mitigations: </dt>
+ <dd class="count"><xsl:value-of
select="$numBenchMitd"/></dd>
+ </dl>
+ <ol class="hidden">
<xsl:if test="$numBenchMitd > 0">
- <xsl:apply-templates
select="//*[local-name(.)='rule-result']/*[local-name(.)='result'][.='informational']/.."/>
+ <xsl:apply-templates
select="//*[local-name(.)='rule-result']/*[local-name(.)='result'][.='informational']/..">
+ <xsl:with-param name="result"
select="'MITIGATION'"/>
+ </xsl:apply-templates>
</xsl:if>
- </ul>
+ </ol>
</li>
<li>
- <span class="title toggle">Passes : </span><span
class="count"><xsl:value-of
select="$numBenchPass"/></span>
- <ul class="hidden">
+ <dl class="result toggle">
+ <dt class="title">Passes: </dt>
+ <dd class="count"><xsl:value-of
select="$numBenchPass"/></dd>
+ </dl>
+ <ol class="hidden">
<xsl:if test="$numBenchPass > 0">
- <xsl:apply-templates
select="//*[local-name(.)='rule-result']/*[local-name(.)='result'][.='pass']/.."/>
+ <xsl:apply-templates
select="//*[local-name(.)='rule-result']/*[local-name(.)='result'][.='pass']/..">
+ <xsl:with-param name="result"
select="'PASS'"/>
+ </xsl:apply-templates>
</xsl:if>
- </ul>
+ </ol>
</li>
<li>
- <span class="title toggle">Error : </span><span
class="count"><xsl:value-of
select="$numBenchError"/></span>
- <ul class="hidden">
+ <dl class="result toggle">
+ <dt class="title">Other: </dt>
+ <dd><xsl:value-of select="$numBenchError + $numBenchUnknown +
$numBenchNotChecked + $numBenchNotApp + $numBenchNotSelected +
$numBenchFixed"/></dd>
+ </dl>
+ <ol class="hidden other">
+ <li>
+ <dl class="result toggle">
+ <dt class="title">Error: </dt>
+ <dd class="count"><xsl:value-of
select="$numBenchError"/></dd>
+ </dl>
+ <ol class="hidden">
<xsl:if test="$numBenchError > 0">
- <xsl:apply-templates
select="//*[local-name(.)='rule-result']/*[local-name(.)='result'][.='error']/.."/>
+ <xsl:apply-templates
select="//*[local-name(.)='rule-result']/*[local-name(.)='result'][.='error']/..">
+ <xsl:with-param name="result"
select="'ERROR'"/>
+ </xsl:apply-templates>
</xsl:if>
- </ul>
+ </ol>
</li>
<li>
- <span class="title toggle">Unknown : </span><span
class="count"><xsl:value-of
select="$numBenchUnknown"/></span>
- <ul class="hidden">
+ <dl class="result toggle">
+ <dt class="title">Unknown: </dt>
+ <dd class="count"><xsl:value-of
select="$numBenchUnknown"/></dd>
+ </dl>
+ <ol class="hidden">
<xsl:if test="$numBenchUnknown > 0">
- <xsl:apply-templates
select="//*[local-name(.)='rule-result']/*[local-name(.)='result'][.='unknown']/.."/>
+ <xsl:apply-templates
select="//*[local-name(.)='rule-result']/*[local-name(.)='result'][.='unknown']/..">
+ <xsl:with-param name="result"
select="'UNKNOWN'"/>
+ </xsl:apply-templates>
</xsl:if>
- </ul>
+ </ol>
</li>
<li>
- <span class="title toggle">Not Checked : </span><span
class="count"><xsl:value-of
select="$numBenchNotChecked"/></span>
- <ul class="hidden">
+ <dl class="result toggle">
+ <dt class="title">Not Checked: </dt>
+ <dd class="count"><xsl:value-of
select="$numBenchNotChecked"/></dd>
+ </dl>
+ <ol class="hidden">
<xsl:if test="$numBenchNotChecked > 0">
- <xsl:apply-templates
select="//*[local-name(.)='rule-result']/*[local-name(.)='result'][.='notchecked']/.."/>
+ <xsl:apply-templates
select="//*[local-name(.)='rule-result']/*[local-name(.)='result'][.='notchecked']/..">
+ <xsl:with-param name="result" select="'NOT
CHECKED'"/>
+ </xsl:apply-templates>
</xsl:if>
- </ul>
+ </ol>
</li>
<li>
- <span class="title toggle">Not Applicable : </span><span
class="count"><xsl:value-of
select="$numBenchNotApp"/></span>
- <ul class="hidden">
+ <dl class="result toggle">
+ <dt class="title">Not Applicable: </dt>
+ <dd class="count"><xsl:value-of
select="$numBenchNotApp"/></dd>
+ </dl>
+ <ol class="hidden">
<xsl:if test="$numBenchNotApp > 0">
- <xsl:apply-templates
select="//*[local-name(.)='rule-result']/*[local-name(.)='result'][.='notapplicable']/.."/>
+ <xsl:apply-templates
select="//*[local-name(.)='rule-result']/*[local-name(.)='result'][.='notapplicable']/..">
+ <xsl:with-param name="result" select="'NOT
APPLICABLE'"/>
+ </xsl:apply-templates>
</xsl:if>
- </ul>
+ </ol>
</li>
<li>
- <span class="title toggle">Not Selected : </span><span
class="count"><xsl:value-of
select="$numBenchNotSelected"/></span>
- <ul class="hidden">
+ <dl class="result toggle">
+ <dt class="title">Not Selected: </dt>
+ <dd class="count"><xsl:value-of
select="$numBenchNotSelected"/></dd>
+ </dl>
+ <ol class="hidden">
<xsl:if test="$numBenchNotSelected > 0">
- <xsl:apply-templates
select="//*[local-name(.)='rule-result']/*[local-name(.)='result'][.='notselected']/.."/>
+ <xsl:apply-templates
select="//*[local-name(.)='rule-result']/*[local-name(.)='result'][.='notselected']/..">
+ <xsl:with-param name="result" select="'NOT
SELECTED'"/>
+ </xsl:apply-templates>
</xsl:if>
- </ul>
+ </ol>
</li>
<li>
- <span class="title toggle">Fixed : </span><span
class="count"><xsl:value-of
select="$numBenchFixed"/></span>
- <ul class="hidden">
+ <dl class="result toggle">
+ <dt class="title">Fixed: </dt>
+ <dd class="count"><xsl:value-of
select="$numBenchFixed"/></dd>
+ </dl>
+ <ol class="hidden">
<xsl:if test="$numBenchFixed > 0">
- <xsl:apply-templates
select="//*[local-name(.)='rule-result']/*[local-name(.)='result'][.='fixed']/.."/>
+ <xsl:apply-templates
select="//*[local-name(.)='rule-result']/*[local-name(.)='result'][.='fixed']/..">
+ <xsl:with-param name="result"
select="'FIXED'"/>
+ </xsl:apply-templates>
</xsl:if>
- </ul>
+ </ol>
+ </li>
+ </ol>
</li>
</xsl:template>
<xsl:template match="*[local-name(.)='oval_results']">
+ <xsl:param name="count" select="0"/>
<xsl:variable name="resultDefs"
select="//*[local-name(.)='results']//*[local-name(.)='definition']"/>
<xsl:variable name="ovalDefs"
select="//*[local-name(.)='oval_definitions']//*[local-name(.)='definition']"/>
<li>
- <span class="title toggle">Failuresi : </span><span
class="count"><xsl:value-of
select="$numOvalFalse"/></span>
- <ul class="hidden">
+ <dl class="result toggle">
+ <dt class="title">Failures: </dt>
+ <dd class="count"><xsl:value-of
select="$numOvalFalse"/></dd>
+ </dl>
+ <ol class="hidden">
<xsl:if test="$numOvalFalse > 0">
<xsl:for-each
select="$resultDefs[@result='false']">
<xsl:variable name="defID"
select="@definition_id"/>
<li>
<span class="toggle">
- <xsl:value-of
select="$ovalDefs[(a)id=$defID]/*[local-name(.)='metadata']/*[local-name(.)='description']"/>
+ <span class="counter title">FAILURE
<xsl:value-of select="position()"/></span>: <xsl:value-of
select="$ovalDefs[(a)id=$defID]/*[local-name(.)='metadata']/*[local-name(.)='description']"/>
</span>
<ol class="hidden">
<li>
@@ -354,17 +416,20 @@
</li>
</xsl:for-each>
</xsl:if>
- </ul>
+ </ol>
</li>
<li>
- <span class="title toggle">Passes : </span><span
class="count"><xsl:value-of
select="$numOvalTrue"/></span>
- <ul class="hidden">
+ <dl class="result toggle">
+ <dt class="title">Passes: </dt>
+ <dd class="count"><xsl:value-of
select="$numOvalTrue"/></dd>
+ </dl>
+ <ol class="hidden">
<xsl:if test="$numOvalTrue > 0">
<xsl:for-each
select="$resultDefs[@result='true']">
<xsl:variable name="defID"
select="@definition_id"/>
<li>
<span class="toggle">
- <xsl:value-of
select="$ovalDefs[(a)id=$defID]/*[local-name(.)='metadata']/*[local-name(.)='description']"/>
+ <span class="counter title">PASS
<xsl:value-of select="position()"/></span>: <xsl:value-of
select="$ovalDefs[(a)id=$defID]/*[local-name(.)='metadata']/*[local-name(.)='description']"/>
</span>
<ol class="hidden">
<li>
@@ -374,17 +439,20 @@
</li>
</xsl:for-each>
</xsl:if>
- </ul>
+ </ol>
</li>
<li>
- <span class="title toggle">Unknown : </span><span
class="count"><xsl:value-of
select="$numOvalUnknown"/></span>
- <ul class="hidden">
+ <dl class="result toggle">
+ <dt class="title">Unknown: </dt>
+ <dd class="count"><xsl:value-of
select="$numOvalUnknown"/></dd>
+ </dl>
+ <ol class="hidden">
<xsl:if test="$numOvalUnknown > 0">
<xsl:for-each
select="$resultDefs[@result='unknown']">
<xsl:variable name="defID"
select="@definition_id"/>
<li>
<span class="toggle">
- <xsl:value-of
select="$ovalDefs[(a)id=$defID]/*[local-name(.)='metadata']/*[local-name(.)='description']"/>
+ <span class="counter title">UNKNOWN
<xsl:value-of select="position()"/></span>: <xsl:value-of
select="$ovalDefs[(a)id=$defID]/*[local-name(.)='metadata']/*[local-name(.)='description']"/>
</span>
<ol class="hidden">
<li>
@@ -394,17 +462,20 @@
</li>
</xsl:for-each>
</xsl:if>
- </ul>
+ </ol>
</li>
<li>
- <span class="title toggle">Not Evaluated : </span><span
class="count"><xsl:value-of
select="$numOvalNotEval"/></span>
- <ul class="hidden">
+ <dl class="result toggle">
+ <dt class="title">Not Evaluated: </dt>
+ <dd class="count"><xsl:value-of
select="$numOvalNotEval"/></dd>
+ </dl>
+ <ol class="hidden">
<xsl:if test="$numOvalNotEval > 0">
<xsl:for-each select="$resultDefs[@result='not
evaluated']">
<xsl:variable name="defID"
select="@definition_id"/>
<li>
<span class="toggle">
- <xsl:value-of
select="$ovalDefs[(a)id=$defID]/*[local-name(.)='metadata']/*[local-name(.)='description']"/>
+ <span class="counter title">NOT EVALUATED
<xsl:value-of select="position()"/></span>: <xsl:value-of
select="$ovalDefs[(a)id=$defID]/*[local-name(.)='metadata']/*[local-name(.)='description']"/>
</span>
<ol class="hidden">
<li>
@@ -414,17 +485,20 @@
</li>
</xsl:for-each>
</xsl:if>
- </ul>
+ </ol>
</li>
<li>
- <span class="title toggle">Not Applicable : </span><span
class="count"><xsl:value-of
select="$numOvalNotApp"/></span>
- <ul class="hidden">
+ <dl class="result toggle">
+ <dt class="title">Not Applicable: </dt>
+ <dd class="count"><xsl:value-of
select="$numOvalNotApp"/></dd>
+ </dl>
+ <ol class="hidden">
<xsl:if test="$numOvalNotApp > 0">
<xsl:for-each select="$resultDefs[@result='not
applicable']">
<xsl:variable name="defID"
select="@definition_id"/>
<li>
<span class="toggle">
- <xsl:value-of
select="$ovalDefs[(a)id=$defID]/*[local-name(.)='metadata']/*[local-name(.)='description']"/>
+ <span class="counter title">NOT APPLICABLE
<xsl:value-of select="position()"/></span>: <xsl:value-of
select="$ovalDefs[(a)id=$defID]/*[local-name(.)='metadata']/*[local-name(.)='description']"/>
</span>
<ol class="hidden">
<li>
@@ -434,15 +508,17 @@
</li>
</xsl:for-each>
</xsl:if>
- </ul>
+ </ol>
</li>
</xsl:template>
<xsl:template match="*[local-name(.)='results']">
- <dl id="summary">
- <dt class="title">Audit Summary</dt>
+ <dl id="oval">
+ <dt class="title white">Audit Summary</dt>
<dd>
- <dl>
+ <dl class="summary">
+ <dt>OVAL Filename: </dt>
+ <dd><xsl:if
test="not($ovalid)">Unknown</xsl:if><xsl:value-of
select="$ovalid"/></dd>
<dt>Failures: </dt>
<dd><xsl:value-of
select="$numOvalFalse"/></dd>
<dt>Passes: </dt>
@@ -461,16 +537,17 @@
</xsl:template>
<xsl:template match="*[local-name(.)='rule-result']">
+ <xsl:param name="result"/>
<xsl:variable name="status"
select="*[local-name(.)='result']"/>
<xsl:variable name="override"
select="*[local-name(.)='override']"/>
<xsl:variable name="idref" select="@idref"/>
<xsl:variable name="rule"
select="//*[local-name(.)='Rule'][@id=$idref]"/>
<li>
- <span class="title toggle"><xsl:value-of
select="$idref"/> : </span>
+ <span class="toggle"><span class="counter
title"><xsl:value-of select="$result"/> <xsl:value-of
select="position()"/></span>: <xsl:value-of
select="$idref"/> - </span>
<span><xsl:value-of
select="$rule/*[local-name(.)='description']"/></span>
<ol class="hidden">
<xsl:if test="$status = 'fail'">
- FixText : <xsl:value-of
select="$rule/*[local-name(.)='fixtext']"/>
+ <li>FixText : <xsl:value-of
select="$rule/*[local-name(.)='fixtext']"/></li>
</xsl:if>
<xsl:if test="$status = 'informational'">
<xsl:variable name="authBy"
select="$override/*[local-name(.)='authority']"/>
@@ -521,11 +598,11 @@
<xsl:value-of
select="*[local-name(.)='metadata']/*[local-name(.)='title']"/>
<span class="ovalid"> ( <xsl:value-of
select="@id"/> )</span>
</span>
- <ul>
+ <ol class="test">
<xsl:apply-templates
select="*[local-name(.)='criteria']/*[local-name(.)='criterion']">
<xsl:with-param name="defResult"
select="$defResult"/>
</xsl:apply-templates>
- </ul>
+ </ol>
</xsl:template>
<xsl:template match="*[local-name(.)='criterion']">
@@ -540,9 +617,23 @@
[ <span class="title"> <xsl:value-of
select="$defResult"/> </span> ]
<span class="ovalid"> ( <xsl:value-of
select="$test_id"/> )</span>
</li>
- <ul>
- <li>check: <span class="title"> <xsl:value-of
select="$test/@check"/> </span></li>
- <li>check_existence: <span class="title"> <xsl:value-of
select="$test/@check_existence"/> </span></li>
+ <ol>
+ <li>check:
+ <span class="title">
+ <xsl:if test="not($test/@check)">
+ all
+ </xsl:if>
+ <xsl:value-of select="$test/@check"/>
+ </span>
+ </li>
+ <li>check_existence:
+ <span class="title">
+ <xsl:if test="not($test/@check_existence)">
+ all_exist_crap
+ </xsl:if>
+ <xsl:value-of select="$test/@check_existence"/>
+ </span>
+ </li>
<li>
<div>State</div>
<xsl:for-each
select="//*[local-name(.)='tests']/*[local-name(.)]">
@@ -571,7 +662,7 @@
</xsl:choose>
</dl>
</li>
- </ul>
+ </ol>
</xsl:template>
<xsl:template match="*[local-name(.)='test']">
@@ -585,9 +676,9 @@
<dl>
<dt class="toggle"><xsl:value-of
select="//*[local-name(.)='variables']//*[@id=$var_id]/@comment"/></dt>
<dd class="hidden">
- <ul>
+ <ol>
<xsl:apply-templates
select="*[local-name(.)='tested_variable']"/>
- </ul>
+ </ol>
</dd>
</dl>
</xsl:if>
@@ -743,9 +834,9 @@
<xsl:template match="*[local-name(.)='system_info']">
<dl id="sysinfo">
- <dt class="title">System Information</dt>
+ <dt class="title white">System Information</dt>
<dd>
- <dl>
+ <dl class="summary">
<dt>Host Name: </dt>
<dd><xsl:value-of
select="*[local-name(.)='primary_host_name']"/></dd>
<dt>Operating System (OS): </dt>
--
1.7.2.2