Skip to content

Commit 30dfeda

Browse files
authored
Merge pull request #1401 from abergmann/stig-viewer-uri-changes
Add new STIG Viewer URI public.cyber.mil and be backward compatible
2 parents 0e939e1 + 5c80ae1 commit 30dfeda

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/XCCDF/result.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,8 @@
7070
#define XCCDF_NUMERIC_SIZE 32
7171

7272
// References containing STIG Rule IDs can be found by their href attribute, it must match the following url
73-
static const char *DISA_STIG_VIEWER_HREF = "http://iase.disa.mil/stigs/Pages/stig-viewing-guidance.aspx";
73+
static const char *DISA_STIG_VIEWER_HREF[] = { "http://iase.disa.mil/stigs/Pages/stig-viewing-guidance.aspx",
74+
"https://public.cyber.mil/stigs/srg-stig-tools/" };
7475

7576
// constants
7677
static const xccdf_numeric XCCDF_SCORE_MAX_DAFAULT = 100.0f;
@@ -1085,7 +1086,8 @@ void xccdf_result_to_dom(struct xccdf_result *result, xmlNode *result_node, xmlD
10851086
struct oscap_reference_iterator *references = xccdf_item_get_references(item);
10861087
while (oscap_reference_iterator_has_more(references)) {
10871088
struct oscap_reference *ref = oscap_reference_iterator_next(references);
1088-
if (strcmp(oscap_reference_get_href(ref), DISA_STIG_VIEWER_HREF) == 0) {
1089+
if (strcmp(oscap_reference_get_href(ref), DISA_STIG_VIEWER_HREF[0]) == 0 ||
1090+
strcmp(oscap_reference_get_href(ref), DISA_STIG_VIEWER_HREF[1]) == 0) {
10891091
const char *stig_rule_id = oscap_reference_get_title(ref);
10901092

10911093
xccdf_test_result_type_t other_res = (xccdf_test_result_type_t)oscap_htable_detach(nodes_by_rule_id, stig_rule_id);
@@ -1292,7 +1294,8 @@ void xccdf_rule_result_to_dom(struct xccdf_rule_result *result, xmlDoc *doc, xml
12921294
struct oscap_reference_iterator *references = xccdf_item_get_references(item);
12931295
while (oscap_reference_iterator_has_more(references)) {
12941296
struct oscap_reference *ref = oscap_reference_iterator_next(references);
1295-
if (strcmp(oscap_reference_get_href(ref), DISA_STIG_VIEWER_HREF) == 0) {
1297+
if (strcmp(oscap_reference_get_href(ref), DISA_STIG_VIEWER_HREF[0]) == 0 ||
1298+
strcmp(oscap_reference_get_href(ref), DISA_STIG_VIEWER_HREF[1]) == 0) {
12961299
const char *stig_rule_id = oscap_reference_get_title(ref);
12971300

12981301
xccdf_test_result_type_t expected_res = (xccdf_test_result_type_t)oscap_htable_get(nodes_by_rule_id, stig_rule_id);

0 commit comments

Comments
 (0)