summaryrefslogtreecommitdiffstats
path: root/sys/security/mac_bsdextended/mac_bsdextended.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/security/mac_bsdextended/mac_bsdextended.c')
-rw-r--r--sys/security/mac_bsdextended/mac_bsdextended.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/sys/security/mac_bsdextended/mac_bsdextended.c b/sys/security/mac_bsdextended/mac_bsdextended.c
index 14706e0..0f7d5f8 100644
--- a/sys/security/mac_bsdextended/mac_bsdextended.c
+++ b/sys/security/mac_bsdextended/mac_bsdextended.c
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 1999-2002, 2007 Robert N. M. Watson
+ * Copyright (c) 1999-2002, 2007-2008 Robert N. M. Watson
* Copyright (c) 2001-2005 Networks Associates Technology, Inc.
* Copyright (c) 2005 Tom Rhodes
* Copyright (c) 2006 SPARTA, Inc.
@@ -465,6 +465,27 @@ ugidfw_check_vp(struct ucred *cred, struct vnode *vp, int acc_mode)
return (ugidfw_check(cred, vp, &vap, acc_mode));
}
+int
+ugidfw_accmode2mbi(accmode_t accmode)
+{
+ int mbi;
+
+ mbi = 0;
+ if (accmode & VEXEC)
+ mbi |= MBI_EXEC;
+ if (accmode & VWRITE)
+ mbi |= MBI_WRITE;
+ if (accmode & VREAD)
+ mbi |= MBI_READ;
+ if (accmode & VADMIN)
+ mbi |= MBI_ADMIN;
+ if (accmode & VSTAT)
+ mbi |= MBI_STAT;
+ if (accmode & VAPPEND)
+ mbi |= MBI_APPEND;
+ return (mbi);
+}
+
static struct mac_policy_ops ugidfw_ops =
{
.mpo_destroy = ugidfw_destroy,
OpenPOWER on IntegriCloud