PERFORCE change 96593 for review

Robert Watson rwatson at FreeBSD.org
Wed May 3 15:23:45 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=96593

Change 96593 by rwatson at rwatson_zoo on 2006/05/03 15:23:36

	Rename pipe preselect ioctls to all include the word 'PRESELECT'.
	
	Implement simple pipe preselect audit ioctls, but not per-auid
	ioctls yet.

Affected files ...

.. //depot/projects/trustedbsd/audit3/sys/security/audit/audit_ioctl.h#6 edit
.. //depot/projects/trustedbsd/audit3/sys/security/audit/audit_pipe.c#15 edit

Differences ...

==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit_ioctl.h#6 (text+ko) ====

@@ -51,15 +51,15 @@
 #define	AUDITPIPE_SET_QLIMIT		_IOW(AUDITPIPE_IOBASE, 3, u_int)
 #define	AUDITPIPE_GET_QLIMIT_MIN	_IOR(AUDITPIPE_IOBASE, 4, u_int)
 #define	AUDITPIPE_GET_QLIMIT_MAX	_IOR(AUDITPIPE_IOBASE, 5, u_int)
-#define	AUDITPIPE_GET_FLAGS		_IOR(AUDITPIPE_IOBASE, 6, au_mask_t)
-#define	AUDITPIPE_SET_FLAGS		_IOW(AUDITPIPE_IOBASE, 7, au_mask_t)
-#define	AUDITPIPE_GET_NAFLAGS		_IOR(AUDITPIPE_IOBASE, 8, au_mask_t)
-#define	AUDITPIPE_SET_NAFLAGS		_IOW(AUDITPIPE_IOBASE, 9, au_mask_t)
-#define	AUDITPIPE_GET_PRESELECT		_IOR(AUDITPIPE_IOBASE, 10,	\
+#define	AUDITPIPE_GET_PRESELECT_FLAGS	_IOR(AUDITPIPE_IOBASE, 6, au_mask_t)
+#define	AUDITPIPE_SET_PRESELECT_FLAGS	_IOW(AUDITPIPE_IOBASE, 7, au_mask_t)
+#define	AUDITPIPE_GET_PRESELECT_NAFLAGS	_IOR(AUDITPIPE_IOBASE, 8, au_mask_t)
+#define	AUDITPIPE_SET_PRESELECT_NAFLAGS	_IOW(AUDITPIPE_IOBASE, 9, au_mask_t)
+#define	AUDITPIPE_GET_PRESELECT_AUID	_IOR(AUDITPIPE_IOBASE, 10,	\
 					    struct auditpipe_preselect)
-#define	AUDITPIPE_SET_PRESELECT		_IOW(AUDITPIPE_IOBASE, 11,	\
+#define	AUDITPIPE_SET_PRESELECT_AUID	_IOW(AUDITPIPE_IOBASE, 11,	\
 					    struct auditpipe_preselect)
-#define	AUDITPIPE_FLUSH_PRESELECT	_IO(AUDITPIPE_IOBASE, 11)
+#define	AUDITPIPE_FLUSH_PRESELECT_AUID	_IO(AUDITPIPE_IOBASE, 11)
 
 /*
  * Ioctls to retrieve audit pipe statistics.

==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit_pipe.c#15 (text+ko) ====

@@ -499,11 +499,19 @@
 audit_pipe_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag,
     struct thread *td)
 {
+	struct auditpipe_preselect *aps;
 	struct audit_pipe *ap;
+	au_mask_t *maskp;
 	int error;
 
 	ap = dev->si_drv1;
 	KASSERT(ap != NULL, ("audit_pipe_ioctl: ap == NULL"));
+
+	/*
+	 * Audit pipe ioctls: first come standard device node ioctls, then
+	 * manipulation of pipe settings, and finally, statistics query
+	 * ioctls.
+	 */
 	switch (cmd) {
 	case FIONBIO:
 		mtx_lock(&audit_pipe_mtx);
@@ -575,6 +583,44 @@
 		error = 0;
 		break;
 
+	case AUDITPIPE_GET_PRESELECT_FLAGS:
+		maskp = (au_mask_t *)data;
+		*maskp = ap->ap_preselect_flags;
+		error = 0;
+		break;
+
+	case AUDITPIPE_SET_PRESELECT_FLAGS:
+		maskp = (au_mask_t *)data;
+		ap->ap_preselect_flags = *maskp;
+		error = 0;
+		break;
+
+	case AUDITPIPE_GET_PRESELECT_NAFLAGS:
+		maskp = (au_mask_t *)data;
+		*maskp = ap->ap_preselect_naflags;
+		error = 0;
+		break;
+
+	case AUDITPIPE_SET_PRESELECT_NAFLAGS:
+		maskp = (au_mask_t *)data;
+		ap->ap_preselect_naflags = *maskp;
+		error = 0;
+		break;
+
+	case AUDITPIPE_GET_PRESELECT_AUID:
+		aps = (struct auditpipe_preselect *)data;
+		error = EOPNOTSUPP;
+		break;
+
+	case AUDITPIPE_SET_PRESELECT_AUID:
+		aps = (struct auditpipe_preselect *)data;
+		error = EOPNOTSUPP;
+		break;
+
+	case AUDITPIPE_FLUSH_PRESELECT_AUID:
+		error = EOPNOTSUPP;
+		break;
+
 	case AUDITPIPE_GET_INSERTS:
 		*(u_int *)data = ap->ap_inserts;
 		error = 0;


More information about the trustedbsd-cvs mailing list