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 --- |