Deleted Added
full compact
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 ---