Deleted Added
full compact
mac_lomac.c (107622) mac_lomac.c (107698)
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 NAI Labs,

--- 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 NAI Labs,

--- 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_lomac/mac_lomac.c 107622 2002-12-04 22:01:03Z rwatson $
34 * $FreeBSD: head/sys/security/mac_lomac/mac_lomac.c 107698 2002-12-09 03:44:28Z rwatson $
35 */
36
37/*
38 * Developed by the TrustedBSD Project.
39 * Low-watermark floating label mandatory integrity policy.
40 */
41
42#include <sys/types.h>

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

938 *SLOT(dest) = *SLOT(src);
939}
940
941/*
942 * Labeling event operations: file system objects, and things that look
943 * a lot like file system objects.
944 */
945static void
35 */
36
37/*
38 * Developed by the TrustedBSD Project.
39 * Low-watermark floating label mandatory integrity policy.
40 */
41
42#include <sys/types.h>

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

938 *SLOT(dest) = *SLOT(src);
939}
940
941/*
942 * Labeling event operations: file system objects, and things that look
943 * a lot like file system objects.
944 */
945static void
946mac_lomac_create_devfs_device(dev_t dev, struct devfs_dirent *devfs_dirent,
947 struct label *label)
946mac_lomac_create_devfs_device(struct mount *mp, dev_t dev,
947 struct devfs_dirent *devfs_dirent, struct label *label)
948{
949 struct mac_lomac *mac_lomac;
950 int lomac_type;
951
952 mac_lomac = SLOT(label);
953 if (strcmp(dev->si_name, "null") == 0 ||
954 strcmp(dev->si_name, "zero") == 0 ||
955 strcmp(dev->si_name, "random") == 0 ||

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

961 strncmp(dev->si_name, "ptyp", strlen("ptyp")) == 0))
962 lomac_type = MAC_LOMAC_TYPE_EQUAL;
963 else
964 lomac_type = MAC_LOMAC_TYPE_HIGH;
965 mac_lomac_set_single(mac_lomac, lomac_type, 0);
966}
967
968static void
948{
949 struct mac_lomac *mac_lomac;
950 int lomac_type;
951
952 mac_lomac = SLOT(label);
953 if (strcmp(dev->si_name, "null") == 0 ||
954 strcmp(dev->si_name, "zero") == 0 ||
955 strcmp(dev->si_name, "random") == 0 ||

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

961 strncmp(dev->si_name, "ptyp", strlen("ptyp")) == 0))
962 lomac_type = MAC_LOMAC_TYPE_EQUAL;
963 else
964 lomac_type = MAC_LOMAC_TYPE_HIGH;
965 mac_lomac_set_single(mac_lomac, lomac_type, 0);
966}
967
968static void
969mac_lomac_create_devfs_directory(char *dirname, int dirnamelen,
970 struct devfs_dirent *devfs_dirent, struct label *label)
969mac_lomac_create_devfs_directory(struct mount *mp, char *dirname,
970 int dirnamelen, struct devfs_dirent *devfs_dirent, struct label *label)
971{
972 struct mac_lomac *mac_lomac;
973
974 mac_lomac = SLOT(label);
975 mac_lomac_set_single(mac_lomac, MAC_LOMAC_TYPE_HIGH, 0);
976}
977
978static void
971{
972 struct mac_lomac *mac_lomac;
973
974 mac_lomac = SLOT(label);
975 mac_lomac_set_single(mac_lomac, MAC_LOMAC_TYPE_HIGH, 0);
976}
977
978static void
979mac_lomac_create_devfs_symlink(struct ucred *cred, struct devfs_dirent *dd,
980 struct label *ddlabel, struct devfs_dirent *de, struct label *delabel)
979mac_lomac_create_devfs_symlink(struct ucred *cred, struct mount *mp,
980 struct devfs_dirent *dd, struct label *ddlabel, struct devfs_dirent *de,
981 struct label *delabel)
981{
982 struct mac_lomac *source, *dest;
983
984 source = SLOT(&cred->cr_label);
985 dest = SLOT(delabel);
986
987 mac_lomac_copy_single(source, dest);
988}

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

1021
1022 source = SLOT(label);
1023 dest = SLOT(vnodelabel);
1024
1025 try_relabel(source, dest);
1026}
1027
1028static void
982{
983 struct mac_lomac *source, *dest;
984
985 source = SLOT(&cred->cr_label);
986 dest = SLOT(delabel);
987
988 mac_lomac_copy_single(source, dest);
989}

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

1022
1023 source = SLOT(label);
1024 dest = SLOT(vnodelabel);
1025
1026 try_relabel(source, dest);
1027}
1028
1029static void
1029mac_lomac_update_devfsdirent(struct devfs_dirent *devfs_dirent,
1030 struct label *direntlabel, struct vnode *vp, struct label *vnodelabel)
1030mac_lomac_update_devfsdirent(struct mount *mp,
1031 struct devfs_dirent *devfs_dirent, struct label *direntlabel,
1032 struct vnode *vp, struct label *vnodelabel)
1031{
1032 struct mac_lomac *source, *dest;
1033
1034 source = SLOT(vnodelabel);
1035 dest = SLOT(direntlabel);
1036
1037 mac_lomac_copy(source, dest);
1038}

--- 1698 unchanged lines hidden ---
1033{
1034 struct mac_lomac *source, *dest;
1035
1036 source = SLOT(vnodelabel);
1037 dest = SLOT(direntlabel);
1038
1039 mac_lomac_copy(source, dest);
1040}

--- 1698 unchanged lines hidden ---