summaryrefslogtreecommitdiff
path: root/sys/secmodel/suser/secmodel_suser.c
diff options
context:
space:
mode:
authorelad <elad@NetBSD.org>2009-12-29 04:25:30 +0000
committerelad <elad@NetBSD.org>2009-12-29 04:25:30 +0000
commit190f3232cd32119929df8ee177d0a4bf2188bd92 (patch)
treeb0e349fb68c4765b8a362c62d358db6b8324edb3 /sys/secmodel/suser/secmodel_suser.c
parent75ab55811fb32deec4b5330d44382bf7b495602e (diff)
Use the socket credentials, now that we have them, instead of uidinfo.
Diffstat (limited to 'sys/secmodel/suser/secmodel_suser.c')
-rw-r--r--sys/secmodel/suser/secmodel_suser.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/sys/secmodel/suser/secmodel_suser.c b/sys/secmodel/suser/secmodel_suser.c
index a4cda3aa808..d55e3144099 100644
--- a/sys/secmodel/suser/secmodel_suser.c
+++ b/sys/secmodel/suser/secmodel_suser.c
@@ -1,4 +1,4 @@
-/* $NetBSD: secmodel_suser.c,v 1.33 2009/12/24 19:02:07 elad Exp $ */
+/* $NetBSD: secmodel_suser.c,v 1.34 2009/12/29 04:25:30 elad Exp $ */
/*-
* Copyright (c) 2006 Elad Efrat <elad@NetBSD.org>
* All rights reserved.
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: secmodel_suser.c,v 1.33 2009/12/24 19:02:07 elad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: secmodel_suser.c,v 1.34 2009/12/29 04:25:30 elad Exp $");
#include <sys/types.h>
#include <sys/param.h>
@@ -50,7 +50,6 @@ __KERNEL_RCSID(0, "$NetBSD: secmodel_suser.c,v 1.33 2009/12/24 19:02:07 elad Exp
#include <sys/sysctl.h>
#include <sys/vnode.h>
#include <sys/proc.h>
-#include <sys/uidinfo.h>
#include <sys/module.h>
#include <secmodel/suser/suser.h>
@@ -752,11 +751,10 @@ secmodel_suser_network_cb(kauth_cred_t cred, kauth_action_t action,
if (secmodel_suser_curtain) {
struct socket *so;
- uid_t so_uid;
so = (struct socket *)arg1;
- so_uid = so->so_uidinfo->ui_uid;
- if (kauth_cred_geteuid(cred) != so_uid)
+
+ if (!proc_uidmatch(cred, so->so_cred))
result = KAUTH_RESULT_DENY;
}