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

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

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

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

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

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

499mac_bsdextended_check_create_vnode(struct ucred *cred, struct vnode *dvp,
500 struct label *dvplabel, struct componentname *cnp, struct vattr *vap)
501{
502
503 return (mac_bsdextended_check_vp(cred, dvp, MBI_WRITE));
504}
505
506static int
37 */
38
39/*
40 * Developed by the TrustedBSD Project.
41 *
42 * "BSD Extended" MAC policy, allowing the administrator to impose mandatory
43 * firewall-like rules regarding users and file system objects.
44 */

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

499mac_bsdextended_check_create_vnode(struct ucred *cred, struct vnode *dvp,
500 struct label *dvplabel, struct componentname *cnp, struct vattr *vap)
501{
502
503 return (mac_bsdextended_check_vp(cred, dvp, MBI_WRITE));
504}
505
506static int
507mac_bsdextended_check_vnode_delete(struct ucred *cred, struct vnode *dvp,
508 struct label *dvplabel, struct vnode *vp, struct label *vplabel,
509 struct componentname *cnp)
510{
511 int error;
512
513 error = mac_bsdextended_check_vp(cred, dvp, MBI_WRITE);
514 if (error)
515 return (error);
516 return (mac_bsdextended_check_vp(cred, vp, MBI_WRITE));
517}
518
519static int
520mac_bsdextended_check_vnode_deleteacl(struct ucred *cred, struct vnode *vp,
521 struct label *vplabel, acl_type_t type)
522{
523
524 return (mac_bsdextended_check_vp(cred, vp, MBI_ADMIN));
525}
526
527static int

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

703static int
704mac_bsdextended_check_vnode_stat(struct ucred *active_cred,
705 struct ucred *file_cred, struct vnode *vp, struct label *vplabel)
706{
707
708 return (mac_bsdextended_check_vp(active_cred, vp, MBI_STAT));
709}
710
507mac_bsdextended_check_vnode_deleteacl(struct ucred *cred, struct vnode *vp,
508 struct label *vplabel, acl_type_t type)
509{
510
511 return (mac_bsdextended_check_vp(cred, vp, MBI_ADMIN));
512}
513
514static int

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

