[Open-scap] Fix for file probe on solaris when encountering special file types.

Jacob Varughese jacob.varughese at oracle.com
Thu May 1 16:44:24 UTC 2014


Hi All,
Submitting patch to fix file probe failure on solaris for special file 
types.
     Modified files:
  src/OVAL/probes/unix/file.c

     Please provide feedback.

Thank you,
Jacob.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/open-scap-list/attachments/20140501/637afd56/attachment.htm>
-------------- next part --------------
>From 61794a47240b400fe5f358c20e405c77536487a9 Mon Sep 17 00:00:00 2001
From: Jacob Varughese <jacob.varughese at oracle.com>
Date: Thu, 1 May 2014 09:40:45 -0700
Subject: [PATCH] Fixed file probe failure when encountering door,port file
 types on solaris.

---
 src/OVAL/probes/unix/file.c |   15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/OVAL/probes/unix/file.c b/src/OVAL/probes/unix/file.c
index 4f0f446..addf3ea 100644
--- a/src/OVAL/probes/unix/file.c
+++ b/src/OVAL/probes/unix/file.c
@@ -86,6 +86,9 @@ static SEXP_t *gr_true   = NULL, *gr_false  = NULL, *gr_t_reg  = NULL;
 static SEXP_t *gr_t_dir  = NULL, *gr_t_lnk  = NULL, *gr_t_blk  = NULL;
 static SEXP_t *gr_t_fifo = NULL, *gr_t_sock = NULL, *gr_t_char = NULL;
 static SEXP_t  gr_lastpath;
+#if defined(OS_SOLARIS)
+static SEXP_t *gr_t_door = NULL, *gr_t_port = NULL;
+#endif
 
 static SEXP_t *se_filetype (mode_t mode)
 {
@@ -97,6 +100,10 @@ static SEXP_t *se_filetype (mode_t mode)
         case S_IFIFO:  return (gr_t_fifo);
         case S_IFSOCK: return (gr_t_sock);
         case S_IFCHR:  return (gr_t_char);
+#if defined(OS_SOLARIS)
+	case S_IFDOOR: return (gr_t_door);
+	case S_IFPORT: return (gr_t_port);
+#endif
         default:
                 abort ();
         }
@@ -357,6 +364,10 @@ void *probe_init (void)
 #define STR_SOCKET    "socket"
 #define STR_CHARSPEC  "character special"
 #define STRLEN_PAIR(str) (str), strlen(str)
+#if defined(OS_SOLARIS)
+#define	STR_DOOR	"door"
+#define	STR_PORT	"port"
+#endif
 
         gr_t_reg  = SEXP_string_new (STRLEN_PAIR(STR_REGULAR));
         gr_t_dir  = SEXP_string_new (STRLEN_PAIR(STR_DIRECTORY));
@@ -365,6 +376,10 @@ void *probe_init (void)
         gr_t_fifo = SEXP_string_new (STRLEN_PAIR(STR_FIFO));
         gr_t_sock = SEXP_string_new (STRLEN_PAIR(STR_SOCKET));
         gr_t_char = SEXP_string_new (STRLEN_PAIR(STR_CHARSPEC));
+#if defined(OS_SOLARIS)
+        gr_t_door = SEXP_string_new (STRLEN_PAIR(STR_DOOR));
+        gr_t_port = SEXP_string_new (STRLEN_PAIR(STR_PORT));
+#endif
 
 	SEXP_init(&gr_lastpath);
 
-- 
1.7.9.2



More information about the Open-scap-list mailing list