[PATCH] Fixed Tested Variable placement in results output.
by Jason Dana
---
src/share/transforms/media/css/main.css | 5 ++++-
src/share/transforms/results2html.xsl | 4 +++-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/share/transforms/media/css/main.css b/src/share/transforms/media/css/main.css
index 5e1c6c6..27a227b 100644
--- a/src/share/transforms/media/css/main.css
+++ b/src/share/transforms/media/css/main.css
@@ -69,7 +69,6 @@ dd {
}
dl dd dl dt {
- width: auto;
font-weight: normal;
}
@@ -112,6 +111,10 @@ dl dd dl dd {
padding-left: 20px;
}
+.tested {
+ width: 100%;
+}
+
#wrap {
min-height: 100%;
}
diff --git a/src/share/transforms/results2html.xsl b/src/share/transforms/results2html.xsl
index 9341a36..e93f737 100644
--- a/src/share/transforms/results2html.xsl
+++ b/src/share/transforms/results2html.xsl
@@ -673,6 +673,7 @@
<xsl:if test="*[local-name(.)='tested_variable']">
<xsl:variable name="var_id" select="*[local-name(.)='tested_variable']/@variable_id"/>
<dt>Tested Variables</dt>
+ <dd>
<dl>
<dt class="toggle"><xsl:value-of select="//*[local-name(.)='variables']//*[@id=$var_id]/@comment"/></dt>
<dd class="hidden">
@@ -681,13 +682,14 @@
</ol>
</dd>
</dl>
+ </dd>
</xsl:if>
</xsl:template>
<xsl:template match="*[local-name(.)='tested_item']">
<xsl:variable name="item_id" select="@item_id"/>
<xsl:variable name="result" select="@result"/>
- <dd><dl>
+ <dd><dl class="tested">
<!--<xsl:apply-templates select="//*[local-name(.)='system_data']//*[@id=$item_id]"/>-->
<xsl:for-each select="//*[local-name(.)='system_data']//*[@id=$item_id]">
<dt class="toggle"><xsl:value-of select="local-name(.)"/> [ <span class="title"> <xsl:value-of select="$result"/> </span> ] </dt>
--
1.7.2.2
13 years, 8 months
[PATCH] Added about and help html files.
by Jason Dana
---
src/share/transforms/about.html | 39 ++++++++++++++++++++++
src/share/transforms/help.html | 68 +++++++++++++++++++++++++++++++++++++++
2 files changed, 107 insertions(+), 0 deletions(-)
create mode 100644 src/share/transforms/about.html
create mode 100644 src/share/transforms/help.html
diff --git a/src/share/transforms/about.html b/src/share/transforms/about.html
new file mode 100644
index 0000000..775ec13
--- /dev/null
+++ b/src/share/transforms/about.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "--//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
+<html>
+ <head>
+ <title>SecState Audit Results</title>
+ <link id="style" rel="stylesheet" href="media/css/main.css" type="text/css" media="screen" />
+ <link rel="stylesheet" href="media/css/print.css" type="text/css" media="print" />
+ <script type="text/javascript" src="media/js/jquery-1.4.2.min.js"></script>
+ <script type="text/javascript" src="media/js/custom.js"></script>
+ </head>
+ <body>
+ <div id="wrap">
+ <div id="header">
+ <span id="secstate">
+ <h1>SecState</h1> Version 1.0<br/>
+ System Security Compliance & Audit Tool
+ </span>
+ <span id="nav">
+ <a id="print" href="#">Print</a>
+ </span>
+ </div>
+ <div id="about">
+ <dl>
+ <dt>About SecState</dt>
+ <dd>SecState is a tool that attempts to streamline the Certification and Accreditation (C&A) process of Linux systems. SecState provides a mechanism to verify, validate, and provide remediation to security relevant configuration items. The projects main goals are to provide a user friendly interface to configure the security state of a system and generate evidence that it is configured as such, to be usede within the C&A process.</dd>
+ <dt>FAQ</dt>
+ <dd>
+ <dl id="faq">
+ <dt>Q: Sample Question</dt>
+ <dd>A: Sample Answer</dd>
+ </dl>
+ </dd>
+ <dt>About Tresys</dt>
+ <dd> description</dd>
+ </dl>
+ </div>
+ </div>
+ <div id="footer"><span id="tresys">Tresys Technology, LLC</span><span id="version">Version 1.0</span></div>
+ </body>
+</html>
diff --git a/src/share/transforms/help.html b/src/share/transforms/help.html
new file mode 100644
index 0000000..702618a
--- /dev/null
+++ b/src/share/transforms/help.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html PUBLIC "--//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
+<html>
+ <head>
+ <title>SecState Audit Results</title>
+ <link id="style" rel="stylesheet" href="media/css/main.css" type="text/css" media="screen" />
+ <link rel="stylesheet" href="media/css/print.css" type="text/css" media="print" />
+ <script type="text/javascript" src="media/js/jquery-1.4.2.min.js"></script>
+ <script type="text/javascript" src="media/js/custom.js"></script>
+ </head>
+ <body>
+ <div id="wrap">
+ <div id="header">
+ <span id="secstate">
+ <h1>SecState</h1> Version 1.0<br/>
+ System Security Compliance & Audit Tool
+ </span>
+ <span id="nav">
+ <a id="print" href="#">Print</a>
+ </span>
+ </div>
+ <div>
+ <dl id="help">
+ <dt class="title">Benchmark Result Definitions:</dt>
+ <dd>
+ <dl class="help">
+ <dt>Pass:</dt>
+ <dd>The target system or system component satisfied all the conditions of the Rule; a pass result contributes to the weighted score and maximum possible score.</dd>
+ <dt>Fail:</dt>
+ <dd>The target system or system component did not satisfy all the conditions of the Rule; a fail result contributes to the maximum possible score.</dd>
+ <dt>Error:</dt>
+ <dd>The checking engine encountered a system error and could not complete the test, therefore the status of the target's compliance with the Rule is not certain. This could happen, for example, if a Benchmark testing tool were runwith insufficient privileges.</dd>
+ <dt>Unknown:</dt>
+ <dd>THe testing tool encountered some problem and the result is unknown. For example, a result of 'unknown' might be given if the Benchmark testing tool were unable to interpret the output of the checking engine.</dd>
+ <dt>Not Applicable</dt>
+ <dd>The Rule was not applicable to the target of the test. For example, the Rule might have been specific to a different version of the target OS, or it might hvae been a test against a platform feature that was not installed. Results with this status do not contribute to the Benchmark score.</dd>
+ <dt>Not Checked</dt>
+ <dd>The Rule was not evaluated by the checking engine. This status is designed for Rules witha role of 'unchecked', and for Rules that have no check properties. It may also correspond to a status returned by a checking engine. Results with this status do not contribute to the Benchmark score.</dd>
+ <dt>Not Selected</dt>
+ <dd>The Rule was not selected in the Benchmark. Results with this status do not contribute to the Benchmark score.</dd>
+ <dt>Informational/Mitigated</dt>
+ <dd>The Rule was checked, but the output from the checking engine is simply information for the auditor or administrator; it is not a compliance category. This status is the default for Rules with a role of 'unscored'. This status value is designed for Rules whose main purpose is to extract information from the target rather than test compliance. Results with this status do not contribute to the Benchmark score.</dd>
+ <dt>Fixed</dt>
+ <dd>The Rule had failed, but was then fixed (possibly by SecState or by the human auditor). Results with this status should be scored the same as <b>Pass</b>.</dd>
+ </dl>
+ </dd>
+ <dt class="title">OVAL Result Definitions:</dt>
+ <dd>
+ <dl class="help">
+ <dt>Pass:</dt>
+ <dd>When evaluating a definition or test, the characteristics being evaluated matched the information represented in the system characteristic file.</dd>
+ <dt>Fail:</dt>
+ <dd>When evaluating a definition or test, the characteristics being evaluated did not match the informatoin represented in the system characteristic file.</dd>
+ <dt>Unknown:</dt>
+ <dd>When evaluating a definition or test, the characteristics being evalutaed could not be found in the system characteristic file or the characteristics can be found but a collected object's flag is 'not collected'.</dd>
+ <dt>Error:</dt>
+ <dd>When evaluating a definition or test, the characteristics being evaluted exist in the system characteristic file but there was an error either collecting information or in performing analysis. For example, if there was an error returned by an api when trying to determine if an object exists on a system.</dd>
+ <dt>Not Evaluated:</dt>
+ <dd>When evaluating a definition or test, a choice was made not to evaluate the given definition or test. The actual result is in essence unknown since if evaluation had occurred it could have been either true or false.</dd>
+ <dt>Not Applicable:</dt>
+ <dd>When evaluating a definition or test, the definition or test being evaluated is not valid on the given platform. For example, trying to collect Linux RPM information on a Windows system.</dd>
+ </dl>
+ </dd>
+ </dl>
+ </div>
+ </div>
+ <div id="footer"><span id="tresys">Tresys Technology, LLC</span><span id="version">Version 1.0</span></div>
+ </body>
+</html>
--
1.7.2.2
13 years, 8 months
[PATCH] Updated result transformation.
by Jason Dana
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
13 years, 8 months