ugidfw_vnode.c (184413) | ugidfw_vnode.c (184467) |
---|---|
1/*- | 1/*- |
2 * Copyright (c) 1999-2002, 2007 Robert N. M. Watson | 2 * Copyright (c) 1999-2002, 2007-2008 Robert N. M. Watson |
3 * Copyright (c) 2001-2005 Networks Associates Technology, Inc. 4 * Copyright (c) 2005 Tom Rhodes 5 * Copyright (c) 2006 SPARTA, Inc. 6 * All rights reserved. 7 * 8 * This software was developed by Robert Watson for the TrustedBSD Project. 9 * It was later enhanced by Tom Rhodes for the TrustedBSD Project. 10 * --- 21 unchanged lines hidden (view full) --- 32 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 33 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 36 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 37 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 38 * SUCH DAMAGE. 39 * | 3 * Copyright (c) 2001-2005 Networks Associates Technology, Inc. 4 * Copyright (c) 2005 Tom Rhodes 5 * Copyright (c) 2006 SPARTA, Inc. 6 * All rights reserved. 7 * 8 * This software was developed by Robert Watson for the TrustedBSD Project. 9 * It was later enhanced by Tom Rhodes for the TrustedBSD Project. 10 * --- 21 unchanged lines hidden (view full) --- 32 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 33 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 36 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 37 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 38 * SUCH DAMAGE. 39 * |
40 * $FreeBSD: head/sys/security/mac_bsdextended/ugidfw_vnode.c 184413 2008-10-28 13:44:11Z trasz $ | 40 * $FreeBSD: head/sys/security/mac_bsdextended/ugidfw_vnode.c 184467 2008-10-30 10:13:53Z rwatson $ |
41 */ 42 43#include <sys/param.h> 44#include <sys/acl.h> 45#include <sys/kernel.h> 46#include <sys/jail.h> 47#include <sys/lock.h> 48#include <sys/malloc.h> --- 11 unchanged lines hidden (view full) --- 60#include <security/mac_bsdextended/mac_bsdextended.h> 61#include <security/mac_bsdextended/ugidfw_internal.h> 62 63int 64ugidfw_vnode_check_access(struct ucred *cred, struct vnode *vp, 65 struct label *vplabel, accmode_t accmode) 66{ 67 | 41 */ 42 43#include <sys/param.h> 44#include <sys/acl.h> 45#include <sys/kernel.h> 46#include <sys/jail.h> 47#include <sys/lock.h> 48#include <sys/malloc.h> --- 11 unchanged lines hidden (view full) --- 60#include <security/mac_bsdextended/mac_bsdextended.h> 61#include <security/mac_bsdextended/ugidfw_internal.h> 62 63int 64ugidfw_vnode_check_access(struct ucred *cred, struct vnode *vp, 65 struct label *vplabel, accmode_t accmode) 66{ 67 |
68 /* 69 * XXX: We pass accmode_t variable containing V* constants 70 * as an int containing MBI_* constants. 71 */ 72 return (ugidfw_check_vp(cred, vp, (int)accmode)); | 68 return (ugidfw_check_vp(cred, vp, ugidfw_accmode2mbi(accmode))); |
73} 74 75int 76ugidfw_vnode_check_chdir(struct ucred *cred, struct vnode *dvp, 77 struct label *dvplabel) 78{ 79 80 return (ugidfw_check_vp(cred, dvp, MBI_EXEC)); --- 89 unchanged lines hidden (view full) --- 170 return (ugidfw_check_vp(cred, dvp, MBI_EXEC)); 171} 172 173int 174ugidfw_vnode_check_open(struct ucred *cred, struct vnode *vp, 175 struct label *vplabel, accmode_t accmode) 176{ 177 | 69} 70 71int 72ugidfw_vnode_check_chdir(struct ucred *cred, struct vnode *dvp, 73 struct label *dvplabel) 74{ 75 76 return (ugidfw_check_vp(cred, dvp, MBI_EXEC)); --- 89 unchanged lines hidden (view full) --- 166 return (ugidfw_check_vp(cred, dvp, MBI_EXEC)); 167} 168 169int 170ugidfw_vnode_check_open(struct ucred *cred, struct vnode *vp, 171 struct label *vplabel, accmode_t accmode) 172{ 173 |
178 /* 179 * XXX: We pass accmode_t variable containing V* constants 180 * as an int containing MBI_* constants. 181 */ 182 return (ugidfw_check_vp(cred, vp, (int)accmode)); | 174 return (ugidfw_check_vp(cred, vp, ugidfw_accmode2mbi(accmode))); |
183} 184 185int 186ugidfw_vnode_check_readdir(struct ucred *cred, struct vnode *dvp, 187 struct label *dvplabel) 188{ 189 190 return (ugidfw_check_vp(cred, dvp, MBI_READ)); --- 115 unchanged lines hidden --- | 175} 176 177int 178ugidfw_vnode_check_readdir(struct ucred *cred, struct vnode *dvp, 179 struct label *dvplabel) 180{ 181 182 return (ugidfw_check_vp(cred, dvp, MBI_READ)); --- 115 unchanged lines hidden --- |