summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2006-10-22 11:52:19 +0000
committerrwatson <rwatson@FreeBSD.org>2006-10-22 11:52:19 +0000
commit7beaaf5cd2391ef1f8159791b46dbeb83ab0c2fb (patch)
tree15bbe7ba3ad64d39db33baa0b88a2dae4206568e
parentcbcb760109a202fb847f48aa942a8b84b1e85015 (diff)
downloadFreeBSD-src-7beaaf5cd2391ef1f8159791b46dbeb83ab0c2fb.zip
FreeBSD-src-7beaaf5cd2391ef1f8159791b46dbeb83ab0c2fb.tar.gz
Complete break-out of sys/sys/mac.h into sys/security/mac/mac_framework.h
begun with a repo-copy of mac.h to mac_framework.h. sys/mac.h now contains the userspace and user<->kernel API and definitions, with all in-kernel interfaces moved to mac_framework.h, which is now included across most of the kernel instead. This change is the first step in a larger cleanup and sweep of MAC Framework interfaces in the kernel, and will not be MFC'd. Obtained from: TrustedBSD Project Sponsored by: SPARTA
-rw-r--r--sys/compat/linux/linux_file.c3
-rw-r--r--sys/compat/linux/linux_getcwd.c3
-rw-r--r--sys/compat/linux/linux_misc.c3
-rw-r--r--sys/compat/linux/linux_stats.c3
-rw-r--r--sys/compat/svr4/svr4_fcntl.c3
-rw-r--r--sys/compat/svr4/svr4_misc.c3
-rw-r--r--sys/contrib/pf/net/pf.c2
-rw-r--r--sys/fs/devfs/devfs_devs.c3
-rw-r--r--sys/fs/devfs/devfs_vnops.c3
-rw-r--r--sys/i386/i386/sys_machdep.c2
-rw-r--r--sys/i386/ibcs2/ibcs2_misc.c3
-rw-r--r--sys/kern/init_main.c2
-rw-r--r--sys/kern/kern_acct.c3
-rw-r--r--sys/kern/kern_acl.c3
-rw-r--r--sys/kern/kern_alq.c3
-rw-r--r--sys/kern/kern_environment.c3
-rw-r--r--sys/kern/kern_exec.c2
-rw-r--r--sys/kern/kern_exit.c2
-rw-r--r--sys/kern/kern_fork.c2
-rw-r--r--sys/kern/kern_jail.c3
-rw-r--r--sys/kern/kern_ktrace.c3
-rw-r--r--sys/kern/kern_linker.c3
-rw-r--r--sys/kern/kern_mac.c3
-rw-r--r--sys/kern/kern_mbuf.c3
-rw-r--r--sys/kern/kern_prot.c2
-rw-r--r--sys/kern/kern_shutdown.c3
-rw-r--r--sys/kern/kern_sysctl.c4
-rw-r--r--sys/kern/kern_time.c3
-rw-r--r--sys/kern/link_elf.c3
-rw-r--r--sys/kern/link_elf_obj.c3
-rw-r--r--sys/kern/subr_trap.c3
-rw-r--r--sys/kern/sys_pipe.c3
-rw-r--r--sys/kern/sys_socket.c3
-rw-r--r--sys/kern/sysv_msg.c3
-rw-r--r--sys/kern/sysv_sem.c3
-rw-r--r--sys/kern/sysv_shm.c3
-rw-r--r--sys/kern/uipc_mbuf.c3
-rw-r--r--sys/kern/uipc_mbuf2.c3
-rw-r--r--sys/kern/uipc_sem.c3
-rw-r--r--sys/kern/uipc_socket.c2
-rw-r--r--sys/kern/uipc_syscalls.c3
-rw-r--r--sys/kern/uipc_usrreq.c3
-rw-r--r--sys/kern/vfs_acl.c3
-rw-r--r--sys/kern/vfs_extattr.c2
-rw-r--r--sys/kern/vfs_lookup.c2
-rw-r--r--sys/kern/vfs_mount.c2
-rw-r--r--sys/kern/vfs_subr.c3
-rw-r--r--sys/kern/vfs_syscalls.c2
-rw-r--r--sys/kern/vfs_vnops.c3
-rw-r--r--sys/net/bpf.c3
-rw-r--r--sys/net/bsd_comp.c3
-rw-r--r--sys/net/if.c3
-rw-r--r--sys/net/if_atmsubr.c3
-rw-r--r--sys/net/if_ethersubr.c3
-rw-r--r--sys/net/if_fddisubr.c3
-rw-r--r--sys/net/if_fwsubr.c3
-rw-r--r--sys/net/if_gif.c3
-rw-r--r--sys/net/if_iso88025subr.c3
-rw-r--r--sys/net/if_ppp.c3
-rw-r--r--sys/net/if_stf.c3
-rw-r--r--sys/net/if_tun.c3
-rw-r--r--sys/netatalk/aarp.c3
-rw-r--r--sys/netatalk/ddp_input.c3
-rw-r--r--sys/netatalk/ddp_output.c3
-rw-r--r--sys/netinet/if_ether.c3
-rw-r--r--sys/netinet/igmp.c3
-rw-r--r--sys/netinet/in_pcb.c3
-rw-r--r--sys/netinet/ip_divert.c3
-rw-r--r--sys/netinet/ip_fw2.c3
-rw-r--r--sys/netinet/ip_icmp.c3
-rw-r--r--sys/netinet/ip_input.c3
-rw-r--r--sys/netinet/ip_mroute.c3
-rw-r--r--sys/netinet/ip_options.c3
-rw-r--r--sys/netinet/ip_output.c3
-rw-r--r--sys/netinet/raw_ip.c3
-rw-r--r--sys/netinet/tcp_input.c3
-rw-r--r--sys/netinet/tcp_output.c3
-rw-r--r--sys/netinet/tcp_reass.c3
-rw-r--r--sys/netinet/tcp_subr.c3
-rw-r--r--sys/netinet/tcp_syncache.c3
-rw-r--r--sys/netinet/tcp_timewait.c3
-rw-r--r--sys/netinet/udp_usrreq.c3
-rw-r--r--sys/netinet6/nd6.c3
-rw-r--r--sys/nfsserver/nfs_srvsock.c3
-rw-r--r--sys/nfsserver/nfs_syscalls.c3
-rw-r--r--sys/security/mac/mac_framework.c3
-rw-r--r--sys/security/mac/mac_framework.h86
-rw-r--r--sys/security/mac/mac_inet.c1
-rw-r--r--sys/security/mac/mac_label.c1
-rw-r--r--sys/security/mac/mac_net.c1
-rw-r--r--sys/security/mac/mac_pipe.c1
-rw-r--r--sys/security/mac/mac_policy.h2
-rw-r--r--sys/security/mac/mac_posix_sem.c1
-rw-r--r--sys/security/mac/mac_process.c1
-rw-r--r--sys/security/mac/mac_socket.c1
-rw-r--r--sys/security/mac/mac_syscalls.c3
-rw-r--r--sys/security/mac/mac_system.c1
-rw-r--r--sys/security/mac/mac_sysv_msg.c1
-rw-r--r--sys/security/mac/mac_sysv_sem.c1
-rw-r--r--sys/security/mac/mac_sysv_shm.c1
-rw-r--r--sys/security/mac/mac_vfs.c1
-rw-r--r--sys/security/mac_lomac/mac_lomac.c2
-rw-r--r--sys/sys/mac.h371
-rw-r--r--sys/sys/mac_policy.h2
-rw-r--r--sys/ufs/ffs/ffs_vfsops.c3
-rw-r--r--sys/ufs/ufs/ufs_vnops.c3
-rw-r--r--sys/vm/swap_pager.c3
-rw-r--r--sys/vm/vm_mmap.c3
108 files changed, 204 insertions, 533 deletions
diff --git a/sys/compat/linux/linux_file.c b/sys/compat/linux/linux_file.c
index 185ca5c..b696fe1 100644
--- a/sys/compat/linux/linux_file.c
+++ b/sys/compat/linux/linux_file.c
@@ -40,7 +40,6 @@ __FBSDID("$FreeBSD$");
#include <sys/file.h>
#include <sys/filedesc.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mount.h>
#include <sys/mutex.h>
@@ -52,6 +51,8 @@ __FBSDID("$FreeBSD$");
#include <sys/unistd.h>
#include <sys/vnode.h>
+#include <security/mac/mac_framework.h>
+
#include <ufs/ufs/extattr.h>
#include <ufs/ufs/quota.h>
#include <ufs/ufs/ufsmount.h>
diff --git a/sys/compat/linux/linux_getcwd.c b/sys/compat/linux/linux_getcwd.c
index 90f40cf..70631ed 100644
--- a/sys/compat/linux/linux_getcwd.c
+++ b/sys/compat/linux/linux_getcwd.c
@@ -54,7 +54,6 @@ __FBSDID("$FreeBSD$");
#include <sys/mount.h>
#include <sys/proc.h>
#include <sys/uio.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/dirent.h>
#include <ufs/ufs/dir.h> /* XXX only for DIRBLKSIZ */
@@ -68,6 +67,8 @@ __FBSDID("$FreeBSD$");
#endif
#include <compat/linux/linux_util.h>
+#include <security/mac/mac_framework.h>
+
static int
linux_getcwd_scandir(struct vnode **, struct vnode **,
char **, char *, struct thread *);
diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c
index 12db81a..fe0b803 100644
--- a/sys/compat/linux/linux_misc.c
+++ b/sys/compat/linux/linux_misc.c
@@ -43,7 +43,6 @@ __FBSDID("$FreeBSD$");
#include <sys/kernel.h>
#include <sys/limits.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mman.h>
#include <sys/mount.h>
@@ -63,6 +62,8 @@ __FBSDID("$FreeBSD$");
#include <sys/vnode.h>
#include <sys/wait.h>
+#include <security/mac/mac_framework.h>
+
#include <vm/vm.h>
#include <vm/pmap.h>
#include <vm/vm_kern.h>
diff --git a/sys/compat/linux/linux_stats.c b/sys/compat/linux/linux_stats.c
index 41903fd..09d0904 100644
--- a/sys/compat/linux/linux_stats.c
+++ b/sys/compat/linux/linux_stats.c
@@ -38,7 +38,6 @@ __FBSDID("$FreeBSD$");
#include <sys/filedesc.h>
#include <sys/proc.h>
#include <sys/jail.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mount.h>
#include <sys/namei.h>
@@ -59,6 +58,8 @@ __FBSDID("$FreeBSD$");
#include <compat/linux/linux_util.h>
+#include <security/mac/mac_framework.h>
+
/*
* XXX: This was removed from newstat_copyout(), and almost identical
* XXX: code was in stat64_copyout(). findcdev() needs to be replaced
diff --git a/sys/compat/svr4/svr4_fcntl.c b/sys/compat/svr4/svr4_fcntl.c
index ad74838..ca135f0 100644
--- a/sys/compat/svr4/svr4_fcntl.c
+++ b/sys/compat/svr4/svr4_fcntl.c
@@ -40,7 +40,6 @@ __FBSDID("$FreeBSD$");
#include <sys/filedesc.h>
/*#include <sys/ioctl.h>*/
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mount.h>
#include <sys/mutex.h>
@@ -60,6 +59,8 @@ __FBSDID("$FreeBSD$");
#include <compat/svr4/svr4_util.h>
#include <compat/svr4/svr4_fcntl.h>
+#include <security/mac/mac_framework.h>
+
static int svr4_to_bsd_flags(int);
static u_long svr4_to_bsd_cmd(u_long);
static int fd_revoke(struct thread *, int);
diff --git a/sys/compat/svr4/svr4_misc.c b/sys/compat/svr4/svr4_misc.c
index 6701cf8..9ed5bb3 100644
--- a/sys/compat/svr4/svr4_misc.c
+++ b/sys/compat/svr4/svr4_misc.c
@@ -45,7 +45,6 @@ __FBSDID("$FreeBSD$");
#include <sys/imgact.h>
#include <sys/kernel.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/file.h> /* Must come after sys/malloc.h */
#include <sys/mman.h>
@@ -83,6 +82,8 @@ __FBSDID("$FreeBSD$");
#include <compat/svr4/svr4_mman.h>
#include <compat/svr4/svr4_wait.h>
+#include <security/mac/mac_framework.h>
+
#include <machine/vmparam.h>
#include <vm/vm.h>
#include <vm/vm_param.h>
diff --git a/sys/contrib/pf/net/pf.c b/sys/contrib/pf/net/pf.c
index 4cf6834..f2be6e5 100644
--- a/sys/contrib/pf/net/pf.c
+++ b/sys/contrib/pf/net/pf.c
@@ -79,7 +79,6 @@
#include <sys/kernel.h>
#include <sys/time.h>
#ifdef __FreeBSD__
-#include <sys/mac.h>
#include <sys/sysctl.h>
#include <sys/endian.h>
#else
@@ -132,6 +131,7 @@
#include <machine/in_cksum.h>
#include <sys/limits.h>
#include <sys/ucred.h>
+#include <security/mac/mac_framework.h>
extern int ip_optcopy(struct ip *, struct ip *);
#endif
diff --git a/sys/fs/devfs/devfs_devs.c b/sys/fs/devfs/devfs_devs.c
index 96c4798..8e155b8 100644
--- a/sys/fs/devfs/devfs_devs.c
+++ b/sys/fs/devfs/devfs_devs.c
@@ -37,7 +37,6 @@
#include <sys/kernel.h>
#include <sys/limits.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/proc.h>
#include <sys/sx.h>
@@ -49,6 +48,8 @@
#include <fs/devfs/devfs.h>
#include <fs/devfs/devfs_int.h>
+#include <security/mac/mac_framework.h>
+
/*
* The one true (but secret) list of active devices in the system.
* Locked by dev_lock()/devmtx
diff --git a/sys/fs/devfs/devfs_vnops.c b/sys/fs/devfs/devfs_vnops.c
index b17eb4d..6ae4467 100644
--- a/sys/fs/devfs/devfs_vnops.c
+++ b/sys/fs/devfs/devfs_vnops.c
@@ -52,7 +52,6 @@
#include <sys/filio.h>
#include <sys/kernel.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mount.h>
#include <sys/namei.h>
@@ -71,6 +70,8 @@ static struct fileops devfs_ops_f;
#include <fs/devfs/devfs.h>
#include <fs/devfs/devfs_int.h>
+#include <security/mac/mac_framework.h>
+
struct mtx devfs_de_interlock;
MTX_SYSINIT(devfs_de_interlock, &devfs_de_interlock, "devfs interlock", MTX_DEF);
diff --git a/sys/i386/i386/sys_machdep.c b/sys/i386/i386/sys_machdep.c
index f2e90b2..d633736 100644
--- a/sys/i386/i386/sys_machdep.c
+++ b/sys/i386/i386/sys_machdep.c
@@ -38,7 +38,6 @@ __FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mutex.h>
#include <sys/proc.h>
@@ -57,6 +56,7 @@ __FBSDID("$FreeBSD$");
#include <machine/sysarch.h>
#include <security/audit/audit.h>
+#include <security/mac/mac_framework.h>
#include <vm/vm_kern.h> /* for kernel_map */
diff --git a/sys/i386/ibcs2/ibcs2_misc.c b/sys/i386/ibcs2/ibcs2_misc.c
index 042505f..164c369 100644
--- a/sys/i386/ibcs2/ibcs2_misc.c
+++ b/sys/i386/ibcs2/ibcs2_misc.c
@@ -65,7 +65,6 @@ __FBSDID("$FreeBSD$");
#include <sys/imgact.h>
#include <sys/kernel.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/file.h> /* Must come after sys/malloc.h */
#include <sys/mutex.h>
@@ -90,6 +89,8 @@ __FBSDID("$FreeBSD$");
#include <i386/ibcs2/ibcs2_utime.h>
#include <i386/ibcs2/ibcs2_xenix.h>
+#include <security/mac/mac_framework.h>
+
int
ibcs2_ulimit(td, uap)
struct thread *td;
diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c
index b33e295..1a14dc6 100644
--- a/sys/kern/init_main.c
+++ b/sys/kern/init_main.c
@@ -55,7 +55,6 @@ __FBSDID("$FreeBSD$");
#include <sys/filedesc.h>
#include <sys/ktr.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/mount.h>
#include <sys/mutex.h>
#include <sys/syscallsubr.h>
@@ -78,6 +77,7 @@ __FBSDID("$FreeBSD$");
#include <machine/cpu.h>
#include <security/audit/audit.h>
+#include <security/mac/mac_framework.h>
#include <vm/vm.h>
#include <vm/vm_param.h>
diff --git a/sys/kern/kern_acct.c b/sys/kern/kern_acct.c
index a005c5d..ec7289f 100644
--- a/sys/kern/kern_acct.c
+++ b/sys/kern/kern_acct.c
@@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$");
#include <sys/kernel.h>
#include <sys/kthread.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/mount.h>
#include <sys/mutex.h>
#include <sys/namei.h>
@@ -68,6 +67,8 @@ __FBSDID("$FreeBSD$");
#include <sys/tty.h>
#include <sys/vnode.h>
+#include <security/mac/mac_framework.h>
+
/*
* The routines implemented in this file are described in:
* Leffler, et al.: The Design and Implementation of the 4.3BSD
diff --git a/sys/kern/kern_acl.c b/sys/kern/kern_acl.c
index 64ffe5c..5ee9826 100644
--- a/sys/kern/kern_acl.c
+++ b/sys/kern/kern_acl.c
@@ -41,7 +41,6 @@ __FBSDID("$FreeBSD$");
#include <sys/systm.h>
#include <sys/sysproto.h>
#include <sys/kernel.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mount.h>
#include <sys/vnode.h>
@@ -54,6 +53,8 @@ __FBSDID("$FreeBSD$");
#include <sys/sysent.h>
#include <sys/acl.h>
+#include <security/mac/mac_framework.h>
+
#include <vm/uma.h>
uma_zone_t acl_zone;
diff --git a/sys/kern/kern_alq.c b/sys/kern/kern_alq.c
index b6b24de..49aa0ac 100644
--- a/sys/kern/kern_alq.c
+++ b/sys/kern/kern_alq.c
@@ -34,7 +34,6 @@ __FBSDID("$FreeBSD$");
#include <sys/kernel.h>
#include <sys/kthread.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/mount.h>
#include <sys/mutex.h>
#include <sys/namei.h>
@@ -46,6 +45,8 @@ __FBSDID("$FreeBSD$");
#include <sys/fcntl.h>
#include <sys/eventhandler.h>
+#include <security/mac/mac_framework.h>
+
/* Async. Logging Queue */
struct alq {
int aq_entmax; /* Max entries */
diff --git a/sys/kern/kern_environment.c b/sys/kern/kern_environment.c
index bd54063..ff26529 100644
--- a/sys/kern/kern_environment.c
+++ b/sys/kern/kern_environment.c
@@ -44,7 +44,6 @@ __FBSDID("$FreeBSD$");
#include <sys/proc.h>
#include <sys/queue.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mutex.h>
#include <sys/kernel.h>
@@ -54,6 +53,8 @@ __FBSDID("$FreeBSD$");
#include <sys/libkern.h>
#include <sys/kenv.h>
+#include <security/mac/mac_framework.h>
+
static MALLOC_DEFINE(M_KENV, "kenv", "kernel environment");
#define KENV_SIZE 512 /* Maximum number of environment strings */
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c
index 97825cb..be7dbe6 100644
--- a/sys/kern/kern_exec.c
+++ b/sys/kern/kern_exec.c
@@ -39,7 +39,6 @@ __FBSDID("$FreeBSD$");
#include <sys/sysproto.h>
#include <sys/signalvar.h>
#include <sys/kernel.h>
-#include <sys/mac.h>
#include <sys/mount.h>
#include <sys/filedesc.h>
#include <sys/fcntl.h>
@@ -80,6 +79,7 @@ __FBSDID("$FreeBSD$");
#include <machine/reg.h>
#include <security/audit/audit.h>
+#include <security/mac/mac_framework.h>
MALLOC_DEFINE(M_PARGS, "proc-args", "Process arguments");
diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c
index c857413..1e57aae 100644
--- a/sys/kern/kern_exit.c
+++ b/sys/kern/kern_exit.c
@@ -65,7 +65,6 @@ __FBSDID("$FreeBSD$");
#include <sys/ptrace.h>
#include <sys/acct.h> /* for acct_process() function prototype */
#include <sys/filedesc.h>
-#include <sys/mac.h>
#include <sys/shm.h>
#include <sys/sem.h>
#ifdef KTRACE
@@ -73,6 +72,7 @@ __FBSDID("$FreeBSD$");
#endif
#include <security/audit/audit.h>
+#include <security/mac/mac_framework.h>
#include <vm/vm.h>
#include <vm/vm_extern.h>
diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c
index c0b30e6..2695252 100644
--- a/sys/kern/kern_fork.c
+++ b/sys/kern/kern_fork.c
@@ -59,7 +59,6 @@ __FBSDID("$FreeBSD$");
#include <sys/vmmeter.h>
#include <sys/vnode.h>
#include <sys/acct.h>
-#include <sys/mac.h>
#include <sys/ktr.h>
#include <sys/ktrace.h>
#include <sys/unistd.h>
@@ -67,6 +66,7 @@ __FBSDID("$FreeBSD$");
#include <sys/signalvar.h>
#include <security/audit/audit.h>
+#include <security/mac/mac_framework.h>
#include <vm/vm.h>
#include <vm/pmap.h>
diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c
index be4757d..3924388 100644
--- a/sys/kern/kern_jail.c
+++ b/sys/kern/kern_jail.c
@@ -18,7 +18,6 @@ __FBSDID("$FreeBSD$");
#include <sys/systm.h>
#include <sys/errno.h>
#include <sys/sysproto.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/proc.h>
#include <sys/taskqueue.h>
@@ -35,6 +34,8 @@ __FBSDID("$FreeBSD$");
#include <net/if.h>
#include <netinet/in.h>
+#include <security/mac/mac_framework.h>
+
MALLOC_DEFINE(M_PRISON, "prison", "Prison structures");
SYSCTL_NODE(_security, OID_AUTO, jail, CTLFLAG_RW, 0,
diff --git a/sys/kern/kern_ktrace.c b/sys/kern/kern_ktrace.c
index 0277cc3..e79fa7c 100644
--- a/sys/kern/kern_ktrace.c
+++ b/sys/kern/kern_ktrace.c
@@ -44,7 +44,6 @@ __FBSDID("$FreeBSD$");
#include <sys/kthread.h>
#include <sys/lock.h>
#include <sys/mutex.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mount.h>
#include <sys/namei.h>
@@ -57,6 +56,8 @@ __FBSDID("$FreeBSD$");
#include <sys/syslog.h>
#include <sys/sysproto.h>
+#include <security/mac/mac_framework.h>
+
/*
* The ktrace facility allows the tracing of certain key events in user space
* processes, such as system calls, signal delivery, context switches, and
diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c
index 026d5b6..0bdd9f8 100644
--- a/sys/kern/kern_linker.c
+++ b/sys/kern/kern_linker.c
@@ -41,7 +41,6 @@ __FBSDID("$FreeBSD$");
#include <sys/lock.h>
#include <sys/mutex.h>
#include <sys/sx.h>
-#include <sys/mac.h>
#include <sys/module.h>
#include <sys/mount.h>
#include <sys/linker.h>
@@ -52,6 +51,8 @@ __FBSDID("$FreeBSD$");
#include <sys/syscallsubr.h>
#include <sys/sysctl.h>
+#include <security/mac/mac_framework.h>
+
#include "linker_if.h"
#ifdef HWPMC_HOOKS
diff --git a/sys/kern/kern_mac.c b/sys/kern/kern_mac.c
index b553c80..8d69dcc 100644
--- a/sys/kern/kern_mac.c
+++ b/sys/kern/kern_mac.c
@@ -2,7 +2,7 @@
* Copyright (c) 1999-2002 Robert N. M. Watson
* Copyright (c) 2001 Ilmar S. Habibulin
* Copyright (c) 2001-2005 Networks Associates Technology, Inc.
- * Copyright (c) 2005 SPARTA, Inc.
+ * Copyright (c) 2005-2006 SPARTA, Inc.
* All rights reserved.
*
* This software was developed by Robert Watson and Ilmar Habibulin for the
@@ -91,6 +91,7 @@ __FBSDID("$FreeBSD$");
#include <netinet/in.h>
#include <netinet/ip_var.h>
+#include <security/mac/mac_framework.h>
#include <security/mac/mac_internal.h>
#ifdef MAC
diff --git a/sys/kern/kern_mbuf.c b/sys/kern/kern_mbuf.c
index e43d323..0f99924 100644
--- a/sys/kern/kern_mbuf.c
+++ b/sys/kern/kern_mbuf.c
@@ -32,7 +32,6 @@ __FBSDID("$FreeBSD$");
#include "opt_param.h"
#include <sys/param.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/systm.h>
#include <sys/mbuf.h>
@@ -43,6 +42,8 @@ __FBSDID("$FreeBSD$");
#include <sys/smp.h>
#include <sys/sysctl.h>
+#include <security/mac/mac_framework.h>
+
#include <vm/vm.h>
#include <vm/vm_page.h>
#include <vm/uma.h>
diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c
index a42ab93..daa8966 100644
--- a/sys/kern/kern_prot.c
+++ b/sys/kern/kern_prot.c
@@ -51,7 +51,6 @@ __FBSDID("$FreeBSD$");
#include <sys/kdb.h>
#include <sys/kernel.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mutex.h>
#include <sys/refcount.h>
@@ -67,6 +66,7 @@ __FBSDID("$FreeBSD$");
#include <sys/sysctl.h>
#include <security/audit/audit.h>
+#include <security/mac/mac_framework.h>
static MALLOC_DEFINE(M_CRED, "cred", "credentials");
diff --git a/sys/kern/kern_shutdown.c b/sys/kern/kern_shutdown.c
index 3b62ba2..a5bcfa8 100644
--- a/sys/kern/kern_shutdown.c
+++ b/sys/kern/kern_shutdown.c
@@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$");
#include <sys/kdb.h>
#include <sys/kernel.h>
#include <sys/kthread.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mount.h>
#include <sys/proc.h>
@@ -68,6 +67,8 @@ __FBSDID("$FreeBSD$");
#include <machine/pcb.h>
#include <machine/smp.h>
+#include <security/mac/mac_framework.h>
+
#include <vm/vm.h>
#include <vm/vm_object.h>
#include <vm/vm_page.h>
diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c
index 84a5209..a929291 100644
--- a/sys/kern/kern_sysctl.c
+++ b/sys/kern/kern_sysctl.c
@@ -45,13 +45,15 @@ __FBSDID("$FreeBSD$");
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/sysctl.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/proc.h>
#include <sys/lock.h>
#include <sys/mutex.h>
#include <sys/sx.h>
#include <sys/sysproto.h>
+
+#include <security/mac/mac_framework.h>
+
#include <vm/vm.h>
#include <vm/vm_extern.h>
diff --git a/sys/kern/kern_time.c b/sys/kern/kern_time.c
index 0bdde95..479348e 100644
--- a/sys/kern/kern_time.c
+++ b/sys/kern/kern_time.c
@@ -45,7 +45,6 @@ __FBSDID("$FreeBSD$");
#include <sys/resourcevar.h>
#include <sys/signalvar.h>
#include <sys/kernel.h>
-#include <sys/mac.h>
#include <sys/syscallsubr.h>
#include <sys/sysctl.h>
#include <sys/sysent.h>
@@ -57,6 +56,8 @@ __FBSDID("$FreeBSD$");
#include <posix4/posix4.h>
+#include <security/mac/mac_framework.h>
+
#include <vm/vm.h>
#include <vm/vm_extern.h>
diff --git a/sys/kern/link_elf.c b/sys/kern/link_elf.c
index 35e97b8..b78776a 100644
--- a/sys/kern/link_elf.c
+++ b/sys/kern/link_elf.c
@@ -37,7 +37,6 @@ __FBSDID("$FreeBSD$");
#endif
#include <sys/kernel.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mutex.h>
#include <sys/mount.h>
@@ -49,6 +48,8 @@ __FBSDID("$FreeBSD$");
#include <machine/elf.h>
+#include <security/mac/mac_framework.h>
+
#include <vm/vm.h>
#include <vm/vm_param.h>
#ifdef SPARSE_MAPPING
diff --git a/sys/kern/link_elf_obj.c b/sys/kern/link_elf_obj.c
index 8e11038..a926d54 100644
--- a/sys/kern/link_elf_obj.c
+++ b/sys/kern/link_elf_obj.c
@@ -35,7 +35,6 @@ __FBSDID("$FreeBSD$");
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mutex.h>
#include <sys/mount.h>
@@ -47,6 +46,8 @@ __FBSDID("$FreeBSD$");
#include <machine/elf.h>
+#include <security/mac/mac_framework.h>
+
#include <vm/vm.h>
#include <vm/vm_param.h>
#include <vm/vm_object.h>
diff --git a/sys/kern/subr_trap.c b/sys/kern/subr_trap.c
index d5c03b7..efb6a6e 100644
--- a/sys/kern/subr_trap.c
+++ b/sys/kern/subr_trap.c
@@ -50,7 +50,6 @@ __FBSDID("$FreeBSD$");
#include <sys/bus.h>
#include <sys/kernel.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/mutex.h>
#include <sys/proc.h>
#include <sys/ktr.h>
@@ -67,6 +66,8 @@ __FBSDID("$FreeBSD$");
#include <machine/cpu.h>
#include <machine/pcb.h>
+#include <security/mac/mac_framework.h>
+
/*
* Define the code needed before returning to user mode, for
* trap and syscall.
diff --git a/sys/kern/sys_pipe.c b/sys/kern/sys_pipe.c
index b873a8b..46a4a4f 100644
--- a/sys/kern/sys_pipe.c
+++ b/sys/kern/sys_pipe.c
@@ -101,7 +101,6 @@ __FBSDID("$FreeBSD$");
#include <sys/filio.h>
#include <sys/kernel.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/mutex.h>
#include <sys/ttycom.h>
#include <sys/stat.h>
@@ -117,6 +116,8 @@ __FBSDID("$FreeBSD$");
#include <sys/uio.h>
#include <sys/event.h>
+#include <security/mac/mac_framework.h>
+
#include <vm/vm.h>
#include <vm/vm_param.h>
#include <vm/vm_object.h>
diff --git a/sys/kern/sys_socket.c b/sys/kern/sys_socket.c
index 4d0a1ac..a429911 100644
--- a/sys/kern/sys_socket.c
+++ b/sys/kern/sys_socket.c
@@ -38,7 +38,6 @@ __FBSDID("$FreeBSD$");
#include <sys/systm.h>
#include <sys/file.h>
#include <sys/filedesc.h>
-#include <sys/mac.h>
#include <sys/proc.h>
#include <sys/protosw.h>
#include <sys/sigio.h>
@@ -55,6 +54,8 @@ __FBSDID("$FreeBSD$");
#include <net/if.h>
#include <net/route.h>
+#include <security/mac/mac_framework.h>
+
struct fileops socketops = {
.fo_read = soo_read,
.fo_write = soo_write,
diff --git a/sys/kern/sysv_msg.c b/sys/kern/sysv_msg.c
index dca24de..464a7e5 100644
--- a/sys/kern/sysv_msg.c
+++ b/sys/kern/sysv_msg.c
@@ -59,7 +59,6 @@ __FBSDID("$FreeBSD$");
#include <sys/kernel.h>
#include <sys/proc.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/mutex.h>
#include <sys/module.h>
#include <sys/msg.h>
@@ -70,6 +69,8 @@ __FBSDID("$FreeBSD$");
#include <sys/malloc.h>
#include <sys/jail.h>
+#include <security/mac/mac_framework.h>
+
static MALLOC_DEFINE(M_MSG, "msg", "SVID compatible message queues");
static void msginit(void);
diff --git a/sys/kern/sysv_sem.c b/sys/kern/sysv_sem.c
index 29eaecf..cc9fe67 100644
--- a/sys/kern/sysv_sem.c
+++ b/sys/kern/sysv_sem.c
@@ -59,7 +59,8 @@ __FBSDID("$FreeBSD$");
#include <sys/uio.h>
#include <sys/malloc.h>
#include <sys/jail.h>
-#include <sys/mac.h>
+
+#include <security/mac/mac_framework.h>
static MALLOC_DEFINE(M_SEM, "sem", "SVID compatible semaphores");
diff --git a/sys/kern/sysv_shm.c b/sys/kern/sysv_shm.c
index efcc1f6..2fc2d71 100644
--- a/sys/kern/sysv_shm.c
+++ b/sys/kern/sysv_shm.c
@@ -84,7 +84,8 @@ __FBSDID("$FreeBSD$");
#include <sys/sysent.h>
#include <sys/sysproto.h>
#include <sys/jail.h>
-#include <sys/mac.h>
+
+#include <security/mac/mac_framework.h>
#include <vm/vm.h>
#include <vm/vm_param.h>
diff --git a/sys/kern/uipc_mbuf.c b/sys/kern/uipc_mbuf.c
index 5b5714f..216ff54 100644
--- a/sys/kern/uipc_mbuf.c
+++ b/sys/kern/uipc_mbuf.c
@@ -41,7 +41,6 @@ __FBSDID("$FreeBSD$");
#include <sys/kernel.h>
#include <sys/limits.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/sysctl.h>
@@ -49,6 +48,8 @@ __FBSDID("$FreeBSD$");
#include <sys/protosw.h>
#include <sys/uio.h>
+#include <security/mac/mac_framework.h>
+
int max_linkhdr;
int max_protohdr;
int max_hdr;
diff --git a/sys/kern/uipc_mbuf2.c b/sys/kern/uipc_mbuf2.c
index 109b3a6..c8363f8 100644
--- a/sys/kern/uipc_mbuf2.c
+++ b/sys/kern/uipc_mbuf2.c
@@ -71,11 +71,12 @@ __FBSDID("$FreeBSD$");
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/mutex.h>
+#include <security/mac/mac_framework.h>
+
static MALLOC_DEFINE(M_PACKET_TAGS, MBUF_TAG_MEM_NAME,
"packet-attached information");
diff --git a/sys/kern/uipc_sem.c b/sys/kern/uipc_sem.c
index 9e8b279..8de7d8f 100644
--- a/sys/kern/uipc_sem.c
+++ b/sys/kern/uipc_sem.c
@@ -54,7 +54,6 @@ __FBSDID("$FreeBSD$");
#include <sys/sysent.h>
#include <sys/sysctl.h>
#include <sys/time.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/fcntl.h>
@@ -63,6 +62,8 @@ __FBSDID("$FreeBSD$");
#include <posix4/semaphore.h>
#include <posix4/_semaphore.h>
+#include <security/mac/mac_framework.h>
+
static int sem_count_proc(struct proc *p);
static struct ksem *sem_lookup_byname(const char *name);
static int sem_create(struct thread *td, const char *name,
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c
index 2a27388..341b54c 100644
--- a/sys/kern/uipc_socket.c
+++ b/sys/kern/uipc_socket.c
@@ -126,6 +126,8 @@ __FBSDID("$FreeBSD$");
#include <sys/uio.h>
#include <sys/jail.h>
+#include <security/mac/mac_framework.h>
+
#include <vm/uma.h>
#ifdef COMPAT_IA32
diff --git a/sys/kern/uipc_syscalls.c b/sys/kern/uipc_syscalls.c
index 23437a3..462bde4 100644
--- a/sys/kern/uipc_syscalls.c
+++ b/sys/kern/uipc_syscalls.c
@@ -43,7 +43,6 @@ __FBSDID("$FreeBSD$");
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/mutex.h>
#include <sys/sysproto.h>
#include <sys/malloc.h>
@@ -68,6 +67,8 @@ __FBSDID("$FreeBSD$");
#include <sys/ktrace.h>
#endif
+#include <security/mac/mac_framework.h>
+
#include <vm/vm.h>
#include <vm/vm_object.h>
#include <vm/vm_page.h>
diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c
index 723c132..33a6ec2 100644
--- a/sys/kern/uipc_usrreq.c
+++ b/sys/kern/uipc_usrreq.c
@@ -64,7 +64,6 @@ __FBSDID("$FreeBSD$");
#include <sys/jail.h>
#include <sys/kernel.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/mbuf.h>
#include <sys/mount.h>
#include <sys/mutex.h>
@@ -84,6 +83,8 @@ __FBSDID("$FreeBSD$");
#include <sys/unpcb.h>
#include <sys/vnode.h>
+#include <security/mac/mac_framework.h>
+
#include <vm/uma.h>
static uma_zone_t unp_zone;
diff --git a/sys/kern/vfs_acl.c b/sys/kern/vfs_acl.c
index 64ffe5c..5ee9826 100644
--- a/sys/kern/vfs_acl.c
+++ b/sys/kern/vfs_acl.c
@@ -41,7 +41,6 @@ __FBSDID("$FreeBSD$");
#include <sys/systm.h>
#include <sys/sysproto.h>
#include <sys/kernel.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mount.h>
#include <sys/vnode.h>
@@ -54,6 +53,8 @@ __FBSDID("$FreeBSD$");
#include <sys/sysent.h>
#include <sys/acl.h>
+#include <security/mac/mac_framework.h>
+
#include <vm/uma.h>
uma_zone_t acl_zone;
diff --git a/sys/kern/vfs_extattr.c b/sys/kern/vfs_extattr.c
index d23f19b..81529f0 100644
--- a/sys/kern/vfs_extattr.c
+++ b/sys/kern/vfs_extattr.c
@@ -45,7 +45,6 @@ __FBSDID("$FreeBSD$");
#include <sys/bio.h>
#include <sys/buf.h>
#include <sys/sysent.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mount.h>
#include <sys/mutex.h>
@@ -71,6 +70,7 @@ __FBSDID("$FreeBSD$");
#include <machine/stdarg.h>
#include <security/audit/audit.h>
+#include <security/mac/mac_framework.h>
#include <vm/vm.h>
#include <vm/vm_object.h>
diff --git a/sys/kern/vfs_lookup.c b/sys/kern/vfs_lookup.c
index a59b39d..a0cbc83 100644
--- a/sys/kern/vfs_lookup.c
+++ b/sys/kern/vfs_lookup.c
@@ -45,7 +45,6 @@ __FBSDID("$FreeBSD$");
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/mutex.h>
#include <sys/namei.h>
#include <sys/vnode.h>
@@ -59,6 +58,7 @@ __FBSDID("$FreeBSD$");
#endif
#include <security/audit/audit.h>
+#include <security/mac/mac_framework.h>
#include <vm/uma.h>
diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c
index 0598905..af07f44 100644
--- a/sys/kern/vfs_mount.c
+++ b/sys/kern/vfs_mount.c
@@ -43,7 +43,6 @@ __FBSDID("$FreeBSD$");
#include <sys/jail.h>
#include <sys/kernel.h>
#include <sys/libkern.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mount.h>
#include <sys/mutex.h>
@@ -65,6 +64,7 @@ __FBSDID("$FreeBSD$");
#include <machine/stdarg.h>
#include <security/audit/audit.h>
+#include <security/mac/mac_framework.h>
#include "opt_rootdevname.h"
#include "opt_ddb.h"
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index 28fbda9..c621743 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -58,7 +58,6 @@ __FBSDID("$FreeBSD$");
#include <sys/kdb.h>
#include <sys/kernel.h>
#include <sys/kthread.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mount.h>
#include <sys/namei.h>
@@ -72,6 +71,8 @@ __FBSDID("$FreeBSD$");
#include <machine/stdarg.h>
+#include <security/mac/mac_framework.h>
+
#include <vm/vm.h>
#include <vm/vm_object.h>
#include <vm/vm_extern.h>
diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c
index d23f19b..81529f0 100644
--- a/sys/kern/vfs_syscalls.c
+++ b/sys/kern/vfs_syscalls.c
@@ -45,7 +45,6 @@ __FBSDID("$FreeBSD$");
#include <sys/bio.h>
#include <sys/buf.h>
#include <sys/sysent.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mount.h>
#include <sys/mutex.h>
@@ -71,6 +70,7 @@ __FBSDID("$FreeBSD$");
#include <machine/stdarg.h>
#include <security/audit/audit.h>
+#include <security/mac/mac_framework.h>
#include <vm/vm.h>
#include <vm/vm_object.h>
diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c
index d71b28b..4a516a7 100644
--- a/sys/kern/vfs_vnops.c
+++ b/sys/kern/vfs_vnops.c
@@ -48,7 +48,6 @@ __FBSDID("$FreeBSD$");
#include <sys/proc.h>
#include <sys/limits.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/mount.h>
#include <sys/mutex.h>
#include <sys/namei.h>
@@ -62,6 +61,8 @@ __FBSDID("$FreeBSD$");
#include <sys/syslog.h>
#include <sys/unistd.h>
+#include <security/mac/mac_framework.h>
+
static fo_rdwr_t vn_read;
static fo_rdwr_t vn_write;
static fo_ioctl_t vn_ioctl;
diff --git a/sys/net/bpf.c b/sys/net/bpf.c
index 12c3052..571d730 100644
--- a/sys/net/bpf.c
+++ b/sys/net/bpf.c
@@ -45,7 +45,6 @@
#include <sys/systm.h>
#include <sys/conf.h>
#include <sys/fcntl.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/time.h>
@@ -77,6 +76,8 @@
#include <net80211/ieee80211_freebsd.h>
+#include <security/mac/mac_framework.h>
+
static MALLOC_DEFINE(M_BPF, "BPF", "BPF data");
#if defined(DEV_BPF) || defined(NETGRAPH_BPF)
diff --git a/sys/net/bsd_comp.c b/sys/net/bsd_comp.c
index 3071fc3..139f772 100644
--- a/sys/net/bsd_comp.c
+++ b/sys/net/bsd_comp.c
@@ -45,7 +45,6 @@
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/mutex.h>
@@ -55,6 +54,8 @@
#define PACKETPTR struct mbuf *
#include <net/ppp_comp.h>
+#include <security/mac/mac_framework.h>
+
/*
* PPP "BSD compress" compression
* The differences between this compression and the classic BSD LZW
diff --git a/sys/net/if.c b/sys/net/if.c
index 278b4a8..ba981d4 100644
--- a/sys/net/if.c
+++ b/sys/net/if.c
@@ -39,7 +39,6 @@
#include <sys/param.h>
#include <sys/types.h>
#include <sys/conf.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/sbuf.h>
#include <sys/bus.h>
@@ -82,6 +81,8 @@
#include <netinet/ip_carp.h>
#endif
+#include <security/mac/mac_framework.h>
+
SYSCTL_NODE(_net, PF_LINK, link, CTLFLAG_RW, 0, "Link layers");
SYSCTL_NODE(_net_link, 0, generic, CTLFLAG_RW, 0, "Generic link-management");
diff --git a/sys/net/if_atmsubr.c b/sys/net/if_atmsubr.c
index d3f7956..bb972b8 100644
--- a/sys/net/if_atmsubr.c
+++ b/sys/net/if_atmsubr.c
@@ -46,7 +46,6 @@ __FBSDID("$FreeBSD$");
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/module.h>
-#include <sys/mac.h>
#include <sys/mbuf.h>
#include <sys/socket.h>
#include <sys/sockio.h>
@@ -71,6 +70,8 @@ __FBSDID("$FreeBSD$");
#include <netnatm/natm.h>
#endif
+#include <security/mac/mac_framework.h>
+
/*
* Netgraph interface functions.
* These need not be protected by a lock, because ng_atm nodes are persitent.
diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c
index 5ba7297..61fa58b 100644
--- a/sys/net/if_ethersubr.c
+++ b/sys/net/if_ethersubr.c
@@ -41,7 +41,6 @@
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/module.h>
#include <sys/mbuf.h>
@@ -97,6 +96,8 @@ extern u_char at_org_code[3];
extern u_char aarp_org_code[3];
#endif /* NETATALK */
+#include <security/mac/mac_framework.h>
+
/* netgraph node hooks for ng_ether(4) */
void (*ng_ether_input_p)(struct ifnet *ifp, struct mbuf **mp);
void (*ng_ether_input_orphan_p)(struct ifnet *ifp, struct mbuf *m);
diff --git a/sys/net/if_fddisubr.c b/sys/net/if_fddisubr.c
index cc4b1fc..a2fd00b 100644
--- a/sys/net/if_fddisubr.c
+++ b/sys/net/if_fddisubr.c
@@ -45,7 +45,6 @@
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/module.h>
@@ -89,6 +88,8 @@ extern u_char at_org_code[ 3 ];
extern u_char aarp_org_code[ 3 ];
#endif /* NETATALK */
+#include <security/mac/mac_framework.h>
+
static const u_char fddibroadcastaddr[FDDI_ADDR_LEN] =
{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
diff --git a/sys/net/if_fwsubr.c b/sys/net/if_fwsubr.c
index 774e206..a39f194 100644
--- a/sys/net/if_fwsubr.c
+++ b/sys/net/if_fwsubr.c
@@ -37,7 +37,6 @@
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/module.h>
@@ -62,6 +61,8 @@
#include <netinet6/nd6.h>
#endif
+#include <security/mac/mac_framework.h>
+
MALLOC_DEFINE(M_FWCOM, "fw_com", "firewire interface internals");
struct fw_hwaddr firewire_broadcastaddr = {
diff --git a/sys/net/if_gif.c b/sys/net/if_gif.c
index 3fb8aeb..dfe69bd 100644
--- a/sys/net/if_gif.c
+++ b/sys/net/if_gif.c
@@ -37,7 +37,6 @@
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/module.h>
@@ -84,6 +83,8 @@
#include <net/if_bridgevar.h>
#include <net/if_gif.h>
+#include <security/mac/mac_framework.h>
+
#define GIFNAME "gif"
/*
diff --git a/sys/net/if_iso88025subr.c b/sys/net/if_iso88025subr.c
index 14c6f98..8dca499 100644
--- a/sys/net/if_iso88025subr.c
+++ b/sys/net/if_iso88025subr.c
@@ -48,7 +48,6 @@
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/module.h>
@@ -79,6 +78,8 @@
#include <netipx/ipx_if.h>
#endif
+#include <security/mac/mac_framework.h>
+
static const u_char iso88025_broadcastaddr[ISO88025_ADDR_LEN] =
{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
diff --git a/sys/net/if_ppp.c b/sys/net/if_ppp.c
index 4d884ef..87f9a41 100644
--- a/sys/net/if_ppp.c
+++ b/sys/net/if_ppp.c
@@ -88,7 +88,6 @@
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/proc.h>
-#include <sys/mac.h>
#include <sys/mbuf.h>
#include <sys/socket.h>
#include <sys/filio.h>
@@ -123,6 +122,8 @@
#include <net/if_ppp.h>
#include <net/if_pppvar.h>
+#include <security/mac/mac_framework.h>
+
/* minimise diffs */
#ifndef splsoftnet
#define splsoftnet splnet
diff --git a/sys/net/if_stf.c b/sys/net/if_stf.c
index 3100c95..2f53c44 100644
--- a/sys/net/if_stf.c
+++ b/sys/net/if_stf.c
@@ -82,7 +82,6 @@
#include <sys/systm.h>
#include <sys/socket.h>
#include <sys/sockio.h>
-#include <sys/mac.h>
#include <sys/mbuf.h>
#include <sys/errno.h>
#include <sys/kernel.h>
@@ -117,6 +116,8 @@
#include <net/bpf.h>
+#include <security/mac/mac_framework.h>
+
#define STFNAME "stf"
#define STFUNIT 0
diff --git a/sys/net/if_tun.c b/sys/net/if_tun.c
index ddf6412..0787669 100644
--- a/sys/net/if_tun.c
+++ b/sys/net/if_tun.c
@@ -25,7 +25,6 @@
#include <sys/param.h>
#include <sys/proc.h>
#include <sys/systm.h>
-#include <sys/mac.h>
#include <sys/mbuf.h>
#include <sys/module.h>
#include <sys/socket.h>
@@ -56,6 +55,8 @@
#include <sys/queue.h>
+#include <security/mac/mac_framework.h>
+
/*
* tun_list is protected by global tunmtx. Other mutable fields are
* protected by tun->tun_mtx, or by their owning subsystem. tun_dev is
diff --git a/sys/netatalk/aarp.c b/sys/netatalk/aarp.c
index d835d66..ebadbce 100644
--- a/sys/netatalk/aarp.c
+++ b/sys/netatalk/aarp.c
@@ -56,7 +56,6 @@
#include <sys/param.h>
#include <sys/systm.h>
-#include <sys/mac.h>
#include <sys/mbuf.h>
#include <sys/kernel.h>
#include <sys/socket.h>
@@ -75,6 +74,8 @@
#include <netatalk/phase2.h>
#include <netatalk/at_extern.h>
+#include <security/mac/mac_framework.h>
+
static void aarptfree(struct aarptab *aat);
static void at_aarpinput(struct ifnet *ifp, struct mbuf *m);
diff --git a/sys/netatalk/ddp_input.c b/sys/netatalk/ddp_input.c
index 9ffa10f..5353682 100644
--- a/sys/netatalk/ddp_input.c
+++ b/sys/netatalk/ddp_input.c
@@ -55,7 +55,6 @@
#include <sys/param.h>
#include <sys/kernel.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/mbuf.h>
#include <sys/signalvar.h>
#include <sys/socket.h>
@@ -72,6 +71,8 @@
#include <netatalk/ddp_pcb.h>
#include <netatalk/at_extern.h>
+#include <security/mac/mac_framework.h>
+
static volatile int ddp_forward = 1;
static volatile int ddp_firewall = 0;
static struct ddpstat ddpstat;
diff --git a/sys/netatalk/ddp_output.c b/sys/netatalk/ddp_output.c
index 357d707..c48f043 100644
--- a/sys/netatalk/ddp_output.c
+++ b/sys/netatalk/ddp_output.c
@@ -27,7 +27,6 @@
#include <sys/param.h>
#include <sys/systm.h>
-#include <sys/mac.h>
#include <sys/mbuf.h>
#include <sys/socket.h>
#include <sys/socketvar.h>
@@ -43,6 +42,8 @@
#include <netatalk/ddp_var.h>
#include <netatalk/at_extern.h>
+#include <security/mac/mac_framework.h>
+
int ddp_cksum = 1;
int
diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c
index ff2f701..61265d4 100644
--- a/sys/netinet/if_ether.c
+++ b/sys/netinet/if_ether.c
@@ -45,7 +45,6 @@
#include <sys/queue.h>
#include <sys/sysctl.h>
#include <sys/systm.h>
-#include <sys/mac.h>
#include <sys/mbuf.h>
#include <sys/malloc.h>
#include <sys/socket.h>
@@ -70,6 +69,8 @@
#include <netinet/ip_carp.h>
#endif
+#include <security/mac/mac_framework.h>
+
#define SIN(s) ((struct sockaddr_in *)s)
#define SDL(s) ((struct sockaddr_dl *)s)
diff --git a/sys/netinet/igmp.c b/sys/netinet/igmp.c
index d82727d..ad63218 100644
--- a/sys/netinet/igmp.c
+++ b/sys/netinet/igmp.c
@@ -49,7 +49,6 @@
#include <sys/param.h>
#include <sys/systm.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/socket.h>
@@ -71,6 +70,8 @@
#include <machine/in_cksum.h>
+#include <security/mac/mac_framework.h>
+
static MALLOC_DEFINE(M_IGMP, "igmp", "igmp state");
static struct router_info *find_rti(struct ifnet *ifp);
diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c
index b117b13..60e7bf0 100644
--- a/sys/netinet/in_pcb.c
+++ b/sys/netinet/in_pcb.c
@@ -36,7 +36,6 @@
#include <sys/param.h>
#include <sys/systm.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/domain.h>
@@ -80,6 +79,8 @@
#include <netipsec/key.h>
#endif /* FAST_IPSEC */
+#include <security/mac/mac_framework.h>
+
/*
* These configure the range of local port addresses assigned to
* "unspecified" outgoing connections/packets/whatever.
diff --git a/sys/netinet/ip_divert.c b/sys/netinet/ip_divert.c
index c620e73..d416b0e 100644
--- a/sys/netinet/ip_divert.c
+++ b/sys/netinet/ip_divert.c
@@ -45,7 +45,6 @@
#include <sys/kernel.h>
#include <sys/lock.h>
#include <sys/malloc.h>
-#include <sys/mac.h>
#include <sys/mbuf.h>
#include <sys/module.h>
#include <sys/kernel.h>
@@ -72,6 +71,8 @@
#include <netinet/ip_var.h>
#include <netinet/ip_fw.h>
+#include <security/mac/mac_framework.h>
+
/*
* Divert sockets
*/
diff --git a/sys/netinet/ip_fw2.c b/sys/netinet/ip_fw2.c
index 2c6b461..9fa652e 100644
--- a/sys/netinet/ip_fw2.c
+++ b/sys/netinet/ip_fw2.c
@@ -52,7 +52,6 @@
#include <sys/kernel.h>
#include <sys/lock.h>
#include <sys/jail.h>
-#include <sys/mac.h>
#include <sys/module.h>
#include <sys/proc.h>
#include <sys/rwlock.h>
@@ -101,6 +100,8 @@
#include <machine/in_cksum.h> /* XXX for in_cksum */
+#include <security/mac/mac_framework.h>
+
/*
* set_disable contains one bit per set value (0..31).
* If the bit is set, all rules with the corresponding set
diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c
index b3539a9..3385143 100644
--- a/sys/netinet/ip_icmp.c
+++ b/sys/netinet/ip_icmp.c
@@ -35,7 +35,6 @@
#include <sys/param.h>
#include <sys/systm.h>
-#include <sys/mac.h>
#include <sys/mbuf.h>
#include <sys/protosw.h>
#include <sys/socket.h>
@@ -73,6 +72,8 @@
#include <machine/in_cksum.h>
+#include <security/mac/mac_framework.h>
+
/*
* ICMP routines: error generation, receive packet processing, and
* routines to turnaround packets back to the originator, and
diff --git a/sys/netinet/ip_input.c b/sys/netinet/ip_input.c
index 84768a7..5e682b6 100644
--- a/sys/netinet/ip_input.c
+++ b/sys/netinet/ip_input.c
@@ -40,7 +40,6 @@
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/callout.h>
-#include <sys/mac.h>
#include <sys/mbuf.h>
#include <sys/malloc.h>
#include <sys/domain.h>
@@ -81,6 +80,8 @@
#include <netinet/ip_fw.h>
#include <netinet/ip_dummynet.h>
+#include <security/mac/mac_framework.h>
+
int rsvp_on = 0;
int ipforwarding = 0;
diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c
index 125a486..a248b72 100644
--- a/sys/netinet/ip_mroute.c
+++ b/sys/netinet/ip_mroute.c
@@ -65,7 +65,6 @@
#include <sys/param.h>
#include <sys/kernel.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/module.h>
@@ -98,6 +97,8 @@
#include <netinet/udp.h>
#include <machine/in_cksum.h>
+#include <security/mac/mac_framework.h>
+
/*
* Control debugging code for rsvp and multicast routing code.
* Can only set them with the debugger.
diff --git a/sys/netinet/ip_options.c b/sys/netinet/ip_options.c
index 39126c8..8986275 100644
--- a/sys/netinet/ip_options.c
+++ b/sys/netinet/ip_options.c
@@ -36,7 +36,6 @@
#include <sys/param.h>
#include <sys/systm.h>
-#include <sys/mac.h>
#include <sys/mbuf.h>
/* #include <sys/malloc.h> */
#include <sys/domain.h>
@@ -66,6 +65,8 @@
#include <sys/socketvar.h>
+#include <security/mac/mac_framework.h>
+
static int ip_dosourceroute = 0;
SYSCTL_INT(_net_inet_ip, IPCTL_SOURCEROUTE, sourceroute, CTLFLAG_RW,
&ip_dosourceroute, 0, "Enable forwarding source routed IP packets");
diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c
index f9c78fd..6e3833e 100644
--- a/sys/netinet/ip_output.c
+++ b/sys/netinet/ip_output.c
@@ -38,7 +38,6 @@
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/protosw.h>
@@ -71,6 +70,8 @@
#include <machine/in_cksum.h>
+#include <security/mac/mac_framework.h>
+
static MALLOC_DEFINE(M_IPMOPTS, "ip_moptions", "internet multicast options");
#define print_ip(x, a, y) printf("%s %d.%d.%d.%d%s",\
diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c
index 070d32e..837933b 100644
--- a/sys/netinet/raw_ip.c
+++ b/sys/netinet/raw_ip.c
@@ -38,7 +38,6 @@
#include <sys/jail.h>
#include <sys/kernel.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/proc.h>
@@ -74,6 +73,8 @@
#include <netinet6/ipsec.h>
#endif /*IPSEC*/
+#include <security/mac/mac_framework.h>
+
struct inpcbhead ripcb;
struct inpcbinfo ripcbinfo;
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c
index 9508abc..9aef64b 100644
--- a/sys/netinet/tcp_input.c
+++ b/sys/netinet/tcp_input.c
@@ -41,7 +41,6 @@
#include <sys/param.h>
#include <sys/kernel.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/proc.h> /* for proc0 declaration */
@@ -98,6 +97,8 @@
#include <machine/in_cksum.h>
+#include <security/mac/mac_framework.h>
+
static const int tcprexmtthresh = 3;
struct tcpstat tcpstat;
diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c
index 6833e7e..25402cd 100644
--- a/sys/netinet/tcp_output.c
+++ b/sys/netinet/tcp_output.c
@@ -42,7 +42,6 @@
#include <sys/domain.h>
#include <sys/kernel.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/mbuf.h>
#include <sys/mutex.h>
#include <sys/protosw.h>
@@ -85,6 +84,8 @@
#include <machine/in_cksum.h>
+#include <security/mac/mac_framework.h>
+
#ifdef notyet
extern struct mbuf *m_copypack();
#endif
diff --git a/sys/netinet/tcp_reass.c b/sys/netinet/tcp_reass.c
index 9508abc..9aef64b 100644
--- a/sys/netinet/tcp_reass.c
+++ b/sys/netinet/tcp_reass.c
@@ -41,7 +41,6 @@
#include <sys/param.h>
#include <sys/kernel.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/proc.h> /* for proc0 declaration */
@@ -98,6 +97,8 @@
#include <machine/in_cksum.h>
+#include <security/mac/mac_framework.h>
+
static const int tcprexmtthresh = 3;
struct tcpstat tcpstat;
diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c
index af99313..2b4f9bc 100644
--- a/sys/netinet/tcp_subr.c
+++ b/sys/netinet/tcp_subr.c
@@ -43,7 +43,6 @@
#include <sys/callout.h>
#include <sys/kernel.h>
#include <sys/sysctl.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#ifdef INET6
@@ -113,6 +112,8 @@
#include <machine/in_cksum.h>
#include <sys/md5.h>
+#include <security/mac/mac_framework.h>
+
int tcp_mssdflt = TCP_MSS;
SYSCTL_INT(_net_inet_tcp, TCPCTL_MSSDFLT, mssdflt, CTLFLAG_RW,
&tcp_mssdflt , 0, "Default TCP Maximum Segment Size");
diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c
index 06859d4..e8ca230 100644
--- a/sys/netinet/tcp_syncache.c
+++ b/sys/netinet/tcp_syncache.c
@@ -44,7 +44,6 @@
#include <sys/lock.h>
#include <sys/mutex.h>
#include <sys/malloc.h>
-#include <sys/mac.h>
#include <sys/mbuf.h>
#include <sys/md5.h>
#include <sys/proc.h> /* for proc0 declaration */
@@ -97,6 +96,8 @@
#include <machine/in_cksum.h>
+#include <security/mac/mac_framework.h>
+
static int tcp_syncookies = 1;
SYSCTL_INT(_net_inet_tcp, OID_AUTO, syncookies, CTLFLAG_RW,
&tcp_syncookies, 0,
diff --git a/sys/netinet/tcp_timewait.c b/sys/netinet/tcp_timewait.c
index af99313..2b4f9bc 100644
--- a/sys/netinet/tcp_timewait.c
+++ b/sys/netinet/tcp_timewait.c
@@ -43,7 +43,6 @@
#include <sys/callout.h>
#include <sys/kernel.h>
#include <sys/sysctl.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#ifdef INET6
@@ -113,6 +112,8 @@
#include <machine/in_cksum.h>
#include <sys/md5.h>
+#include <security/mac/mac_framework.h>
+
int tcp_mssdflt = TCP_MSS;
SYSCTL_INT(_net_inet_tcp, TCPCTL_MSSDFLT, mssdflt, CTLFLAG_RW,
&tcp_mssdflt , 0, "Default TCP Maximum Segment Size");
diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c
index b1911b5..28245875 100644
--- a/sys/netinet/udp_usrreq.c
+++ b/sys/netinet/udp_usrreq.c
@@ -42,7 +42,6 @@
#include <sys/jail.h>
#include <sys/kernel.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/proc.h>
@@ -87,6 +86,8 @@
#include <machine/in_cksum.h>
+#include <security/mac/mac_framework.h>
+
/*
* UDP protocol implementation.
* Per RFC 768, August, 1980.
diff --git a/sys/netinet6/nd6.c b/sys/netinet6/nd6.c
index c0b5dcd..16a5294 100644
--- a/sys/netinet6/nd6.c
+++ b/sys/netinet6/nd6.c
@@ -37,7 +37,6 @@
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/callout.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/socket.h>
@@ -69,6 +68,8 @@
#include <sys/limits.h>
+#include <security/mac/mac_framework.h>
+
#define ND6_SLOWTIMER_INTERVAL (60 * 60) /* 1 hour */
#define ND6_RECALC_REACHTM_INTERVAL (60 * 120) /* 2 hours */
diff --git a/sys/nfsserver/nfs_srvsock.c b/sys/nfsserver/nfs_srvsock.c
index ffeb4ef..eba9cfb 100644
--- a/sys/nfsserver/nfs_srvsock.c
+++ b/sys/nfsserver/nfs_srvsock.c
@@ -45,7 +45,6 @@ __FBSDID("$FreeBSD$");
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/mount.h>
@@ -69,6 +68,8 @@ __FBSDID("$FreeBSD$");
#include <nfs/xdr_subs.h>
#include <nfsserver/nfsm_subs.h>
+#include <security/mac/mac_framework.h>
+
#define TRUE 1
#define FALSE 0
diff --git a/sys/nfsserver/nfs_syscalls.c b/sys/nfsserver/nfs_syscalls.c
index 5b261f1..b74325f 100644
--- a/sys/nfsserver/nfs_syscalls.c
+++ b/sys/nfsserver/nfs_syscalls.c
@@ -46,7 +46,6 @@ __FBSDID("$FreeBSD$");
#include <sys/file.h>
#include <sys/filedesc.h>
#include <sys/vnode.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mount.h>
#include <sys/proc.h>
@@ -74,6 +73,8 @@ __FBSDID("$FreeBSD$");
#include <nfsserver/nfsm_subs.h>
#include <nfsserver/nfsrvcache.h>
+#include <security/mac/mac_framework.h>
+
static MALLOC_DEFINE(M_NFSSVC, "nfsserver_srvsock", "Nfs server structure");
MALLOC_DEFINE(M_NFSRVDESC, "nfsserver_srvdesc", "NFS server socket descriptor");
diff --git a/sys/security/mac/mac_framework.c b/sys/security/mac/mac_framework.c
index b553c80..8d69dcc 100644
--- a/sys/security/mac/mac_framework.c
+++ b/sys/security/mac/mac_framework.c
@@ -2,7 +2,7 @@
* Copyright (c) 1999-2002 Robert N. M. Watson
* Copyright (c) 2001 Ilmar S. Habibulin
* Copyright (c) 2001-2005 Networks Associates Technology, Inc.
- * Copyright (c) 2005 SPARTA, Inc.
+ * Copyright (c) 2005-2006 SPARTA, Inc.
* All rights reserved.
*
* This software was developed by Robert Watson and Ilmar Habibulin for the
@@ -91,6 +91,7 @@ __FBSDID("$FreeBSD$");
#include <netinet/in.h>
#include <netinet/ip_var.h>
+#include <security/mac/mac_framework.h>
#include <security/mac/mac_internal.h>
#ifdef MAC
diff --git a/sys/security/mac/mac_framework.h b/sys/security/mac/mac_framework.h
index 520e767..02d3eb9 100644
--- a/sys/security/mac/mac_framework.h
+++ b/sys/security/mac/mac_framework.h
@@ -1,7 +1,7 @@
/*-
* Copyright (c) 1999-2002 Robert N. M. Watson
* Copyright (c) 2001-2005 Networks Associates Technology, Inc.
- * Copyright (c) 2005 SPARTA, Inc.
+ * Copyright (c) 2005-2006 SPARTA, Inc.
* All rights reserved.
*
* This software was developed by Robert Watson for the TrustedBSD Project.
@@ -37,91 +37,33 @@
*
* $FreeBSD$
*/
-/*
- * Userland/kernel interface for Mandatory Access Control.
- *
- * The POSIX.1e implementation page may be reached at:
- * http://www.trustedbsd.org/
- */
-
-#ifndef _SYS_MAC_H_
-#define _SYS_MAC_H_
-
-#include <sys/_label.h>
-
-#ifndef _POSIX_MAC
-#define _POSIX_MAC
-#endif
/*
- * MAC framework-related constants and limits.
+ * Kernel interface for Mandatory Access Control -- how kernel services
+ * interact with the TrustedBSD MAC Framework.
*/
-#define MAC_MAX_POLICY_NAME 32
-#define MAC_MAX_LABEL_ELEMENT_NAME 32
-#define MAC_MAX_LABEL_ELEMENT_DATA 4096
-#define MAC_MAX_LABEL_BUF_LEN 8192
-
-struct mac {
- size_t m_buflen;
- char *m_string;
-};
-typedef struct mac *mac_t;
+#ifndef _SYS_SECURITY_MAC_MAC_FRAMEWORK_H_
+#define _SYS_SECURITY_MAC_MAC_MAC_FRAMEWORK_H_
#ifndef _KERNEL
+#error "no user-serviceable parts inside"
+#endif
-/*
- * Location of the userland MAC framework configuration file. mac.conf
- * binds policy names to shared libraries that understand those policies,
- * as well as setting defaults for MAC-aware applications.
- */
-#define MAC_CONFFILE "/etc/mac.conf"
-
-/*
- * Extended non-POSIX.1e interfaces that offer additional services
- * available from the userland and kernel MAC frameworks.
- */
-__BEGIN_DECLS
-int mac_execve(char *fname, char **argv, char **envv, mac_t _label);
-int mac_free(mac_t _label);
-int mac_from_text(mac_t *_label, const char *_text);
-int mac_get_fd(int _fd, mac_t _label);
-int mac_get_file(const char *_path, mac_t _label);
-int mac_get_link(const char *_path, mac_t _label);
-int mac_get_peer(int _fd, mac_t _label);
-int mac_get_pid(pid_t _pid, mac_t _label);
-int mac_get_proc(mac_t _label);
-int mac_is_present(const char *_policyname);
-int mac_prepare(mac_t *_label, const char *_elements);
-int mac_prepare_file_label(mac_t *_label);
-int mac_prepare_ifnet_label(mac_t *_label);
-int mac_prepare_process_label(mac_t *_label);
-int mac_prepare_type(mac_t *_label, const char *_type);
-int mac_set_fd(int _fildes, const mac_t _label);
-int mac_set_file(const char *_path, mac_t _label);
-int mac_set_link(const char *_path, mac_t _label);
-int mac_set_proc(const mac_t _label);
-int mac_syscall(const char *_policyname, int _call, void *_arg);
-int mac_to_text(mac_t mac, char **_text);
-__END_DECLS
-
-#else /* _KERNEL */
+#include <sys/_label.h>
-/*
- * Kernel functions to manage and evaluate labels.
- */
struct bpf_d;
struct cdev;
struct componentname;
struct devfs_dirent;
struct ifnet;
struct ifreq;
-struct inpcb;
struct image_params;
struct inpcb;
struct ipq;
struct ksem;
struct m_tag;
+struct mac;
struct mbuf;
struct mount;
struct msg;
@@ -140,14 +82,14 @@ struct ucred;
struct uio;
struct vattr;
struct vnode;
+struct vop_setlabel_args;
#include <sys/acl.h> /* XXX acl_type_t */
-struct vop_setlabel_args;
-
/*
- * Label operations.
+ * Kernel functions to manage and evaluate labels.
*/
+
void mac_init_bpfdesc(struct bpf_d *);
void mac_init_cred(struct ucred *);
void mac_init_devfsdirent(struct devfs_dirent *);
@@ -472,6 +414,4 @@ void mac_associate_nfsd_label(struct ucred *cred);
*/
int vop_stdsetlabel_ea(struct vop_setlabel_args *ap);
-#endif /* !_KERNEL */
-
-#endif /* !_SYS_MAC_H_ */
+#endif /* !_SYS_SECURITY_MAC_MAC_FRAMEWORK_H_ */
diff --git a/sys/security/mac/mac_inet.c b/sys/security/mac/mac_inet.c
index 7dafc45..0d35e48 100644
--- a/sys/security/mac/mac_inet.c
+++ b/sys/security/mac/mac_inet.c
@@ -64,6 +64,7 @@ __FBSDID("$FreeBSD$");
#include <netinet/in_pcb.h>
#include <netinet/ip_var.h>
+#include <security/mac/mac_framework.h>
#include <security/mac/mac_internal.h>
static struct label *
diff --git a/sys/security/mac/mac_label.c b/sys/security/mac/mac_label.c
index f6d92ef..572d598 100644
--- a/sys/security/mac/mac_label.c
+++ b/sys/security/mac/mac_label.c
@@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$");
#include <vm/uma.h>
+#include <security/mac/mac_framework.h>
#include <security/mac/mac_internal.h>
uma_zone_t zone_label;
diff --git a/sys/security/mac/mac_net.c b/sys/security/mac/mac_net.c
index d542806..eb602da 100644
--- a/sys/security/mac/mac_net.c
+++ b/sys/security/mac/mac_net.c
@@ -61,6 +61,7 @@ __FBSDID("$FreeBSD$");
#include <net/if.h>
#include <net/if_var.h>
+#include <security/mac/mac_framework.h>
#include <security/mac/mac_internal.h>
/*
diff --git a/sys/security/mac/mac_pipe.c b/sys/security/mac/mac_pipe.c
index 6a59567..edc03132 100644
--- a/sys/security/mac/mac_pipe.c
+++ b/sys/security/mac/mac_pipe.c
@@ -49,6 +49,7 @@ __FBSDID("$FreeBSD$");
#include <sys/mac_policy.h>
+#include <security/mac/mac_framework.h>
#include <security/mac/mac_internal.h>
static int mac_enforce_pipe = 1;
diff --git a/sys/security/mac/mac_policy.h b/sys/security/mac/mac_policy.h
index afd437f..a7e9d834 100644
--- a/sys/security/mac/mac_policy.h
+++ b/sys/security/mac/mac_policy.h
@@ -55,6 +55,8 @@
* Operations are sorted first by general class of operation, then
* alphabetically.
*/
+#include <sys/acl.h> /* XXX acl_type_t */
+
struct acl;
struct bpf_d;
struct componentname;
diff --git a/sys/security/mac/mac_posix_sem.c b/sys/security/mac/mac_posix_sem.c
index a71b021..e852779 100644
--- a/sys/security/mac/mac_posix_sem.c
+++ b/sys/security/mac/mac_posix_sem.c
@@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$");
#include <sys/mac_policy.h>
+#include <security/mac/mac_framework.h>
#include <security/mac/mac_internal.h>
static int mac_enforce_posix_sem = 1;
diff --git a/sys/security/mac/mac_process.c b/sys/security/mac/mac_process.c
index c3f8eab..c903204 100644
--- a/sys/security/mac/mac_process.c
+++ b/sys/security/mac/mac_process.c
@@ -64,6 +64,7 @@ __FBSDID("$FreeBSD$");
#include <sys/mac_policy.h>
+#include <security/mac/mac_framework.h>
#include <security/mac/mac_internal.h>
int mac_enforce_process = 1;
diff --git a/sys/security/mac/mac_socket.c b/sys/security/mac/mac_socket.c
index 21439cd..2766716 100644
--- a/sys/security/mac/mac_socket.c
+++ b/sys/security/mac/mac_socket.c
@@ -69,6 +69,7 @@ __FBSDID("$FreeBSD$");
#include <netinet/in_pcb.h>
#include <netinet/ip_var.h>
+#include <security/mac/mac_framework.h>
#include <security/mac/mac_internal.h>
/*
diff --git a/sys/security/mac/mac_syscalls.c b/sys/security/mac/mac_syscalls.c
index b553c80..8d69dcc 100644
--- a/sys/security/mac/mac_syscalls.c
+++ b/sys/security/mac/mac_syscalls.c
@@ -2,7 +2,7 @@
* Copyright (c) 1999-2002 Robert N. M. Watson
* Copyright (c) 2001 Ilmar S. Habibulin
* Copyright (c) 2001-2005 Networks Associates Technology, Inc.
- * Copyright (c) 2005 SPARTA, Inc.
+ * Copyright (c) 2005-2006 SPARTA, Inc.
* All rights reserved.
*
* This software was developed by Robert Watson and Ilmar Habibulin for the
@@ -91,6 +91,7 @@ __FBSDID("$FreeBSD$");
#include <netinet/in.h>
#include <netinet/ip_var.h>
+#include <security/mac/mac_framework.h>
#include <security/mac/mac_internal.h>
#ifdef MAC
diff --git a/sys/security/mac/mac_system.c b/sys/security/mac/mac_system.c
index 6cd6430..eef66e6 100644
--- a/sys/security/mac/mac_system.c
+++ b/sys/security/mac/mac_system.c
@@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$");
#include <sys/mac_policy.h>
+#include <security/mac/mac_framework.h>
#include <security/mac/mac_internal.h>
static int mac_enforce_kld = 1;
diff --git a/sys/security/mac/mac_sysv_msg.c b/sys/security/mac/mac_sysv_msg.c
index d7e2629..86ae8a8 100644
--- a/sys/security/mac/mac_sysv_msg.c
+++ b/sys/security/mac/mac_sysv_msg.c
@@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$");
#include <sys/mac_policy.h>
+#include <security/mac/mac_framework.h>
#include <security/mac/mac_internal.h>
static int mac_enforce_sysv_msg = 1;
diff --git a/sys/security/mac/mac_sysv_sem.c b/sys/security/mac/mac_sysv_sem.c
index ffe31e1..aae6788 100644
--- a/sys/security/mac/mac_sysv_sem.c
+++ b/sys/security/mac/mac_sysv_sem.c
@@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$");
#include <sys/mac_policy.h>
+#include <security/mac/mac_framework.h>
#include <security/mac/mac_internal.h>
static int mac_enforce_sysv_sem = 1;
diff --git a/sys/security/mac/mac_sysv_shm.c b/sys/security/mac/mac_sysv_shm.c
index adbea14..b7c8cfb 100644
--- a/sys/security/mac/mac_sysv_shm.c
+++ b/sys/security/mac/mac_sysv_shm.c
@@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$");
#include <sys/mac_policy.h>
+#include <security/mac/mac_framework.h>
#include <security/mac/mac_internal.h>
static int mac_enforce_sysv_shm = 1;
diff --git a/sys/security/mac/mac_vfs.c b/sys/security/mac/mac_vfs.c
index 058dc6c..ef667b1 100644
--- a/sys/security/mac/mac_vfs.c
+++ b/sys/security/mac/mac_vfs.c
@@ -70,6 +70,7 @@ __FBSDID("$FreeBSD$");
#include <fs/devfs/devfs.h>
+#include <security/mac/mac_framework.h>
#include <security/mac/mac_internal.h>
/*
diff --git a/sys/security/mac_lomac/mac_lomac.c b/sys/security/mac_lomac/mac_lomac.c
index 8ae03e0..07484d1 100644
--- a/sys/security/mac_lomac/mac_lomac.c
+++ b/sys/security/mac_lomac/mac_lomac.c
@@ -45,7 +45,6 @@
#include <sys/conf.h>
#include <sys/extattr.h>
#include <sys/kernel.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/mman.h>
#include <sys/mount.h>
@@ -79,6 +78,7 @@
#include <sys/mac_policy.h>
+#include <security/mac/mac_framework.h>
#include <security/mac_lomac/mac_lomac.h>
struct mac_lomac_proc {
diff --git a/sys/sys/mac.h b/sys/sys/mac.h
index 520e767..56ab0a9 100644
--- a/sys/sys/mac.h
+++ b/sys/sys/mac.h
@@ -1,7 +1,7 @@
/*-
* Copyright (c) 1999-2002 Robert N. M. Watson
* Copyright (c) 2001-2005 Networks Associates Technology, Inc.
- * Copyright (c) 2005 SPARTA, Inc.
+ * Copyright (c) 2005-2006 SPARTA, Inc.
* All rights reserved.
*
* This software was developed by Robert Watson for the TrustedBSD Project.
@@ -38,7 +38,7 @@
* $FreeBSD$
*/
/*
- * Userland/kernel interface for Mandatory Access Control.
+ * Userland interface for Mandatory Access Control.
*
* The POSIX.1e implementation page may be reached at:
* http://www.trustedbsd.org/
@@ -105,373 +105,6 @@ int mac_syscall(const char *_policyname, int _call, void *_arg);
int mac_to_text(mac_t mac, char **_text);
__END_DECLS
-#else /* _KERNEL */
-
-/*
- * Kernel functions to manage and evaluate labels.
- */
-struct bpf_d;
-struct cdev;
-struct componentname;
-struct devfs_dirent;
-struct ifnet;
-struct ifreq;
-struct inpcb;
-struct image_params;
-struct inpcb;
-struct ipq;
-struct ksem;
-struct m_tag;
-struct mbuf;
-struct mount;
-struct msg;
-struct msqid_kernel;
-struct proc;
-struct semid_kernel;
-struct shmid_kernel;
-struct sockaddr;
-struct socket;
-struct sysctl_oid;
-struct sysctl_req;
-struct pipepair;
-struct thread;
-struct timespec;
-struct ucred;
-struct uio;
-struct vattr;
-struct vnode;
-
-#include <sys/acl.h> /* XXX acl_type_t */
-
-struct vop_setlabel_args;
-
-/*
- * Label operations.
- */
-void mac_init_bpfdesc(struct bpf_d *);
-void mac_init_cred(struct ucred *);
-void mac_init_devfsdirent(struct devfs_dirent *);
-void mac_init_ifnet(struct ifnet *);
-int mac_init_inpcb(struct inpcb *, int flag);
-void mac_init_sysv_msgmsg(struct msg *);
-void mac_init_sysv_msgqueue(struct msqid_kernel*);
-void mac_init_sysv_sem(struct semid_kernel*);
-void mac_init_sysv_shm(struct shmid_kernel*);
-int mac_init_ipq(struct ipq *, int flag);
-int mac_init_socket(struct socket *, int flag);
-void mac_init_pipe(struct pipepair *);
-void mac_init_posix_sem(struct ksem *);
-int mac_init_mbuf(struct mbuf *mbuf, int flag);
-int mac_init_mbuf_tag(struct m_tag *, int flag);
-void mac_init_mount(struct mount *);
-void mac_init_proc(struct proc *);
-void mac_init_vnode(struct vnode *);
-void mac_copy_mbuf(struct mbuf *m_from, struct mbuf *m_to);
-void mac_copy_mbuf_tag(struct m_tag *, struct m_tag *);
-void mac_copy_vnode_label(struct label *, struct label *label);
-void mac_destroy_bpfdesc(struct bpf_d *);
-void mac_destroy_cred(struct ucred *);
-void mac_destroy_devfsdirent(struct devfs_dirent *);
-void mac_destroy_ifnet(struct ifnet *);
-void mac_destroy_inpcb(struct inpcb *);
-void mac_destroy_sysv_msgmsg(struct msg *);
-void mac_destroy_sysv_msgqueue(struct msqid_kernel *);
-void mac_destroy_sysv_sem(struct semid_kernel *);
-void mac_destroy_sysv_shm(struct shmid_kernel *);
-void mac_destroy_ipq(struct ipq *);
-void mac_destroy_socket(struct socket *);
-void mac_destroy_pipe(struct pipepair *);
-void mac_destroy_posix_sem(struct ksem *);
-void mac_destroy_proc(struct proc *);
-void mac_destroy_mbuf_tag(struct m_tag *);
-void mac_destroy_mount(struct mount *);
-void mac_destroy_vnode(struct vnode *);
-
-struct label *mac_cred_label_alloc(void);
-void mac_cred_label_free(struct label *label);
-struct label *mac_vnode_label_alloc(void);
-void mac_vnode_label_free(struct label *label);
-
-/*
- * Labeling event operations: file system objects, and things that
- * look a lot like file system objects.
- */
-void mac_associate_vnode_devfs(struct mount *mp, struct devfs_dirent *de,
- struct vnode *vp);
-int mac_associate_vnode_extattr(struct mount *mp, struct vnode *vp);
-void mac_associate_vnode_singlelabel(struct mount *mp, struct vnode *vp);
-void mac_create_devfs_device(struct ucred *cred, struct mount *mp,
- struct cdev *dev, struct devfs_dirent *de);
-void mac_create_devfs_directory(struct mount *mp, char *dirname,
- int dirnamelen, struct devfs_dirent *de);
-void mac_create_devfs_symlink(struct ucred *cred, struct mount *mp,
- struct devfs_dirent *dd, struct devfs_dirent *de);
-int mac_create_vnode_extattr(struct ucred *cred, struct mount *mp,
- struct vnode *dvp, struct vnode *vp, struct componentname *cnp);
-void mac_create_mount(struct ucred *cred, struct mount *mp);
-void mac_relabel_vnode(struct ucred *cred, struct vnode *vp,
- struct label *newlabel);
-void mac_update_devfsdirent(struct mount *mp, struct devfs_dirent *de,
- struct vnode *vp);
-
-/*
- * Labeling event operations: IPC objects.
- */
-void mac_create_mbuf_from_socket(struct socket *so, struct mbuf *m);
-void mac_create_socket(struct ucred *cred, struct socket *socket);
-void mac_create_socket_from_socket(struct socket *oldsocket,
- struct socket *newsocket);
-void mac_set_socket_peer_from_mbuf(struct mbuf *mbuf,
- struct socket *socket);
-void mac_set_socket_peer_from_socket(struct socket *oldsocket,
- struct socket *newsocket);
-void mac_create_pipe(struct ucred *cred, struct pipepair *pp);
-
-/*
- * Labeling event operations: System V IPC primitives
- */
-void mac_create_sysv_msgmsg(struct ucred *cred,
- struct msqid_kernel *msqkptr, struct msg *msgptr);
-void mac_create_sysv_msgqueue(struct ucred *cred,
- struct msqid_kernel *msqkptr);
-void mac_create_sysv_sem(struct ucred *cred,
- struct semid_kernel *semakptr);
-void mac_create_sysv_shm(struct ucred *cred,
- struct shmid_kernel *shmsegptr);
-
-/*
- * Labeling event operations: POSIX (global/inter-process) semaphores.
- */
-void mac_create_posix_sem(struct ucred *cred, struct ksem *ksemptr);
-
-
-/*
- * Labeling event operations: network objects.
- */
-void mac_create_bpfdesc(struct ucred *cred, struct bpf_d *bpf_d);
-void mac_create_ifnet(struct ifnet *ifp);
-void mac_create_inpcb_from_socket(struct socket *so, struct inpcb *inp);
-void mac_create_ipq(struct mbuf *fragment, struct ipq *ipq);
-void mac_create_datagram_from_ipq(struct ipq *ipq, struct mbuf *datagram);
-void mac_create_fragment(struct mbuf *datagram, struct mbuf *fragment);
-void mac_create_mbuf_from_inpcb(struct inpcb *inp, struct mbuf *m);
-void mac_create_mbuf_linklayer(struct ifnet *ifnet, struct mbuf *m);
-void mac_create_mbuf_from_bpfdesc(struct bpf_d *bpf_d, struct mbuf *m);
-void mac_create_mbuf_from_ifnet(struct ifnet *ifnet, struct mbuf *m);
-void mac_create_mbuf_multicast_encap(struct mbuf *oldmbuf,
- struct ifnet *ifnet, struct mbuf *newmbuf);
-void mac_create_mbuf_netlayer(struct mbuf *oldmbuf, struct mbuf *newmbuf);
-int mac_fragment_match(struct mbuf *fragment, struct ipq *ipq);
-void mac_reflect_mbuf_icmp(struct mbuf *m);
-void mac_reflect_mbuf_tcp(struct mbuf *m);
-void mac_update_ipq(struct mbuf *fragment, struct ipq *ipq);
-void mac_inpcb_sosetlabel(struct socket *so, struct inpcb *inp);
-
-void mac_create_mbuf_from_firewall(struct mbuf *m);
-/*
- * Labeling event operations: processes.
- */
-void mac_copy_cred(struct ucred *cr1, struct ucred *cr2);
-int mac_execve_enter(struct image_params *imgp, struct mac *mac_p);
-void mac_execve_exit(struct image_params *imgp);
-void mac_execve_transition(struct ucred *old, struct ucred *new,
- struct vnode *vp, struct label *interpvnodelabel,
- struct image_params *imgp);
-int mac_execve_will_transition(struct ucred *old, struct vnode *vp,
- struct label *interpvnodelabel, struct image_params *imgp);
-void mac_create_proc0(struct ucred *cred);
-void mac_create_proc1(struct ucred *cred);
-void mac_thread_userret(struct thread *td);
-
-/*
- * Label cleanup operation: This is the inverse complement for the
- * mac_create and associate type of hooks. This hook lets the policy
- * module(s) perform a cleanup/flushing operation on the label
- * associated with the objects, without freeing up the space allocated.
- * This hook is useful in cases where it is desirable to remove any
- * labeling reference when recycling any object to a pool. This hook
- * does not replace the mac_destroy hooks.
- */
-void mac_cleanup_sysv_msgmsg(struct msg *msgptr);
-void mac_cleanup_sysv_msgqueue(struct msqid_kernel *msqkptr);
-void mac_cleanup_sysv_sem(struct semid_kernel *semakptr);
-void mac_cleanup_sysv_shm(struct shmid_kernel *shmsegptr);
-
-/* Access control checks. */
-int mac_check_bpfdesc_receive(struct bpf_d *bpf_d, struct ifnet *ifnet);
-int mac_check_cred_visible(struct ucred *u1, struct ucred *u2);
-int mac_check_ifnet_transmit(struct ifnet *ifnet, struct mbuf *m);
-int mac_check_inpcb_deliver(struct inpcb *inp, struct mbuf *m);
-int mac_check_sysv_msgmsq(struct ucred *cred, struct msg *msgptr,
- struct msqid_kernel *msqkptr);
-int mac_check_sysv_msgrcv(struct ucred *cred, struct msg *msgptr);
-int mac_check_sysv_msgrmid(struct ucred *cred, struct msg *msgptr);
-int mac_check_sysv_msqget(struct ucred *cred,
- struct msqid_kernel *msqkptr);
-int mac_check_sysv_msqsnd(struct ucred *cred,
- struct msqid_kernel *msqkptr);
-int mac_check_sysv_msqrcv(struct ucred *cred,
- struct msqid_kernel *msqkptr);
-int mac_check_sysv_msqctl(struct ucred *cred,
- struct msqid_kernel *msqkptr, int cmd);
-int mac_check_sysv_semctl(struct ucred *cred,
- struct semid_kernel *semakptr, int cmd);
-int mac_check_sysv_semget(struct ucred *cred,
- struct semid_kernel *semakptr);
-int mac_check_sysv_semop(struct ucred *cred,struct semid_kernel *semakptr,
- size_t accesstype);
-int mac_check_sysv_shmat(struct ucred *cred,
- struct shmid_kernel *shmsegptr, int shmflg);
-int mac_check_sysv_shmctl(struct ucred *cred,
- struct shmid_kernel *shmsegptr, int cmd);
-int mac_check_sysv_shmdt(struct ucred *cred,
- struct shmid_kernel *shmsegptr);
-int mac_check_sysv_shmget(struct ucred *cred,
- struct shmid_kernel *shmsegptr, int shmflg);
-int mac_check_kenv_dump(struct ucred *cred);
-int mac_check_kenv_get(struct ucred *cred, char *name);
-int mac_check_kenv_set(struct ucred *cred, char *name, char *value);
-int mac_check_kenv_unset(struct ucred *cred, char *name);
-int mac_check_kld_load(struct ucred *cred, struct vnode *vp);
-int mac_check_kld_stat(struct ucred *cred);
-int mac_check_kld_unload(struct ucred *cred);
-int mac_check_mount_stat(struct ucred *cred, struct mount *mp);
-int mac_check_pipe_ioctl(struct ucred *cred, struct pipepair *pp,
- unsigned long cmd, void *data);
-int mac_check_pipe_poll(struct ucred *cred, struct pipepair *pp);
-int mac_check_pipe_read(struct ucred *cred, struct pipepair *pp);
-int mac_check_pipe_stat(struct ucred *cred, struct pipepair *pp);
-int mac_check_pipe_write(struct ucred *cred, struct pipepair *pp);
-int mac_check_posix_sem_destroy(struct ucred *cred, struct ksem *ksemptr);
-int mac_check_posix_sem_getvalue(struct ucred *cred,struct ksem *ksemptr);
-int mac_check_posix_sem_open(struct ucred *cred, struct ksem *ksemptr);
-int mac_check_posix_sem_post(struct ucred *cred, struct ksem *ksemptr);
-int mac_check_posix_sem_unlink(struct ucred *cred, struct ksem *ksemptr);
-int mac_check_posix_sem_wait(struct ucred *cred, struct ksem *ksemptr);
-int mac_check_proc_debug(struct ucred *cred, struct proc *proc);
-int mac_check_proc_sched(struct ucred *cred, struct proc *proc);
-int mac_check_proc_setuid(struct proc *proc, struct ucred *cred,
- uid_t uid);
-int mac_check_proc_seteuid(struct proc *proc, struct ucred *cred,
- uid_t euid);
-int mac_check_proc_setgid(struct proc *proc, struct ucred *cred,
- gid_t gid);
-int mac_check_proc_setegid(struct proc *proc, struct ucred *cred,
- gid_t egid);
-int mac_check_proc_setgroups(struct proc *proc, struct ucred *cred,
- int ngroups, gid_t *gidset);
-int mac_check_proc_setreuid(struct proc *proc, struct ucred *cred,
- uid_t ruid, uid_t euid);
-int mac_check_proc_setregid(struct proc *proc, struct ucred *cred,
- gid_t rgid, gid_t egid);
-int mac_check_proc_setresuid(struct proc *proc, struct ucred *cred,
- uid_t ruid, uid_t euid, uid_t suid);
-int mac_check_proc_setresgid(struct proc *proc, struct ucred *cred,
- gid_t rgid, gid_t egid, gid_t sgid);
-int mac_check_proc_signal(struct ucred *cred, struct proc *proc,
- int signum);
-int mac_check_proc_wait(struct ucred *cred, struct proc *proc);
-int mac_check_socket_accept(struct ucred *cred, struct socket *so);
-int mac_check_socket_bind(struct ucred *cred, struct socket *so,
- struct sockaddr *sockaddr);
-int mac_check_socket_connect(struct ucred *cred, struct socket *so,
- struct sockaddr *sockaddr);
-int mac_check_socket_create(struct ucred *cred, int domain, int type,
- int protocol);
-int mac_check_socket_deliver(struct socket *so, struct mbuf *m);
-int mac_check_socket_listen(struct ucred *cred, struct socket *so);
-int mac_check_socket_poll(struct ucred *cred, struct socket *so);
-int mac_check_socket_receive(struct ucred *cred, struct socket *so);
-int mac_check_socket_send(struct ucred *cred, struct socket *so);
-int mac_check_socket_stat(struct ucred *cred, struct socket *so);
-int mac_check_socket_visible(struct ucred *cred, struct socket *so);
-int mac_check_sysarch_ioperm(struct ucred *cred);
-int mac_check_system_acct(struct ucred *cred, struct vnode *vp);
-int mac_check_system_nfsd(struct ucred *cred);
-int mac_check_system_reboot(struct ucred *cred, int howto);
-int mac_check_system_settime(struct ucred *cred);
-int mac_check_system_swapon(struct ucred *cred, struct vnode *vp);
-int mac_check_system_swapoff(struct ucred *cred, struct vnode *vp);
-int mac_check_system_sysctl(struct ucred *cred, struct sysctl_oid *oidp,
- void *arg1, int arg2, struct sysctl_req *req);
-int mac_check_vnode_access(struct ucred *cred, struct vnode *vp,
- int acc_mode);
-int mac_check_vnode_chdir(struct ucred *cred, struct vnode *dvp);
-int mac_check_vnode_chroot(struct ucred *cred, struct vnode *dvp);
-int mac_check_vnode_create(struct ucred *cred, struct vnode *dvp,
- struct componentname *cnp, struct vattr *vap);
-int mac_check_vnode_delete(struct ucred *cred, struct vnode *dvp,
- struct vnode *vp, struct componentname *cnp);
-int mac_check_vnode_deleteacl(struct ucred *cred, struct vnode *vp,
- acl_type_t type);
-int mac_check_vnode_deleteextattr(struct ucred *cred, struct vnode *vp,
- int attrnamespace, const char *name);
-int mac_check_vnode_exec(struct ucred *cred, struct vnode *vp,
- struct image_params *imgp);
-int mac_check_vnode_getacl(struct ucred *cred, struct vnode *vp,
- acl_type_t type);
-int mac_check_vnode_getextattr(struct ucred *cred, struct vnode *vp,
- int attrnamespace, const char *name, struct uio *uio);
-int mac_check_vnode_link(struct ucred *cred, struct vnode *dvp,
- struct vnode *vp, struct componentname *cnp);
-int mac_check_vnode_listextattr(struct ucred *cred, struct vnode *vp,
- int attrnamespace);
-int mac_check_vnode_lookup(struct ucred *cred, struct vnode *dvp,
- struct componentname *cnp);
-int mac_check_vnode_mmap(struct ucred *cred, struct vnode *vp,
- int prot, int flags);
-int mac_check_vnode_mprotect(struct ucred *cred, struct vnode *vp,
- int prot);
-int mac_check_vnode_open(struct ucred *cred, struct vnode *vp,
- int acc_mode);
-int mac_check_vnode_poll(struct ucred *active_cred,
- struct ucred *file_cred, struct vnode *vp);
-int mac_check_vnode_read(struct ucred *active_cred,
- struct ucred *file_cred, struct vnode *vp);
-int mac_check_vnode_readdir(struct ucred *cred, struct vnode *vp);
-int mac_check_vnode_readlink(struct ucred *cred, struct vnode *vp);
-int mac_check_vnode_rename_from(struct ucred *cred, struct vnode *dvp,
- struct vnode *vp, struct componentname *cnp);
-int mac_check_vnode_rename_to(struct ucred *cred, struct vnode *dvp,
- struct vnode *vp, int samedir, struct componentname *cnp);
-int mac_check_vnode_revoke(struct ucred *cred, struct vnode *vp);
-int mac_check_vnode_setacl(struct ucred *cred, struct vnode *vp,
- acl_type_t type, struct acl *acl);
-int mac_check_vnode_setextattr(struct ucred *cred, struct vnode *vp,
- int attrnamespace, const char *name, struct uio *uio);
-int mac_check_vnode_setflags(struct ucred *cred, struct vnode *vp,
- u_long flags);
-int mac_check_vnode_setmode(struct ucred *cred, struct vnode *vp,
- mode_t mode);
-int mac_check_vnode_setowner(struct ucred *cred, struct vnode *vp,
- uid_t uid, gid_t gid);
-int mac_check_vnode_setutimes(struct ucred *cred, struct vnode *vp,
- struct timespec atime, struct timespec mtime);
-int mac_check_vnode_stat(struct ucred *active_cred,
- struct ucred *file_cred, struct vnode *vp);
-int mac_check_vnode_write(struct ucred *active_cred,
- struct ucred *file_cred, struct vnode *vp);
-int mac_getsockopt_label(struct ucred *cred, struct socket *so,
- struct mac *extmac);
-int mac_getsockopt_peerlabel(struct ucred *cred, struct socket *so,
- struct mac *extmac);
-int mac_ioctl_ifnet_get(struct ucred *cred, struct ifreq *ifr,
- struct ifnet *ifnet);
-int mac_ioctl_ifnet_set(struct ucred *cred, struct ifreq *ifr,
- struct ifnet *ifnet);
-int mac_setsockopt_label(struct ucred *cred, struct socket *so,
- struct mac *extmac);
-int mac_pipe_label_set(struct ucred *cred, struct pipepair *pp,
- struct label *label);
-void mac_cred_mmapped_drop_perms(struct thread *td, struct ucred *cred);
-void mac_associate_nfsd_label(struct ucred *cred);
-
-/*
- * Calls to help various file systems implement labeling functionality
- * using their existing EA implementation.
- */
-int vop_stdsetlabel_ea(struct vop_setlabel_args *ap);
-
#endif /* !_KERNEL */
#endif /* !_SYS_MAC_H_ */
diff --git a/sys/sys/mac_policy.h b/sys/sys/mac_policy.h
index afd437f..a7e9d834 100644
--- a/sys/sys/mac_policy.h
+++ b/sys/sys/mac_policy.h
@@ -55,6 +55,8 @@
* Operations are sorted first by general class of operation, then
* alphabetically.
*/
+#include <sys/acl.h> /* XXX acl_type_t */
+
struct acl;
struct bpf_d;
struct componentname;
diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c
index 87bfd9f..05df838 100644
--- a/sys/ufs/ffs/ffs_vfsops.c
+++ b/sys/ufs/ffs/ffs_vfsops.c
@@ -42,7 +42,6 @@ __FBSDID("$FreeBSD$");
#include <sys/namei.h>
#include <sys/proc.h>
#include <sys/kernel.h>
-#include <sys/mac.h>
#include <sys/vnode.h>
#include <sys/mount.h>
#include <sys/bio.h>
@@ -52,6 +51,8 @@ __FBSDID("$FreeBSD$");
#include <sys/malloc.h>
#include <sys/mutex.h>
+#include <security/mac/mac_framework.h>
+
#include <ufs/ufs/extattr.h>
#include <ufs/ufs/quota.h>
#include <ufs/ufs/ufsmount.h>
diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c
index 687dc70..1495937 100644
--- a/sys/ufs/ufs/ufs_vnops.c
+++ b/sys/ufs/ufs/ufs_vnops.c
@@ -60,11 +60,12 @@ __FBSDID("$FreeBSD$");
#include <sys/lockf.h>
#include <sys/conf.h>
#include <sys/acl.h>
-#include <sys/mac.h>
#include <sys/jail.h>
#include <machine/mutex.h>
+#include <security/mac/mac_framework.h>
+
#include <sys/file.h> /* XXX */
#include <vm/vm.h>
diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c
index 4e4e4db..ce775f8 100644
--- a/sys/vm/swap_pager.c
+++ b/sys/vm/swap_pager.c
@@ -85,7 +85,6 @@ __FBSDID("$FreeBSD$");
#include <sys/mount.h>
#include <sys/namei.h>
#include <sys/vnode.h>
-#include <sys/mac.h>
#include <sys/malloc.h>
#include <sys/sysctl.h>
#include <sys/sysproto.h>
@@ -94,6 +93,8 @@ __FBSDID("$FreeBSD$");
#include <sys/sx.h>
#include <sys/vmmeter.h>
+#include <security/mac/mac_framework.h>
+
#include <vm/vm.h>
#include <vm/pmap.h>
#include <vm/vm_map.h>
diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c
index 244877e..933080e 100644
--- a/sys/vm/vm_mmap.c
+++ b/sys/vm/vm_mmap.c
@@ -60,7 +60,6 @@ __FBSDID("$FreeBSD$");
#include <sys/vnode.h>
#include <sys/fcntl.h>
#include <sys/file.h>
-#include <sys/mac.h>
#include <sys/mman.h>
#include <sys/mount.h>
#include <sys/conf.h>
@@ -68,6 +67,8 @@ __FBSDID("$FreeBSD$");
#include <sys/vmmeter.h>
#include <sys/sysctl.h>
+#include <security/mac/mac_framework.h>
+
#include <vm/vm.h>
#include <vm/vm_param.h>
#include <vm/pmap.h>
OpenPOWER on IntegriCloud