mac_mls.c (106788) | mac_mls.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 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_mls/mac_mls.c 106788 2002-11-12 04:20:36Z rwatson $ | 34 * $FreeBSD: head/sys/security/mac_mls/mac_mls.c 107698 2002-12-09 03:44:28Z rwatson $ |
35 */ 36 37/* 38 * Developed by the TrustedBSD Project. 39 * MLS fixed label mandatory confidentiality policy. 40 */ 41 42#include <sys/types.h> --- 718 unchanged lines hidden (view full) --- 761 *SLOT(dest) = *SLOT(src); 762} 763 764/* 765 * Labeling event operations: file system objects, and things that look 766 * a lot like file system objects. 767 */ 768static void | 35 */ 36 37/* 38 * Developed by the TrustedBSD Project. 39 * MLS fixed label mandatory confidentiality policy. 40 */ 41 42#include <sys/types.h> --- 718 unchanged lines hidden (view full) --- 761 *SLOT(dest) = *SLOT(src); 762} 763 764/* 765 * Labeling event operations: file system objects, and things that look 766 * a lot like file system objects. 767 */ 768static void |
769mac_mls_create_devfs_device(dev_t dev, struct devfs_dirent *devfs_dirent, 770 struct label *label) | 769mac_mls_create_devfs_device(struct mount *mp, dev_t dev, 770 struct devfs_dirent *devfs_dirent, struct label *label) |
771{ 772 struct mac_mls *mac_mls; 773 int mls_type; 774 775 mac_mls = SLOT(label); 776 if (strcmp(dev->si_name, "null") == 0 || 777 strcmp(dev->si_name, "zero") == 0 || 778 strcmp(dev->si_name, "random") == 0 || --- 7 unchanged lines hidden (view full) --- 786 strncmp(dev->si_name, "ptyp", strlen("ptyp")) == 0)) 787 mls_type = MAC_MLS_TYPE_EQUAL; 788 else 789 mls_type = MAC_MLS_TYPE_LOW; 790 mac_mls_set_single(mac_mls, mls_type, 0, NULL); 791} 792 793static void | 771{ 772 struct mac_mls *mac_mls; 773 int mls_type; 774 775 mac_mls = SLOT(label); 776 if (strcmp(dev->si_name, "null") == 0 || 777 strcmp(dev->si_name, "zero") == 0 || 778 strcmp(dev->si_name, "random") == 0 || --- 7 unchanged lines hidden (view full) --- 786 strncmp(dev->si_name, "ptyp", strlen("ptyp")) == 0)) 787 mls_type = MAC_MLS_TYPE_EQUAL; 788 else 789 mls_type = MAC_MLS_TYPE_LOW; 790 mac_mls_set_single(mac_mls, mls_type, 0, NULL); 791} 792 793static void |
794mac_mls_create_devfs_directory(char *dirname, int dirnamelen, 795 struct devfs_dirent *devfs_dirent, struct label *label) | 794mac_mls_create_devfs_directory(struct mount *mp, char *dirname, 795 int dirnamelen, struct devfs_dirent *devfs_dirent, struct label *label) |
796{ 797 struct mac_mls *mac_mls; 798 799 mac_mls = SLOT(label); 800 mac_mls_set_single(mac_mls, MAC_MLS_TYPE_LOW, 0, NULL); 801} 802 803static void | 796{ 797 struct mac_mls *mac_mls; 798 799 mac_mls = SLOT(label); 800 mac_mls_set_single(mac_mls, MAC_MLS_TYPE_LOW, 0, NULL); 801} 802 803static void |
804mac_mls_create_devfs_symlink(struct ucred *cred, struct devfs_dirent *dd, 805 struct label *ddlabel, struct devfs_dirent *de, struct label *delabel) | 804mac_mls_create_devfs_symlink(struct ucred *cred, struct mount *mp, 805 struct devfs_dirent *dd, struct label *ddlabel, struct devfs_dirent *de, 806 struct label *delabel) |
806{ 807 struct mac_mls *source, *dest; 808 809 source = SLOT(&cred->cr_label); 810 dest = SLOT(delabel); 811 812 mac_mls_copy_single(source, dest); 813} --- 32 unchanged lines hidden (view full) --- 846 847 source = SLOT(label); 848 dest = SLOT(vnodelabel); 849 850 mac_mls_copy(source, dest); 851} 852 853static void | 807{ 808 struct mac_mls *source, *dest; 809 810 source = SLOT(&cred->cr_label); 811 dest = SLOT(delabel); 812 813 mac_mls_copy_single(source, dest); 814} --- 32 unchanged lines hidden (view full) --- 847 848 source = SLOT(label); 849 dest = SLOT(vnodelabel); 850 851 mac_mls_copy(source, dest); 852} 853 854static void |
854mac_mls_update_devfsdirent(struct devfs_dirent *devfs_dirent, 855 struct label *direntlabel, struct vnode *vp, struct label *vnodelabel) | 855mac_mls_update_devfsdirent(struct mount *mp, 856 struct devfs_dirent *devfs_dirent, struct label *direntlabel, 857 struct vnode *vp, struct label *vnodelabel) |
856{ 857 struct mac_mls *source, *dest; 858 859 source = SLOT(vnodelabel); 860 dest = SLOT(direntlabel); 861 862 mac_mls_copy_single(source, dest); 863} --- 1620 unchanged lines hidden --- | 858{ 859 struct mac_mls *source, *dest; 860 861 source = SLOT(vnodelabel); 862 dest = SLOT(direntlabel); 863 864 mac_mls_copy_single(source, dest); 865} --- 1620 unchanged lines hidden --- |