diff options
author | rwatson <rwatson@FreeBSD.org> | 2002-08-01 01:33:12 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2002-08-01 01:33:12 +0000 |
commit | 3ce5d5484cfbe7bd6f19b66612d0a5582f13fab0 (patch) | |
tree | ac3d1b39774dfa77453f4585450743cb4262f4b0 /sys/fs/pseudofs/pseudofs.h | |
parent | 6d0d48759b3059a7047764333355b5992445a4d3 (diff) | |
download | FreeBSD-src-3ce5d5484cfbe7bd6f19b66612d0a5582f13fab0.zip FreeBSD-src-3ce5d5484cfbe7bd6f19b66612d0a5582f13fab0.tar.gz |
Introduce support for Mandatory Access Control and extensible
kernel access control.
Modify pseudofs so that it can support synthetic file systems with
the multilabel flag set. In particular, implement vop_refreshlabel()
as pn_refreshlabel(). Implement pfs_refreshlabel() to invoke this,
and have it fall back to the mount label if the file system does
not implement pn_refreshlabel() for the node. Otherwise, permit
the file system to determine how the service is provided.
Approved by: des
Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs
Diffstat (limited to 'sys/fs/pseudofs/pseudofs.h')
-rw-r--r-- | sys/fs/pseudofs/pseudofs.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/fs/pseudofs/pseudofs.h b/sys/fs/pseudofs/pseudofs.h index 69044d0..05882bf 100644 --- a/sys/fs/pseudofs/pseudofs.h +++ b/sys/fs/pseudofs/pseudofs.h @@ -145,6 +145,15 @@ struct ucred; typedef int (*pfs_getextattr_t)(PFS_GETEXTATTR_ARGS); /* + * Getlabel callback + */ +#define PFS_REFRESHLABEL_ARGS \ + struct thread *td, struct proc *p, struct vnode *vp, \ + struct pfs_node *pn, struct ucred *cred +struct mac; +typedef int (*pfs_refreshlabel_t)(PFS_REFRESHLABEL_ARGS); + +/* * Last-close callback */ #define PFS_CLOSE_ARGS \ @@ -185,6 +194,7 @@ struct pfs_node { pfs_attr_t pn_attr; pfs_vis_t pn_vis; pfs_getextattr_t pn_getextattr; + pfs_refreshlabel_t pn_refreshlabel; void *pn_data; int pn_flags; |