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