Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Aug 2008 19:35:20 GMT
From:      Vincenzo Iozzo <snagg@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 146551 for review
Message-ID:  <200808031935.m73JZKZE077594@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=146551

Change 146551 by snagg@snagg_macosx on 2008/08/03 19:34:21

	Added test for close(2) and fixed a bug while checking error value

Affected files ...

.. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/audit_pipe_regression_test_utils.c#6 edit
.. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_close.c#1 add
.. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_open.c#4 edit
.. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_setgid.c#2 edit
.. //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_setuid.c#2 edit

Differences ...

==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/audit_pipe_regression_test_utils.c#6 (text+ko) ====

@@ -338,8 +338,10 @@
 int check_ret(au_ret32_t ret, int r, char *val)
 {
 	if(ret.ret == r)
-		//if(!strncmp(ret.status, val, strlen(ret.status) > strlen(val)? 
-		//	    strlen(ret.status): strlen(val)))
+		if(!ret.status)
+			if(!strncmp(val, "success", strlen(val)))
+				return 1;
+		else if(!strncmp(strerror(ret.status), val, strlen(val)))
 			return 1;
 	return 0;
 }
@@ -393,7 +395,7 @@
 
 	if(fstat(fd, &s) == -1)
 		return 0;
-	if(attr.mode == s.st_mode && attr.uid == s.st_uid && attr.gid == s.st_gid && 
+	if(attr.mode == (s.st_mode & ALLPERMS) && attr.uid == s.st_uid && attr.gid == s.st_gid && 
 	    attr.nid == s.st_ino && attr.dev == s.st_dev)
 		return 1;
 

==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_open.c#4 (text+ko) ====

@@ -93,7 +93,10 @@
   	write_int(O_RDONLY, "arg2");
 	write_int(fd, "fd");
 	write_int(fd, "ret");
-	write_string(strerror(errno), "ret_val");
+	if (ret == -1)
+		write_string(strerror(errno), "ret_val");
+	else
+		write_string("success", "ret_val");
 	write_end();
 	
 	close(fd);
@@ -102,7 +105,10 @@
   	write_int(O_WRONLY, "arg2");
 	write_int(fd, "fd");
 	write_int(fd, "ret");
-	write_string(strerror(errno), "ret_val");
+	if (ret == -1)
+		write_string(strerror(errno), "ret_val");
+	else
+		write_string("success", "ret_val");
 	write_end();
 	
   	close(fd);
@@ -113,7 +119,10 @@
 	write_int(0666, "arg3");
 	write_int(fd, "fd");
 	write_int(fd, "ret");
-	write_string(strerror(errno), "ret_val");
+	if (ret == -1)
+		write_string(strerror(errno), "ret_val");
+	else
+		write_string("success", "ret_val");
 	write_end();
 	
 	close(fd);	
@@ -311,7 +320,6 @@
 	}
 	close_auditpipe(fd, fdout);
 	end_channel();
-	dump(path);
 	f = init_log(pid);
 	validate(f, head, path, pid);
 	fclose(f);

==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_setgid.c#2 (text+ko) ====

@@ -87,13 +87,19 @@
 	ret = setgid(0);
   	write_int(0, "gid");
   	write_int(ret, "ret");
-	write_string(strerror(errno), "ret_val");
+	if (ret == -1)
+		write_string(strerror(errno), "ret_val");
+	else
+		write_string("success", "ret_val");
 	write_end();
 	
 	ret = setgid(1000);
   	write_int(1000, "gid");
   	write_int(ret, "ret");
-	write_string(strerror(errno), "ret_val");
+	if (ret == -1)
+		write_string(strerror(errno), "ret_val");
+	else
+		write_string("success", "ret_val");
 	write_end();
 	
 	end_channel();
@@ -148,7 +154,7 @@
 					}	
 				bytesread += tok.len;
 
-				/* Check only open syscals */
+				/* Check only setgid syscals */
 				if(tok.tt.hdr32.e_type == 205)
 					to_parse = VALID;
 					

==== //depot/projects/soc2008/snagg-audit/tools/regression/audit/audit_pipe/specific-event/audit_pipe_event_setuid.c#2 (text+ko) ====

@@ -87,13 +87,19 @@
 	ret = setuid(1001);
   	write_int(1001, "uid");
   	write_int(ret, "ret");
-	write_string(strerror(errno), "ret_val");
+	if (ret == -1)
+		write_string(strerror(errno), "ret_val");
+	else
+		write_string("success", "ret_val");
 	write_end();
 
 	ret = setuid(0);
   	write_int(0, "uid");
   	write_int(ret, "ret");
-	write_string(strerror(errno), "ret_val");
+	if (ret == -1)
+		write_string(strerror(errno), "ret_val");
+	else
+		write_string("success", "ret_val");
 	write_end();
 	
 	end_channel();
@@ -148,7 +154,7 @@
 					}	
 				bytesread += tok.len;
 
-				/* Check only open syscals */
+				/* Check only setuid syscals */
 				if(tok.tt.hdr32.e_type == 200)
 					to_parse = VALID;
 					



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808031935.m73JZKZE077594>