Deleted Added
full compact
mac_biba.c (111119) mac_biba.c (112574)
1/*-
2 * Copyright (c) 1999, 2000, 2001, 2002 Robert N. M. Watson
3 * Copyright (c) 2001, 2002 Networks Associates Technology, Inc.
4 * All rights reserved.
5 *
6 * This software was developed by Robert Watson for the TrustedBSD Project.
7 *
8 * This software was developed for the FreeBSD Project in part by Network

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

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

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

26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 * SUCH DAMAGE.
33 *
34 * $FreeBSD: head/sys/security/mac_biba/mac_biba.c 111119 2003-02-19 05:47:46Z imp $
34 * $FreeBSD: head/sys/security/mac_biba/mac_biba.c 112574 2003-03-25 01:10:54Z rwatson $
35 */
36
37/*
38 * Developed by the TrustedBSD Project.
39 * Biba fixed label mandatory integrity policy.
40 */
41
42#include <sys/types.h>

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

1873
1874 if (!mac_biba_dominate_single(obj, subj))
1875 return (ENOENT);
1876
1877 return (0);
1878}
1879
1880static int
35 */
36
37/*
38 * Developed by the TrustedBSD Project.
39 * Biba fixed label mandatory integrity policy.
40 */
41
42#include <sys/types.h>

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

1873
1874 if (!mac_biba_dominate_single(obj, subj))
1875 return (ENOENT);
1876
1877 return (0);
1878}
1879
1880static int
1881mac_biba_check_sysarch_ioperm(struct ucred *cred)
1882{
1883 struct mac_biba *subj;
1884 int error;
1885
1886 if (!mac_biba_enabled)
1887 return (0);
1888
1889 subj = SLOT(&cred->cr_label);
1890
1891 error = mac_biba_subject_privileged(subj);
1892 if (error)
1893 return (error);
1894
1895 return (0);
1896}
1897
1898static int
1881mac_biba_check_system_acct(struct ucred *cred, struct vnode *vp,
1882 struct label *label)
1883{
1884 struct mac_biba *subj, *obj;
1885 int error;
1886
1887 if (!mac_biba_enabled)
1888 return (0);

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

1940
1941 if (!mac_biba_high_single(obj))
1942 return (EACCES);
1943
1944 return (0);
1945}
1946
1947static int
1899mac_biba_check_system_acct(struct ucred *cred, struct vnode *vp,
1900 struct label *label)
1901{
1902 struct mac_biba *subj, *obj;
1903 int error;
1904
1905 if (!mac_biba_enabled)
1906 return (0);

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

1958
1959 if (!mac_biba_high_single(obj))
1960 return (EACCES);
1961
1962 return (0);
1963}
1964
1965static int
1966mac_biba_check_system_swapoff(struct ucred *cred, struct vnode *vp,
1967 struct label *label)
1968{
1969 struct mac_biba *subj, *obj;
1970 int error;
1971
1972 if (!mac_biba_enabled)
1973 return (0);
1974
1975 subj = SLOT(&cred->cr_label);
1976 obj = SLOT(label);
1977
1978 error = mac_biba_subject_privileged(subj);
1979 if (error)
1980 return (error);
1981
1982 return (0);
1983}
1984
1985static int
1948mac_biba_check_system_sysctl(struct ucred *cred, int *name, u_int namelen,
1949 void *old, size_t *oldlenp, int inkernel, void *new, size_t newlen)
1950{
1951 struct mac_biba *subj;
1952 int error;
1953
1954 if (!mac_biba_enabled)
1955 return (0);

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

2669 .mpo_check_pipe_stat = mac_biba_check_pipe_stat,
2670 .mpo_check_pipe_write = mac_biba_check_pipe_write,
2671 .mpo_check_proc_debug = mac_biba_check_proc_debug,
2672 .mpo_check_proc_sched = mac_biba_check_proc_sched,
2673 .mpo_check_proc_signal = mac_biba_check_proc_signal,
2674 .mpo_check_socket_deliver = mac_biba_check_socket_deliver,
2675 .mpo_check_socket_relabel = mac_biba_check_socket_relabel,
2676 .mpo_check_socket_visible = mac_biba_check_socket_visible,
1986mac_biba_check_system_sysctl(struct ucred *cred, int *name, u_int namelen,
1987 void *old, size_t *oldlenp, int inkernel, void *new, size_t newlen)
1988{
1989 struct mac_biba *subj;
1990 int error;
1991
1992 if (!mac_biba_enabled)
1993 return (0);

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

2707 .mpo_check_pipe_stat = mac_biba_check_pipe_stat,
2708 .mpo_check_pipe_write = mac_biba_check_pipe_write,
2709 .mpo_check_proc_debug = mac_biba_check_proc_debug,
2710 .mpo_check_proc_sched = mac_biba_check_proc_sched,
2711 .mpo_check_proc_signal = mac_biba_check_proc_signal,
2712 .mpo_check_socket_deliver = mac_biba_check_socket_deliver,
2713 .mpo_check_socket_relabel = mac_biba_check_socket_relabel,
2714 .mpo_check_socket_visible = mac_biba_check_socket_visible,
2715 .mpo_check_sysarch_ioperm = mac_biba_check_sysarch_ioperm,
2677 .mpo_check_system_acct = mac_biba_check_system_acct,
2678 .mpo_check_system_settime = mac_biba_check_system_settime,
2679 .mpo_check_system_swapon = mac_biba_check_system_swapon,
2716 .mpo_check_system_acct = mac_biba_check_system_acct,
2717 .mpo_check_system_settime = mac_biba_check_system_settime,
2718 .mpo_check_system_swapon = mac_biba_check_system_swapon,
2719 .mpo_check_system_swapoff = mac_biba_check_system_swapoff,
2680 .mpo_check_system_sysctl = mac_biba_check_system_sysctl,
2681 .mpo_check_vnode_access = mac_biba_check_vnode_open,
2682 .mpo_check_vnode_chdir = mac_biba_check_vnode_chdir,
2683 .mpo_check_vnode_chroot = mac_biba_check_vnode_chroot,
2684 .mpo_check_vnode_create = mac_biba_check_vnode_create,
2685 .mpo_check_vnode_delete = mac_biba_check_vnode_delete,
2686 .mpo_check_vnode_deleteacl = mac_biba_check_vnode_deleteacl,
2687 .mpo_check_vnode_exec = mac_biba_check_vnode_exec,

--- 27 unchanged lines hidden ---
2720 .mpo_check_system_sysctl = mac_biba_check_system_sysctl,
2721 .mpo_check_vnode_access = mac_biba_check_vnode_open,
2722 .mpo_check_vnode_chdir = mac_biba_check_vnode_chdir,
2723 .mpo_check_vnode_chroot = mac_biba_check_vnode_chroot,
2724 .mpo_check_vnode_create = mac_biba_check_vnode_create,
2725 .mpo_check_vnode_delete = mac_biba_check_vnode_delete,
2726 .mpo_check_vnode_deleteacl = mac_biba_check_vnode_deleteacl,
2727 .mpo_check_vnode_exec = mac_biba_check_vnode_exec,

--- 27 unchanged lines hidden ---