Deleted Added
full compact
mac_cred.c (104528) mac_cred.c (104529)
1/*-
2 * Copyright (c) 1999, 2000, 2001, 2002 Robert N. M. Watson
3 * Copyright (c) 2001 Ilmar S. Habibulin
4 * Copyright (c) 2001, 2002 Networks Associates Technology, Inc.
5 * All rights reserved.
6 *
7 * This software was developed by Robert Watson and Ilmar Habibulin for the
8 * TrustedBSD Project.

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

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

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

31 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
32 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
33 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
34 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
35 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
36 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
37 * SUCH DAMAGE.
38 *
39 * $FreeBSD: head/sys/security/mac/mac_process.c 104528 2002-10-05 17:44:49Z rwatson $
39 * $FreeBSD: head/sys/security/mac/mac_process.c 104529 2002-10-05 18:11:36Z rwatson $
40 */
41/*
42 * Developed by the TrustedBSD Project.
43 *
44 * Framework for extensible kernel access control. Kernel and userland
45 * interface to the framework, policy registration and composition.
46 */
47

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

794 case MAC_CHECK_VNODE_GETACL:
795 mpc->mpc_ops->mpo_check_vnode_getacl =
796 mpe->mpe_function;
797 break;
798 case MAC_CHECK_VNODE_GETEXTATTR:
799 mpc->mpc_ops->mpo_check_vnode_getextattr =
800 mpe->mpe_function;
801 break;
40 */
41/*
42 * Developed by the TrustedBSD Project.
43 *
44 * Framework for extensible kernel access control. Kernel and userland
45 * interface to the framework, policy registration and composition.
46 */
47

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

794 case MAC_CHECK_VNODE_GETACL:
795 mpc->mpc_ops->mpo_check_vnode_getacl =
796 mpe->mpe_function;
797 break;
798 case MAC_CHECK_VNODE_GETEXTATTR:
799 mpc->mpc_ops->mpo_check_vnode_getextattr =
800 mpe->mpe_function;
801 break;
802 case MAC_CHECK_VNODE_LINK:
803 mpc->mpc_ops->mpo_check_vnode_link =
804 mpe->mpe_function;
805 break;
802 case MAC_CHECK_VNODE_LOOKUP:
803 mpc->mpc_ops->mpo_check_vnode_lookup =
804 mpe->mpe_function;
805 break;
806 case MAC_CHECK_VNODE_MMAP_PERMS:
807 mpc->mpc_ops->mpo_check_vnode_mmap_perms =
808 mpe->mpe_function;
809 break;

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

1827 return (error);
1828
1829 MAC_CHECK(check_vnode_getextattr, cred, vp, &vp->v_label,
1830 attrnamespace, name, uio);
1831 return (error);
1832}
1833
1834int
806 case MAC_CHECK_VNODE_LOOKUP:
807 mpc->mpc_ops->mpo_check_vnode_lookup =
808 mpe->mpe_function;
809 break;
810 case MAC_CHECK_VNODE_MMAP_PERMS:
811 mpc->mpc_ops->mpo_check_vnode_mmap_perms =
812 mpe->mpe_function;
813 break;

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

1831 return (error);
1832
1833 MAC_CHECK(check_vnode_getextattr, cred, vp, &vp->v_label,
1834 attrnamespace, name, uio);
1835 return (error);
1836}
1837
1838int
1839mac_check_vnode_link(struct ucred *cred, struct vnode *dvp,
1840 struct vnode *vp, struct componentname *cnp)
1841{
1842
1843 int error;
1844
1845 ASSERT_VOP_LOCKED(dvp, "mac_check_vnode_link");
1846 ASSERT_VOP_LOCKED(vp, "mac_check_vnode_link");
1847
1848 if (!mac_enforce_fs)
1849 return (0);
1850
1851 error = vn_refreshlabel(dvp, cred);
1852 if (error)
1853 return (error);
1854
1855 error = vn_refreshlabel(vp, cred);
1856 if (error)
1857 return (error);
1858
1859 MAC_CHECK(check_vnode_link, cred, dvp, &dvp->v_label, vp,
1860 &vp->v_label, cnp);
1861 return (error);
1862}
1863
1864int
1835mac_check_vnode_lookup(struct ucred *cred, struct vnode *dvp,
1836 struct componentname *cnp)
1837{
1838 int error;
1839
1840 ASSERT_VOP_LOCKED(dvp, "mac_check_vnode_lookup");
1841
1842 if (!mac_enforce_fs)

--- 1590 unchanged lines hidden ---
1865mac_check_vnode_lookup(struct ucred *cred, struct vnode *dvp,
1866 struct componentname *cnp)
1867{
1868 int error;
1869
1870 ASSERT_VOP_LOCKED(dvp, "mac_check_vnode_lookup");
1871
1872 if (!mac_enforce_fs)

--- 1590 unchanged lines hidden ---