mac_policy.h (168951) | mac_policy.h (168954) |
---|---|
1/*- 2 * Copyright (c) 1999-2002 Robert N. M. Watson 3 * Copyright (c) 2001-2005 Networks Associates Technology, Inc. 4 * Copyright (c) 2005-2006 SPARTA, Inc. 5 * All rights reserved. 6 * 7 * This software was developed by Robert Watson for the TrustedBSD Project. 8 * --- 21 unchanged lines hidden (view full) --- 30 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * | 1/*- 2 * Copyright (c) 1999-2002 Robert N. M. Watson 3 * Copyright (c) 2001-2005 Networks Associates Technology, Inc. 4 * Copyright (c) 2005-2006 SPARTA, Inc. 5 * All rights reserved. 6 * 7 * This software was developed by Robert Watson for the TrustedBSD Project. 8 * --- 21 unchanged lines hidden (view full) --- 30 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * |
38 * $FreeBSD: head/sys/security/mac/mac_policy.h 168951 2007-04-22 15:31:22Z rwatson $ | 38 * $FreeBSD: head/sys/security/mac/mac_policy.h 168954 2007-04-22 16:18:10Z rwatson $ |
39 */ 40/* 41 * Kernel interface for MAC policy modules. 42 */ 43#ifndef _SYS_SECURITY_MAC_MAC_POLICY_H_ 44#define _SYS_SECURITY_MAC_MAC_POLICY_H_ 45 46#ifndef _KERNEL --- 75 unchanged lines hidden (view full) --- 122typedef int (*mpo_init_inpcb_label_t)(struct label *label, int flag); 123typedef void (*mpo_init_sysv_msgmsg_label_t)(struct label *label); 124typedef void (*mpo_init_sysv_msgqueue_label_t)(struct label *label); 125typedef void (*mpo_init_sysv_sem_label_t)(struct label *label); 126typedef void (*mpo_init_sysv_shm_label_t)(struct label *label); 127typedef int (*mpo_init_ipq_label_t)(struct label *label, int flag); 128typedef int (*mpo_init_mbuf_label_t)(struct label *label, int flag); 129typedef void (*mpo_init_mount_label_t)(struct label *label); | 39 */ 40/* 41 * Kernel interface for MAC policy modules. 42 */ 43#ifndef _SYS_SECURITY_MAC_MAC_POLICY_H_ 44#define _SYS_SECURITY_MAC_MAC_POLICY_H_ 45 46#ifndef _KERNEL --- 75 unchanged lines hidden (view full) --- 122typedef int (*mpo_init_inpcb_label_t)(struct label *label, int flag); 123typedef void (*mpo_init_sysv_msgmsg_label_t)(struct label *label); 124typedef void (*mpo_init_sysv_msgqueue_label_t)(struct label *label); 125typedef void (*mpo_init_sysv_sem_label_t)(struct label *label); 126typedef void (*mpo_init_sysv_shm_label_t)(struct label *label); 127typedef int (*mpo_init_ipq_label_t)(struct label *label, int flag); 128typedef int (*mpo_init_mbuf_label_t)(struct label *label, int flag); 129typedef void (*mpo_init_mount_label_t)(struct label *label); |
130typedef void (*mpo_init_mount_fs_label_t)(struct label *label); | |
131typedef int (*mpo_init_socket_label_t)(struct label *label, int flag); 132typedef int (*mpo_init_socket_peer_label_t)(struct label *label, 133 int flag); 134typedef void (*mpo_init_pipe_label_t)(struct label *label); 135typedef void (*mpo_init_posix_sem_label_t)(struct label *label); 136typedef void (*mpo_init_proc_label_t)(struct label *label); 137typedef void (*mpo_init_vnode_label_t)(struct label *label); 138typedef void (*mpo_destroy_bpfdesc_label_t)(struct label *label); 139typedef void (*mpo_destroy_cred_label_t)(struct label *label); 140typedef void (*mpo_destroy_devfsdirent_label_t)(struct label *label); 141typedef void (*mpo_destroy_ifnet_label_t)(struct label *label); 142typedef void (*mpo_destroy_inpcb_label_t)(struct label *label); 143typedef void (*mpo_destroy_sysv_msgmsg_label_t)(struct label *label); 144typedef void (*mpo_destroy_sysv_msgqueue_label_t)(struct label *label); 145typedef void (*mpo_destroy_sysv_sem_label_t)(struct label *label); 146typedef void (*mpo_destroy_sysv_shm_label_t)(struct label *label); 147typedef void (*mpo_destroy_ipq_label_t)(struct label *label); 148typedef void (*mpo_destroy_mbuf_label_t)(struct label *label); 149typedef void (*mpo_destroy_mount_label_t)(struct label *label); | 130typedef int (*mpo_init_socket_label_t)(struct label *label, int flag); 131typedef int (*mpo_init_socket_peer_label_t)(struct label *label, 132 int flag); 133typedef void (*mpo_init_pipe_label_t)(struct label *label); 134typedef void (*mpo_init_posix_sem_label_t)(struct label *label); 135typedef void (*mpo_init_proc_label_t)(struct label *label); 136typedef void (*mpo_init_vnode_label_t)(struct label *label); 137typedef void (*mpo_destroy_bpfdesc_label_t)(struct label *label); 138typedef void (*mpo_destroy_cred_label_t)(struct label *label); 139typedef void (*mpo_destroy_devfsdirent_label_t)(struct label *label); 140typedef void (*mpo_destroy_ifnet_label_t)(struct label *label); 141typedef void (*mpo_destroy_inpcb_label_t)(struct label *label); 142typedef void (*mpo_destroy_sysv_msgmsg_label_t)(struct label *label); 143typedef void (*mpo_destroy_sysv_msgqueue_label_t)(struct label *label); 144typedef void (*mpo_destroy_sysv_sem_label_t)(struct label *label); 145typedef void (*mpo_destroy_sysv_shm_label_t)(struct label *label); 146typedef void (*mpo_destroy_ipq_label_t)(struct label *label); 147typedef void (*mpo_destroy_mbuf_label_t)(struct label *label); 148typedef void (*mpo_destroy_mount_label_t)(struct label *label); |
150typedef void (*mpo_destroy_mount_fs_label_t)(struct label *label); | |
151typedef void (*mpo_destroy_socket_label_t)(struct label *label); 152typedef void (*mpo_destroy_socket_peer_label_t)(struct label *label); 153typedef void (*mpo_destroy_pipe_label_t)(struct label *label); 154typedef void (*mpo_destroy_posix_sem_label_t)(struct label *label); 155typedef void (*mpo_destroy_proc_label_t)(struct label *label); 156typedef void (*mpo_destroy_vnode_label_t)(struct label *label); 157typedef void (*mpo_cleanup_sysv_msgmsg_t)(struct label *msglabel); 158typedef void (*mpo_cleanup_sysv_msgqueue_t)(struct label *msqlabel); --- 34 unchanged lines hidden (view full) --- 193typedef int (*mpo_internalize_vnode_label_t)(struct label *label, 194 char *element_name, char *element_data, int *claimed); 195 196/* 197 * Labeling event operations: file system objects, and things that look a lot 198 * like file system objects. 199 */ 200typedef void (*mpo_associate_vnode_devfs_t)(struct mount *mp, | 149typedef void (*mpo_destroy_socket_label_t)(struct label *label); 150typedef void (*mpo_destroy_socket_peer_label_t)(struct label *label); 151typedef void (*mpo_destroy_pipe_label_t)(struct label *label); 152typedef void (*mpo_destroy_posix_sem_label_t)(struct label *label); 153typedef void (*mpo_destroy_proc_label_t)(struct label *label); 154typedef void (*mpo_destroy_vnode_label_t)(struct label *label); 155typedef void (*mpo_cleanup_sysv_msgmsg_t)(struct label *msglabel); 156typedef void (*mpo_cleanup_sysv_msgqueue_t)(struct label *msqlabel); --- 34 unchanged lines hidden (view full) --- 191typedef int (*mpo_internalize_vnode_label_t)(struct label *label, 192 char *element_name, char *element_data, int *claimed); 193 194/* 195 * Labeling event operations: file system objects, and things that look a lot 196 * like file system objects. 197 */ 198typedef void (*mpo_associate_vnode_devfs_t)(struct mount *mp, |
201 struct label *fslabel, struct devfs_dirent *de, | 199 struct label *mntlabel, struct devfs_dirent *de, |
202 struct label *delabel, struct vnode *vp, 203 struct label *vlabel); 204typedef int (*mpo_associate_vnode_extattr_t)(struct mount *mp, | 200 struct label *delabel, struct vnode *vp, 201 struct label *vlabel); 202typedef int (*mpo_associate_vnode_extattr_t)(struct mount *mp, |
205 struct label *fslabel, struct vnode *vp, | 203 struct label *mntlabel, struct vnode *vp, |
206 struct label *vlabel); 207typedef void (*mpo_associate_vnode_singlelabel_t)(struct mount *mp, | 204 struct label *vlabel); 205typedef void (*mpo_associate_vnode_singlelabel_t)(struct mount *mp, |
208 struct label *fslabel, struct vnode *vp, | 206 struct label *mntlabel, struct vnode *vp, |
209 struct label *vlabel); 210typedef void (*mpo_create_devfs_device_t)(struct ucred *cred, 211 struct mount *mp, struct cdev *dev, 212 struct devfs_dirent *de, struct label *label); 213typedef void (*mpo_create_devfs_directory_t)(struct mount *mp, 214 char *dirname, int dirnamelen, struct devfs_dirent *de, 215 struct label *label); 216typedef void (*mpo_create_devfs_symlink_t)(struct ucred *cred, 217 struct mount *mp, struct devfs_dirent *dd, 218 struct label *ddlabel, struct devfs_dirent *de, 219 struct label *delabel); 220typedef int (*mpo_create_vnode_extattr_t)(struct ucred *cred, | 207 struct label *vlabel); 208typedef void (*mpo_create_devfs_device_t)(struct ucred *cred, 209 struct mount *mp, struct cdev *dev, 210 struct devfs_dirent *de, struct label *label); 211typedef void (*mpo_create_devfs_directory_t)(struct mount *mp, 212 char *dirname, int dirnamelen, struct devfs_dirent *de, 213 struct label *label); 214typedef void (*mpo_create_devfs_symlink_t)(struct ucred *cred, 215 struct mount *mp, struct devfs_dirent *dd, 216 struct label *ddlabel, struct devfs_dirent *de, 217 struct label *delabel); 218typedef int (*mpo_create_vnode_extattr_t)(struct ucred *cred, |
221 struct mount *mp, struct label *fslabel, | 219 struct mount *mp, struct label *mntlabel, |
222 struct vnode *dvp, struct label *dlabel, 223 struct vnode *vp, struct label *vlabel, 224 struct componentname *cnp); 225typedef void (*mpo_create_mount_t)(struct ucred *cred, struct mount *mp, | 220 struct vnode *dvp, struct label *dlabel, 221 struct vnode *vp, struct label *vlabel, 222 struct componentname *cnp); 223typedef void (*mpo_create_mount_t)(struct ucred *cred, struct mount *mp, |
226 struct label *mntlabel, struct label *fslabel); | 224 struct label *mntlabel); |
227typedef void (*mpo_relabel_vnode_t)(struct ucred *cred, struct vnode *vp, 228 struct label *vnodelabel, struct label *label); 229typedef int (*mpo_setlabel_vnode_extattr_t)(struct ucred *cred, 230 struct vnode *vp, struct label *vlabel, 231 struct label *intlabel); 232typedef void (*mpo_update_devfsdirent_t)(struct mount *mp, 233 struct devfs_dirent *devfs_dirent, 234 struct label *direntlabel, struct vnode *vp, --- 405 unchanged lines hidden (view full) --- 640 mpo_init_inpcb_label_t mpo_init_inpcb_label; 641 mpo_init_sysv_msgmsg_label_t mpo_init_sysv_msgmsg_label; 642 mpo_init_sysv_msgqueue_label_t mpo_init_sysv_msgqueue_label; 643 mpo_init_sysv_sem_label_t mpo_init_sysv_sem_label; 644 mpo_init_sysv_shm_label_t mpo_init_sysv_shm_label; 645 mpo_init_ipq_label_t mpo_init_ipq_label; 646 mpo_init_mbuf_label_t mpo_init_mbuf_label; 647 mpo_init_mount_label_t mpo_init_mount_label; | 225typedef void (*mpo_relabel_vnode_t)(struct ucred *cred, struct vnode *vp, 226 struct label *vnodelabel, struct label *label); 227typedef int (*mpo_setlabel_vnode_extattr_t)(struct ucred *cred, 228 struct vnode *vp, struct label *vlabel, 229 struct label *intlabel); 230typedef void (*mpo_update_devfsdirent_t)(struct mount *mp, 231 struct devfs_dirent *devfs_dirent, 232 struct label *direntlabel, struct vnode *vp, --- 405 unchanged lines hidden (view full) --- 638 mpo_init_inpcb_label_t mpo_init_inpcb_label; 639 mpo_init_sysv_msgmsg_label_t mpo_init_sysv_msgmsg_label; 640 mpo_init_sysv_msgqueue_label_t mpo_init_sysv_msgqueue_label; 641 mpo_init_sysv_sem_label_t mpo_init_sysv_sem_label; 642 mpo_init_sysv_shm_label_t mpo_init_sysv_shm_label; 643 mpo_init_ipq_label_t mpo_init_ipq_label; 644 mpo_init_mbuf_label_t mpo_init_mbuf_label; 645 mpo_init_mount_label_t mpo_init_mount_label; |
648 mpo_init_mount_fs_label_t mpo_init_mount_fs_label; | |
649 mpo_init_socket_label_t mpo_init_socket_label; 650 mpo_init_socket_peer_label_t mpo_init_socket_peer_label; 651 mpo_init_pipe_label_t mpo_init_pipe_label; 652 mpo_init_posix_sem_label_t mpo_init_posix_sem_label; 653 mpo_init_proc_label_t mpo_init_proc_label; 654 mpo_init_vnode_label_t mpo_init_vnode_label; 655 mpo_destroy_bpfdesc_label_t mpo_destroy_bpfdesc_label; 656 mpo_destroy_cred_label_t mpo_destroy_cred_label; 657 mpo_destroy_devfsdirent_label_t mpo_destroy_devfsdirent_label; 658 mpo_placeholder_t _mpo_placeholder1; 659 mpo_destroy_ifnet_label_t mpo_destroy_ifnet_label; 660 mpo_destroy_inpcb_label_t mpo_destroy_inpcb_label; 661 mpo_destroy_sysv_msgmsg_label_t mpo_destroy_sysv_msgmsg_label; 662 mpo_destroy_sysv_msgqueue_label_t mpo_destroy_sysv_msgqueue_label; 663 mpo_destroy_sysv_sem_label_t mpo_destroy_sysv_sem_label; 664 mpo_destroy_sysv_shm_label_t mpo_destroy_sysv_shm_label; 665 mpo_destroy_ipq_label_t mpo_destroy_ipq_label; 666 mpo_destroy_mbuf_label_t mpo_destroy_mbuf_label; 667 mpo_destroy_mount_label_t mpo_destroy_mount_label; | 646 mpo_init_socket_label_t mpo_init_socket_label; 647 mpo_init_socket_peer_label_t mpo_init_socket_peer_label; 648 mpo_init_pipe_label_t mpo_init_pipe_label; 649 mpo_init_posix_sem_label_t mpo_init_posix_sem_label; 650 mpo_init_proc_label_t mpo_init_proc_label; 651 mpo_init_vnode_label_t mpo_init_vnode_label; 652 mpo_destroy_bpfdesc_label_t mpo_destroy_bpfdesc_label; 653 mpo_destroy_cred_label_t mpo_destroy_cred_label; 654 mpo_destroy_devfsdirent_label_t mpo_destroy_devfsdirent_label; 655 mpo_placeholder_t _mpo_placeholder1; 656 mpo_destroy_ifnet_label_t mpo_destroy_ifnet_label; 657 mpo_destroy_inpcb_label_t mpo_destroy_inpcb_label; 658 mpo_destroy_sysv_msgmsg_label_t mpo_destroy_sysv_msgmsg_label; 659 mpo_destroy_sysv_msgqueue_label_t mpo_destroy_sysv_msgqueue_label; 660 mpo_destroy_sysv_sem_label_t mpo_destroy_sysv_sem_label; 661 mpo_destroy_sysv_shm_label_t mpo_destroy_sysv_shm_label; 662 mpo_destroy_ipq_label_t mpo_destroy_ipq_label; 663 mpo_destroy_mbuf_label_t mpo_destroy_mbuf_label; 664 mpo_destroy_mount_label_t mpo_destroy_mount_label; |
668 mpo_destroy_mount_fs_label_t mpo_destroy_mount_fs_label; | |
669 mpo_destroy_socket_label_t mpo_destroy_socket_label; 670 mpo_destroy_socket_peer_label_t mpo_destroy_socket_peer_label; 671 mpo_destroy_pipe_label_t mpo_destroy_pipe_label; 672 mpo_destroy_posix_sem_label_t mpo_destroy_posix_sem_label; 673 mpo_destroy_proc_label_t mpo_destroy_proc_label; 674 mpo_destroy_vnode_label_t mpo_destroy_vnode_label; 675 mpo_cleanup_sysv_msgmsg_t mpo_cleanup_sysv_msgmsg; 676 mpo_cleanup_sysv_msgqueue_t mpo_cleanup_sysv_msgqueue; --- 306 unchanged lines hidden --- | 665 mpo_destroy_socket_label_t mpo_destroy_socket_label; 666 mpo_destroy_socket_peer_label_t mpo_destroy_socket_peer_label; 667 mpo_destroy_pipe_label_t mpo_destroy_pipe_label; 668 mpo_destroy_posix_sem_label_t mpo_destroy_posix_sem_label; 669 mpo_destroy_proc_label_t mpo_destroy_proc_label; 670 mpo_destroy_vnode_label_t mpo_destroy_vnode_label; 671 mpo_cleanup_sysv_msgmsg_t mpo_cleanup_sysv_msgmsg; 672 mpo_cleanup_sysv_msgqueue_t mpo_cleanup_sysv_msgqueue; --- 306 unchanged lines hidden --- |