Deleted Added
full compact
mac_bsdextended.c (184367) mac_bsdextended.c (184467)
1/*-
1/*-
2 * Copyright (c) 1999-2002, 2007 Robert N. M. Watson
2 * Copyright (c) 1999-2002, 2007-2008 Robert N. M. Watson
3 * Copyright (c) 2001-2005 Networks Associates Technology, Inc.
4 * Copyright (c) 2005 Tom Rhodes
5 * Copyright (c) 2006 SPARTA, Inc.
6 * All rights reserved.
7 *
8 * This software was developed by Robert Watson for the TrustedBSD Project.
9 * It was later enhanced by Tom Rhodes for the TrustedBSD Project.
10 *

--- 21 unchanged lines hidden (view full) ---

32 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
33 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
37 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
38 * SUCH DAMAGE.
39 *
3 * Copyright (c) 2001-2005 Networks Associates Technology, Inc.
4 * Copyright (c) 2005 Tom Rhodes
5 * Copyright (c) 2006 SPARTA, Inc.
6 * All rights reserved.
7 *
8 * This software was developed by Robert Watson for the TrustedBSD Project.
9 * It was later enhanced by Tom Rhodes for the TrustedBSD Project.
10 *

--- 21 unchanged lines hidden (view full) ---

32 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
33 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
37 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
38 * SUCH DAMAGE.
39 *
40 * $FreeBSD: head/sys/security/mac_bsdextended/mac_bsdextended.c 184367 2008-10-27 18:08:12Z rwatson $
40 * $FreeBSD: head/sys/security/mac_bsdextended/mac_bsdextended.c 184467 2008-10-30 10:13:53Z rwatson $
41 */
42
43/*
44 * Developed by the TrustedBSD Project.
45 *
46 * "BSD Extended" MAC policy, allowing the administrator to impose mandatory
47 * firewall-like rules regarding users and file system objects.
48 */

--- 411 unchanged lines hidden (view full) ---

460 if (!ugidfw_enabled)
461 return (0);
462 error = VOP_GETATTR(vp, &vap, cred);
463 if (error)
464 return (error);
465 return (ugidfw_check(cred, vp, &vap, acc_mode));
466}
467
41 */
42
43/*
44 * Developed by the TrustedBSD Project.
45 *
46 * "BSD Extended" MAC policy, allowing the administrator to impose mandatory
47 * firewall-like rules regarding users and file system objects.
48 */

--- 411 unchanged lines hidden (view full) ---

460 if (!ugidfw_enabled)
461 return (0);
462 error = VOP_GETATTR(vp, &vap, cred);
463 if (error)
464 return (error);
465 return (ugidfw_check(cred, vp, &vap, acc_mode));
466}
467
468int
469ugidfw_accmode2mbi(accmode_t accmode)
470{
471 int mbi;
472
473 mbi = 0;
474 if (accmode & VEXEC)
475 mbi |= MBI_EXEC;
476 if (accmode & VWRITE)
477 mbi |= MBI_WRITE;
478 if (accmode & VREAD)
479 mbi |= MBI_READ;
480 if (accmode & VADMIN)
481 mbi |= MBI_ADMIN;
482 if (accmode & VSTAT)
483 mbi |= MBI_STAT;
484 if (accmode & VAPPEND)
485 mbi |= MBI_APPEND;
486 return (mbi);
487}
488
468static struct mac_policy_ops ugidfw_ops =
469{
470 .mpo_destroy = ugidfw_destroy,
471 .mpo_init = ugidfw_init,
472 .mpo_system_check_acct = ugidfw_system_check_acct,
473 .mpo_system_check_auditctl = ugidfw_system_check_auditctl,
474 .mpo_system_check_swapon = ugidfw_system_check_swapon,
475 .mpo_vnode_check_access = ugidfw_vnode_check_access,

--- 29 unchanged lines hidden ---
489static struct mac_policy_ops ugidfw_ops =
490{
491 .mpo_destroy = ugidfw_destroy,
492 .mpo_init = ugidfw_init,
493 .mpo_system_check_acct = ugidfw_system_check_acct,
494 .mpo_system_check_auditctl = ugidfw_system_check_auditctl,
495 .mpo_system_check_swapon = ugidfw_system_check_swapon,
496 .mpo_vnode_check_access = ugidfw_vnode_check_access,

--- 29 unchanged lines hidden ---