690static int
691mac_bsdextended_check_vnode_stat(struct ucred *active_cred,
692 struct ucred *file_cred, struct vnode *vp, struct label *vplabel)
693{
694
695 return (mac_bsdextended_check_vp(active_cred, vp, MBI_STAT));
696}
697
698static int
699mac_bsdextended_check_vnode_unlink(struct ucred *cred, struct vnode *dvp,
700 struct label *dvplabel, struct vnode *vp, struct label *vplabel,
701 struct componentname *cnp)
702{
703 int error;
704
705 error = mac_bsdextended_check_vp(cred, dvp, MBI_WRITE);
706 if (error)
707 return (error);
708 return (mac_bsdextended_check_vp(cred, vp, MBI_WRITE));
709}
710
711static struct mac_policy_ops mac_bsdextended_ops =
712{
713 .mpo_destroy = mac_bsdextended_destroy,
714 .mpo_init = mac_bsdextended_init,
715 .mpo_check_system_acct = mac_bsdextended_check_system_acct,
716 .mpo_check_system_auditctl = mac_bsdextended_check_system_auditctl,
717 .mpo_check_system_swapoff = mac_bsdextended_check_system_swapoff,
718 .mpo_check_system_swapon = mac_bsdextended_check_system_swapon,
719 .mpo_check_vnode_access = mac_bsdextended_check_vnode_access,
720 .mpo_check_vnode_chdir = mac_bsdextended_check_vnode_chdir,
721 .mpo_check_vnode_chroot = mac_bsdextended_check_vnode_chroot,
722 .mpo_check_vnode_create = mac_bsdextended_check_create_vnode,
711static struct mac_policy_ops mac_bsdextended_ops =
712{
713 .mpo_destroy = mac_bsdextended_destroy,
714 .mpo_init = mac_bsdextended_init,
715 .mpo_check_system_acct = mac_bsdextended_check_system_acct,
716 .mpo_check_system_auditctl = mac_bsdextended_check_system_auditctl,
717 .mpo_check_system_swapoff = mac_bsdextended_check_system_swapoff,
718 .mpo_check_system_swapon = mac_bsdextended_check_system_swapon,
719 .mpo_check_vnode_access = mac_bsdextended_check_vnode_access,
720 .mpo_check_vnode_chdir = mac_bsdextended_check_vnode_chdir,
721 .mpo_check_vnode_chroot = mac_bsdextended_check_vnode_chroot,
722 .mpo_check_vnode_create = mac_bsdextended_check_create_vnode,
723 .mpo_check_vnode_delete = mac_bsdextended_check_vnode_delete,
724 .mpo_check_vnode_deleteacl = mac_bsdextended_check_vnode_deleteacl,
725 .mpo_check_vnode_deleteextattr = mac_bsdextended_check_vnode_deleteextattr,
726 .mpo_check_vnode_exec = mac_bsdextended_check_vnode_exec,
727 .mpo_check_vnode_getacl = mac_bsdextended_check_vnode_getacl,
728 .mpo_check_vnode_getextattr = mac_bsdextended_check_vnode_getextattr,
729 .mpo_check_vnode_link = mac_bsdextended_check_vnode_link,
730 .mpo_check_vnode_listextattr = mac_bsdextended_check_vnode_listextattr,
731 .mpo_check_vnode_lookup = mac_bsdextended_check_vnode_lookup,

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

737 .mpo_check_vnode_revoke = mac_bsdextended_check_vnode_revoke,
738 .mpo_check_vnode_setacl = mac_bsdextended_check_setacl_vnode,
739 .mpo_check_vnode_setextattr = mac_bsdextended_check_vnode_setextattr,
740 .mpo_check_vnode_setflags = mac_bsdextended_check_vnode_setflags,
741 .mpo_check_vnode_setmode = mac_bsdextended_check_vnode_setmode,
742 .mpo_check_vnode_setowner = mac_bsdextended_check_vnode_setowner,
743 .mpo_check_vnode_setutimes = mac_bsdextended_check_vnode_setutimes,
744 .mpo_check_vnode_stat = mac_bsdextended_check_vnode_stat,
723 .mpo_check_vnode_deleteacl = mac_bsdextended_check_vnode_deleteacl,
724 .mpo_check_vnode_deleteextattr = mac_bsdextended_check_vnode_deleteextattr,
725 .mpo_check_vnode_exec = mac_bsdextended_check_vnode_exec,
726 .mpo_check_vnode_getacl = mac_bsdextended_check_vnode_getacl,
727 .mpo_check_vnode_getextattr = mac_bsdextended_check_vnode_getextattr,
728 .mpo_check_vnode_link = mac_bsdextended_check_vnode_link,
729 .mpo_check_vnode_listextattr = mac_bsdextended_check_vnode_listextattr,
730 .mpo_check_vnode_lookup = mac_bsdextended_check_vnode_lookup,

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

736 .mpo_check_vnode_revoke = mac_bsdextended_check_vnode_revoke,
737 .mpo_check_vnode_setacl = mac_bsdextended_check_setacl_vnode,
738 .mpo_check_vnode_setextattr = mac_bsdextended_check_vnode_setextattr,
739 .mpo_check_vnode_setflags = mac_bsdextended_check_vnode_setflags,
740 .mpo_check_vnode_setmode = mac_bsdextended_check_vnode_setmode,
741 .mpo_check_vnode_setowner = mac_bsdextended_check_vnode_setowner,
742 .mpo_check_vnode_setutimes = mac_bsdextended_check_vnode_setutimes,
743 .mpo_check_vnode_stat = mac_bsdextended_check_vnode_stat,
744 .mpo_check_vnode_unlink = mac_bsdextended_check_vnode_unlink,
745};
746
747MAC_POLICY_SET(&mac_bsdextended_ops, mac_bsdextended,
748 "TrustedBSD MAC/BSD Extended", MPC_LOADTIME_FLAG_UNLOADOK, NULL);
745};
746
747MAC_POLICY_SET(&mac_bsdextended_ops, mac_bsdextended,
748 "TrustedBSD MAC/BSD Extended", MPC_LOADTIME_FLAG_UNLOADOK, NULL);