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