components/openscap/patches/smf.c.patch
author Norm Jacobs <Norm.Jacobs@Oracle.COM>
Fri, 21 Mar 2014 00:13:55 -0700
branchs11-update
changeset 2996 9d8e1fd67549
parent 2705 e39a44e3cb41
child 4014 9dbd5dce19df
permissions -rw-r--r--
15818459 SUNBT7200992 gcc45 needs a 'link path=usr/gcc/4.5/share/info/dir ...' action
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2705
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
     1
This patch implements the smf probe on solaris, which gathers service_name,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
     2
service_state, exec_as_user from the smf repository for the fmri that is
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
     3
provided.
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
     4
This patch has not been contributed upstream, but is planned to be done by
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
     5
 2013-Jul-12.
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
     6
e39a44e3cb41 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/smf.c.~1~	2013-04-23 06:21:51.479000001 -0700
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
     8
+++ openscap-0.9.7/src/OVAL/probes/unix/solaris/smf.c	2013-06-18 13:13:20.112012008 -0700
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
     9
@@ -33,9 +33,240 @@
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    10
 #endif
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    11
 
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    12
 #include "probe-api.h"
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    13
+#ifdef HAVE_CONFIG_H
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    14
+#include <config.h>
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    15
+#endif
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    16
+
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    17
+#if	defined(__SVR4) && defined(__sun)
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    18
+/*
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    19
+ * smf probe:
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    20
+ *
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    21
+ * fmri
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    22
+ * service_name
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    23
+ * service_state
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    24
+ * protocol
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    25
+ * server_executable
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    26
+ * server_arguements
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    27
+ * exec_as_user
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    28
+ */
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    29
+
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    30
 
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    31
+#include <stdlib.h>
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    32
+#include <string.h>
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    33
+#include <stdio.h>
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    34
+#include <errno.h>
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    35
+#include <sys/stat.h>
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    36
+#include <ctype.h>
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    37
+#include <sys/types.h>
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    38
+#include <limits.h>
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    39
+#include <unistd.h>
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    40
+#include <libscf.h>
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    41
+#include <libscf_priv.h>
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    42
+#include "seap.h"
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    43
+#include "probe/entcmp.h"
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    44
+#include "alloc.h"
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    45
+#include "common/debug_priv.h"
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    46
+
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    47
+#ifndef SCF_PG_START
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    48
+#define	SCF_PG_START	"start"
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    49
+#endif
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    50
+
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    51
+/* Convenience structure for the results being reported */
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    52
+struct result_info {
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    53
+	const char *fmri;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    54
+	char *service_name;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    55
+	char *service_state;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    56
+	char *protocol;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    57
+	char *server_executable;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    58
+	char *server_arguments;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    59
+	char *exec_as_user;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    60
+};
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    61
+
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    62
+
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    63
+static void
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    64
+toUpperCase(char *str)
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    65
+{
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    66
+	int i = 0;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    67
+
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    68
+	if (str != NULL) {
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    69
+		while (str[i] != '\0') {
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    70
+			str[i] = toupper(str[i]);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    71
+			i++;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    72
+		}
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    73
+	}
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    74
+}
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    75
+
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    76
+static char *
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    77
+strdup_check(char *p)
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    78
+{
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    79
+	char *ret;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    80
+
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    81
+	if ((ret = strdup(p)) == NULL) {
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    82
+		oscap_dlprintf(DBG_E, "Error: Out of Memory error.\n");
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    83
+		exit(PROBE_ENOMEM);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    84
+	}
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    85
+	return (ret);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    86
+}
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    87
+
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    88
+static void
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    89
+get_smf_prop_val(scf_handle_t *h, const char *fmri,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    90
+    const char *prop_grp_name, const char *prop_name, char **val)
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    91
+{
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    92
+	scf_simple_prop_t *prop;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    93
+	char *prop_val;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    94
+	*val = NULL;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    95
+
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    96
+	if ((prop = scf_simple_prop_get(h, fmri, prop_grp_name,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    97
+	    prop_name)) == NULL) {
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    98
+		if (scf_error() == SCF_ERROR_NOT_FOUND) {
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
    99
+			oscap_dlprintf(DBG_E, "Error: Specified service "
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   100
+			    " %s has no %s/%s property.\n",
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   101
+			    fmri, prop_grp_name, prop_name);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   102
+		} else if (scf_error() == SCF_ERROR_INVALID_ARGUMENT) {
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   103
+			oscap_dlprintf(DBG_E, "Error: Invalid service "
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   104
+			    " %s does not exist.\n",
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   105
+			    fmri);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   106
+		}
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   107
+	} else {
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   108
+		if ((prop_val =
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   109
+		    scf_simple_prop_next_astring(prop)) == NULL) {
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   110
+			oscap_dlprintf(DBG_E,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   111
+			    "Error: Could not read "
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   112
+			    " %s/%s property of %s.\n",
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   113
+			    prop_grp_name,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   114
+			    prop_name,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   115
+			    fmri);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   116
+		} else if (prop_val[0] != '\0') {
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   117
+			*val = strdup_check(prop_val);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   118
+		}
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   119
+		scf_simple_prop_free(prop);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   120
+	}
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   121
+}
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   122
+
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   123
+
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   124
+static void
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   125
+report_finding(struct result_info *res, probe_ctx *ctx)
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   126
+{
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   127
+	SEXP_t *item;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   128
+
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   129
+	oscap_dlprintf(DBG_I, "In report_finding.\n");
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   130
+	item = probe_item_create(OVAL_SOLARIS_SMF, NULL,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   131
+	    "fmri", OVAL_DATATYPE_STRING, res->fmri,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   132
+	    "service_name", OVAL_DATATYPE_STRING, res->service_name,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   133
+	    "service_state", OVAL_DATATYPE_STRING, res->service_state,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   134
+	    "protocol", OVAL_DATATYPE_STRING, res->protocol,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   135
+	    "server_executable", OVAL_DATATYPE_STRING,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   136
+	    res->server_executable,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   137
+	    "server_arguments", OVAL_DATATYPE_STRING,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   138
+	    res->server_arguments,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   139
+	    "exec_as_user", OVAL_DATATYPE_STRING, res->exec_as_user,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   140
+	    NULL);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   141
+	probe_item_collect(ctx, item);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   142
+}
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   143
+
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   144
+static int
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   145
+collect_smf_info(char *fmri, probe_ctx *ctx)
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   146
+{
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   147
+	struct result_info r;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   148
+	int rc = 0, type;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   149
+	const char *service, *instance, *scope, *propgrp, *prop;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   150
+	char *tmp;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   151
+	scf_handle_t *scf_hdl = NULL;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   152
+	scf_instance_t *inst = NULL;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   153
+	scf_service_t *svc = NULL;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   154
+
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   155
+
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   156
+	oscap_dlprintf(DBG_I, "In collect_smf_info.\n");
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   157
+	memset(&r, 0, sizeof (r));
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   158
+	r.service_name = strdup_check(fmri);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   159
+	tmp = r.service_name;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   160
+	scf_parse_fmri(r.service_name, &type, &scope, &service,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   161
+	    &instance, &propgrp, &prop);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   162
+	if (scf_error() == SCF_ERROR_INVALID_ARGUMENT) {
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   163
+		rc = PROBE_EINVAL;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   164
+		goto cleanup;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   165
+	}
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   166
+	if (instance == NULL)
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   167
+		r.service_name = strdup(service);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   168
+	else /* service name is service:instance */
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   169
+		asprintf(&r.service_name, "%s:%s", service, instance);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   170
+	if (r.service_name == NULL)
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   171
+		exit(PROBE_ENOMEM);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   172
+	free(tmp);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   173
+	r.fmri = fmri;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   174
+	if ((scf_hdl = scf_handle_create(SCF_VERSION)) == NULL ||
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   175
+	    scf_handle_bind(scf_hdl) != 0 ||
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   176
+	    (svc = scf_service_create(scf_hdl)) == NULL ||
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   177
+	    (instance != NULL &&
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   178
+	    (inst = scf_instance_create(scf_hdl)) == NULL)) {
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   179
+		rc = PROBE_EFATAL;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   180
+		goto cleanup;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   181
+	}
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   182
+	/* To check if service exists */
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   183
+	get_smf_prop_val(scf_hdl, r.fmri, SCF_PG_RESTARTER,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   184
+	    SCF_PROPERTY_STATE, &(r.service_state));
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   185
+	if (scf_error() == SCF_ERROR_NOT_FOUND) {
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   186
+		if (scf_handle_decode_fmri(scf_hdl, fmri, NULL, svc,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   187
+		    (instance == NULL ? NULL : inst),
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   188
+		    NULL, NULL, SCF_DECODE_FMRI_EXACT) != 0 ||
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   189
+			scf_error() == SCF_ERROR_NOT_FOUND) {
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   190
+			oscap_dlprintf(DBG_I,"decode_fmri failed.\n");
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   191
+			goto cleanup;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   192
+		}
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   193
+	}
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   194
+	if (r.service_state != NULL &&
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   195
+	    r.service_state[0] != '\0')
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   196
+		toUpperCase(r.service_state);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   197
+	get_smf_prop_val(scf_hdl, r.fmri, SCF_PG_START,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   198
+	    SCF_PROPERTY_EXEC, &(r.server_executable));
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   199
+	get_smf_prop_val(scf_hdl, r.fmri, SCF_PG_START,
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   200
+	    SCF_PROPERTY_USER, &(r.exec_as_user));
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   201
+	report_finding(&r, ctx);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   202
+	free(r.protocol);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   203
+	free(r.service_state);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   204
+	free(r.server_executable);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   205
+	free(r.server_arguments);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   206
+	free(r.exec_as_user);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   207
+cleanup:
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   208
+	free(r.service_name);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   209
+	scf_service_destroy(svc);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   210
+	scf_instance_destroy(inst);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   211
+	if (scf_hdl != NULL)
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   212
+		scf_handle_unbind(scf_hdl);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   213
+	scf_handle_destroy(scf_hdl);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   214
+	return (rc);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   215
+}
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   216
+
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   217
+int
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   218
+probe_main(probe_ctx *ctx, void *arg)
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   219
+{
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   220
+	SEXP_t *fmri, *fmri_val, *probe_in;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   221
+	char *fmri_str;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   222
+	int rc;
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   223
+
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   224
+	probe_in = probe_ctx_getobject(ctx);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   225
+	if (probe_in == NULL) {
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   226
+		oscap_dlprintf(DBG_E, "No object in context.\n");
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   227
+		return (PROBE_ENOVAL);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   228
+	}
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   229
+	fmri = probe_obj_getent(probe_in, "fmri", 1);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   230
+	if (fmri == NULL) {
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   231
+		oscap_dlprintf(DBG_E, "No fmri in context.\n");
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   232
+		return (PROBE_ENOVAL);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   233
+	}
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   234
+	fmri_val = probe_ent_getval(fmri);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   235
+	fmri_str = SEXP_string_cstr(fmri_val);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   236
+	oscap_dlprintf(DBG_I, "fmri in context: %s.\n", fmri_str);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   237
+	rc = collect_smf_info(fmri_str, ctx);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   238
+	free(fmri_str);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   239
+	SEXP_free(fmri_val);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   240
+	SEXP_free(fmri);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   241
+	return (rc);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   242
+} 
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   243
+#else
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   244
 
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   245
 int probe_main(probe_ctx *ctx, void *probe_arg)
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   246
 {
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   247
         return(PROBE_EOPNOTSUPP);
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   248
 }
e39a44e3cb41 16186483 Port openscap 0.9.7 to solaris
Jacob Varughese <jacob.varughese@oracle.com>
parents:
diff changeset
   249
+#endif