components/openscap/patches/port097.patch
author Jacob Varughese <jacob.varughese@oracle.com>
Tue, 25 Jun 2013 10:43:56 -0700
changeset 1369 20813e08fff3
child 1502 89c98773d0af
permissions -rw-r--r--
16186483 Port openscap 0.9.7 to solaris 16371391 system info probe does not provide phys. interface name, mac addr and IP addr 16597173 File probe crashes when encountering file types of door,port 16908303 oscap leaves too many open file descriptors, processing xccdf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1369
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
     1
This patch provides ports for oscap-info.c, isainfo.c, sce_engince.c,
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
     2
xccdf_policy.c for solaris.
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
     3
This patch has not been contributed upstream, but is planned to be done by
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
     4
 2013-Jul-12.
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
     5
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
     6
--- openscap-0.9.7/src/OVAL/probes/unix/solaris/isainfo.c.orig	2012-12-12 07:09:05.809498641 -0800
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
     7
+++ openscap-0.9.7/src/OVAL/probes/unix/solaris/isainfo.c	2012-12-28 11:57:46.931236023 -0800
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
     8
@@ -47,6 +47,7 @@
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
     9
 #include <arpa/inet.h>
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    10
 #include <regex.h>
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    11
 #include <sys/systeminfo.h>
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    12
+#include "../../../../common/debug_priv.h"
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    13
 
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    14
 /* man sysinfo (2) recommends using 257 for this size */
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    15
 #define MAX_STR_RESULT 257
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    16
--- openscap-0.9.7/utils/oscap-info.c.~1~	2012-12-14 02:13:18.113881933 -0800
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    17
+++ openscap-0.9.7/utils/oscap-info.c	2013-01-16 09:55:13.348770490 -0800
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    18
@@ -34,7 +34,11 @@
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    19
 #include <time.h>
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    20
 #include <sys/types.h>
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    21
 #include <sys/stat.h>
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    22
+#if defined(__SVR4) && defined (__sun)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    23
+#include <limits.h>
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    24
+#else
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    25
 #include <linux/limits.h>
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    26
+#endif
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    27
 
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    28
 #include <oscap.h>
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    29
 #include <oval_results.h>
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    30
--- openscap-0.9.7/src/SCE/sce_engine.c.~1~	2013-02-25 06:14:51.840092360 -0800
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    31
+++ openscap-0.9.7/src/SCE/sce_engine.c	2013-04-03 15:31:16.479290382 -0700
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    32
@@ -52,7 +52,11 @@
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    33
 {
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    34
 	char* href;
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    35
 	char* basename;
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    36
+#if defined(__SVR4) && defined(__sun)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    37
+	char* std_out;
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    38
+#else
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    39
 	char* stdout;
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    40
+#endif
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    41
 	int exit_code;
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    42
 	struct oscap_stringlist* environment_variables;
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    43
 	xccdf_test_result_type_t xccdf_result;
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    44
@@ -63,7 +67,11 @@
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    45
 	struct sce_check_result* ret = oscap_alloc(sizeof(struct sce_check_result));
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    46
 	ret->href = NULL;
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    47
 	ret->basename = NULL;
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    48
+#if defined(__SVR4) && defined(__sun)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    49
+	ret->std_out = NULL;
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    50
+#else
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    51
 	ret->stdout = NULL;
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    52
+#endif
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    53
 	ret->environment_variables = oscap_stringlist_new();
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    54
 	ret->xccdf_result = XCCDF_RESULT_UNKNOWN;
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    55
 
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    56
@@ -79,8 +87,13 @@
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    57
 		oscap_free(v->href);
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    58
 	if (v->basename)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    59
 		oscap_free(v->basename);
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    60
+#if defined(__SVR4) && defined(__sun)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    61
+	if (v->std_out)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    62
+		oscap_free(v->std_out);
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    63
+#else
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    64
 	if (v->stdout)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    65
 		oscap_free(v->stdout);
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    66
+#endif
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    67
 
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    68
 	oscap_stringlist_free(v->environment_variables);
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    69
 
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    70
@@ -115,15 +128,24 @@
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    71
 
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    72
 void sce_check_result_set_stdout(struct sce_check_result* v, const char* _stdout)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    73
 {
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    74
+#if defined(__SVR4) && defined(__sun)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    75
+	if (v->std_out)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    76
+		oscap_free(v->std_out);
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    77
+	v->std_out = oscap_strdup(_stdout);
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    78
+#else
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    79
 	if (v->stdout)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    80
 		oscap_free(v->stdout);
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    81
-
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    82
 	v->stdout = oscap_strdup(_stdout);
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    83
+#endif
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    84
 }
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    85
 
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    86
 const char* sce_check_result_get_stdout(struct sce_check_result* v)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    87
 {
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    88
+#if defined(__SVR4) && defined(__sun)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    89
+	return v->std_out;
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    90
+#else
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    91
 	return v->stdout;
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    92
+#endif
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    93
 }
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    94
 
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    95
 void sce_check_result_set_exit_code(struct sce_check_result* v, int exit_code)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    96
@@ -178,7 +200,11 @@
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    97
 	oscap_string_iterator_free(it);
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    98
 	fprintf(f, "\t</sceres:environment>\n");
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    99
 	fprintf(f, "\t<sceres:stdout><![CDATA[\n");
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   100
+#if defined(__SVR4) && defined(__sun)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   101
+	fwrite(v->std_out, 1, strlen(v->std_out), f);
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   102
+#else
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   103
 	fwrite(v->stdout, 1, strlen(v->stdout), f);
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   104
+#endif
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   105
 	fprintf(f, "\t]]></sceres:stdout>\n");
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   106
 	fprintf(f, "\t<sceres:exit_code>%i</sceres:exit_code>\n", sce_check_result_get_exit_code(v));
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   107
 	fprintf(f, "\t<sceres:result>%s</sceres:result>\n", xccdf_test_result_type_get_text(sce_check_result_get_xccdf_result(v)));
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   108
--- openscap-0.9.7/src/XCCDF_POLICY/xccdf_policy.c.~1~	2013-03-19 07:58:22.307735235 -0700
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   109
+++ openscap-0.9.7/src/XCCDF_POLICY/xccdf_policy.c	2013-04-03 15:35:39.100347346 -0700
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   110
@@ -521,7 +521,11 @@
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   111
             if (r_value != NULL) {
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   112
                 selector = xccdf_refine_value_get_selector(r_value);
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   113
                 /* This refine value changes the value content */
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   114
+#if defined(__SVR4) && defined(__sun)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   115
+                if (!isnan((double)xccdf_refine_value_get_oper(r_value))) {
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   116
+#else
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   117
                 if (!isnan(xccdf_refine_value_get_oper(r_value))) {
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   118
+#endif
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   119
                     binding->operator = xccdf_refine_value_get_oper(r_value);
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   120
                 } else binding->operator = xccdf_value_get_oper(value);
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   121
 
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   122
@@ -2142,9 +2146,17 @@
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   123
                 
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   124
             } else if (xccdf_item_get_type(item) == XCCDF_RULE) {
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   125
                 /* Perform all changes in rule */
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   126
+#if defined(__SVR4) && defined(__sun)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   127
+                if (!isnan((double)xccdf_refine_rule_get_role(r_rule)))
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   128
+#else
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   129
                 if (!isnan(xccdf_refine_rule_get_role(r_rule)))
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   130
+#endif
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   131
                     xccdf_rule_set_role((struct xccdf_rule *) item, xccdf_refine_rule_get_role(r_rule));
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   132
+#if defined(__SVR4) && defined(__sun)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   133
+                if (!isnan((double)xccdf_refine_rule_get_severity(r_rule)))
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   134
+#else
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   135
                 if (!isnan(xccdf_refine_rule_get_severity(r_rule)))
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   136
+#endif
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   137
                     xccdf_rule_set_severity((struct xccdf_rule *) item, xccdf_refine_rule_get_severity(r_rule));
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   138
 
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   139
             } else {}/* TODO oscap_err ? */;
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   140
@@ -2201,7 +2213,11 @@
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   141
     const struct xccdf_version_info* version_info = xccdf_benchmark_get_schema_version(benchmark);
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   142
     doc_version = xccdf_version_info_get_version(version_info);
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   143
 
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   144
+#ifdef __USE_GNU
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   145
     if (strverscmp("1.2", doc_version) >= 0)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   146
+#else
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   147
+    if (strcmp("1.2", doc_version) >= 0)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   148
+#endif
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   149
     {
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   150
         // we have to enforce a certain type of ids for XCCDF 1.2+
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   151
 
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   152
@@ -2376,9 +2392,17 @@
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   153
             if (r_rule == NULL) return item;
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   154
 
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   155
             new_item = (struct xccdf_item *) xccdf_rule_clone((struct xccdf_rule *) item);
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   156
+#if defined(__SVR4) && defined(__sun)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   157
+            if (!isnan((double)xccdf_refine_rule_get_role(r_rule)))
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   158
+#else
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   159
             if (!isnan(xccdf_refine_rule_get_role(r_rule)))
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   160
+#endif
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   161
                 xccdf_rule_set_role((struct xccdf_rule *) new_item, xccdf_refine_rule_get_role(r_rule));
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   162
+#if defined(__SVR4) && defined(__sun)
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   163
+            if (!isnan((double)xccdf_refine_rule_get_severity(r_rule)))
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   164
+#else
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   165
             if (!isnan(xccdf_refine_rule_get_severity(r_rule)))
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   166
+#endif
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   167
                 xccdf_rule_set_severity((struct xccdf_rule *) new_item, xccdf_refine_rule_get_severity(r_rule));
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   168
             if (xccdf_refine_rule_weight_defined(r_rule))
20813e08fff3 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   169
                 xccdf_rule_set_weight((struct xccdf_rule *) new_item, xccdf_refine_rule_get_weight(r_rule));