The pre-kauth 'struct ucread' and 'struct pcred' are now only used in the
(depracted some time ago) 'struct kinfo_proc' returned by sysctl. Move the definitions to sys/syctl.h and rename in order to ensure all the users are located.
This commit is contained in:
parent
c7565916df
commit
6209b5bbf3
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: kern_auth.c,v 1.44 2007/02/09 21:55:30 ad Exp $ */
|
||||
/* $NetBSD: kern_auth.c,v 1.45 2007/02/18 15:20:34 dsl Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2005, 2006 Elad Efrat <elad@NetBSD.org>
|
||||
|
@ -28,7 +28,7 @@
|
|||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: kern_auth.c,v 1.44 2007/02/09 21:55:30 ad Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: kern_auth.c,v 1.45 2007/02/18 15:20:34 dsl Exp $");
|
||||
|
||||
#define _KAUTH_PRIVATE
|
||||
|
||||
|
@ -41,6 +41,7 @@ __KERNEL_RCSID(0, "$NetBSD: kern_auth.c,v 1.44 2007/02/09 21:55:30 ad Exp $");
|
|||
#include <sys/kauth_impl.h>
|
||||
#include <sys/kmem.h>
|
||||
#include <sys/rwlock.h>
|
||||
#include <sys/sysctl.h> /* for pi_[p]cread */
|
||||
|
||||
/*
|
||||
* Secmodel-specific credentials.
|
||||
|
@ -543,7 +544,7 @@ kauth_cred_uucmp(kauth_cred_t cred, const struct uucred *uuc)
|
|||
* Make a struct ucred out of a kauth_cred_t. For compatibility.
|
||||
*/
|
||||
void
|
||||
kauth_cred_toucred(kauth_cred_t cred, struct ucred *uc)
|
||||
kauth_cred_toucred(kauth_cred_t cred, struct ki_ucred *uc)
|
||||
{
|
||||
KASSERT(cred != NULL);
|
||||
KASSERT(uc != NULL);
|
||||
|
@ -561,12 +562,12 @@ kauth_cred_toucred(kauth_cred_t cred, struct ucred *uc)
|
|||
* Make a struct pcred out of a kauth_cred_t. For compatibility.
|
||||
*/
|
||||
void
|
||||
kauth_cred_topcred(kauth_cred_t cred, struct pcred *pc)
|
||||
kauth_cred_topcred(kauth_cred_t cred, struct ki_pcred *pc)
|
||||
{
|
||||
KASSERT(cred != NULL);
|
||||
KASSERT(pc != NULL);
|
||||
|
||||
pc->pc_ucred = NULL;
|
||||
pc->p_pad = NULL;
|
||||
pc->p_ruid = cred->cr_uid;
|
||||
pc->p_svuid = cred->cr_svuid;
|
||||
pc->p_rgid = cred->cr_gid;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: kauth.h,v 1.36 2007/01/31 10:08:23 elad Exp $ */
|
||||
/* $NetBSD: kauth.h,v 1.37 2007/02/18 15:20:34 dsl Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2005, 2006 Elad Efrat <elad@NetBSD.org>
|
||||
|
@ -36,8 +36,8 @@
|
|||
#define _SYS_KAUTH_H_
|
||||
|
||||
struct uucred;
|
||||
struct ucred;
|
||||
struct pcred;
|
||||
struct ki_ucred;
|
||||
struct ki_pcred;
|
||||
struct proc;
|
||||
struct tty;
|
||||
struct vnode;
|
||||
|
@ -311,8 +311,8 @@ int kauth_cred_uidmatch(kauth_cred_t, kauth_cred_t);
|
|||
void kauth_uucred_to_cred(kauth_cred_t, const struct uucred *);
|
||||
void kauth_cred_to_uucred(struct uucred *, const kauth_cred_t);
|
||||
int kauth_cred_uucmp(kauth_cred_t, const struct uucred *);
|
||||
void kauth_cred_toucred(kauth_cred_t, struct ucred *);
|
||||
void kauth_cred_topcred(kauth_cred_t, struct pcred *);
|
||||
void kauth_cred_toucred(kauth_cred_t, struct ki_ucred *);
|
||||
void kauth_cred_topcred(kauth_cred_t, struct ki_pcred *);
|
||||
|
||||
kauth_cred_t kauth_cred_get(void);
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: proc.h,v 1.237 2007/02/17 22:31:45 pavel Exp $ */
|
||||
/* $NetBSD: proc.h,v 1.238 2007/02/18 15:20:34 dsl Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2006, 2007 The NetBSD Foundation, Inc.
|
||||
|
@ -402,22 +402,6 @@ struct proc {
|
|||
#define P_EXITSIG(p) \
|
||||
(((p)->p_slflag & (PSL_TRACED|PSL_FSTRACE)) ? SIGCHLD : p->p_exitsig)
|
||||
|
||||
/*
|
||||
* MOVE TO ucred.h?
|
||||
*
|
||||
* Shareable process credentials (always resident). This includes a reference
|
||||
* to the current user credentials as well as real and saved ids that may be
|
||||
* used to change ids.
|
||||
*/
|
||||
struct pcred {
|
||||
struct ucred *pc_ucred; /* Current credentials */
|
||||
uid_t p_ruid; /* Real user id */
|
||||
uid_t p_svuid; /* Saved effective user id */
|
||||
gid_t p_rgid; /* Real group id */
|
||||
gid_t p_svgid; /* Saved effective group id */
|
||||
int p_refcnt; /* Number of references */
|
||||
};
|
||||
|
||||
LIST_HEAD(proclist, proc); /* A list of processes */
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: sysctl.h,v 1.167 2007/02/17 22:31:45 pavel Exp $ */
|
||||
/* $NetBSD: sysctl.h,v 1.168 2007/02/18 15:20:34 dsl Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1989, 1993
|
||||
|
@ -391,6 +391,23 @@ struct clockinfo {
|
|||
#define KERN_PROC_TTY_NODEV NODEV /* no controlling tty */
|
||||
#define KERN_PROC_TTY_REVOKE ((dev_t)-2) /* revoked tty */
|
||||
|
||||
struct ki_pcred {
|
||||
void *p_pad;
|
||||
uid_t p_ruid; /* Real user id */
|
||||
uid_t p_svuid; /* Saved effective user id */
|
||||
gid_t p_rgid; /* Real group id */
|
||||
gid_t p_svgid; /* Saved effective group id */
|
||||
int p_refcnt; /* Number of references */
|
||||
};
|
||||
|
||||
struct ki_ucred {
|
||||
uint32_t cr_ref; /* reference count */
|
||||
uid_t cr_uid; /* effective user id */
|
||||
gid_t cr_gid; /* effective group id */
|
||||
uint32_t cr_ngroups; /* number of groups */
|
||||
gid_t cr_groups[NGROUPS]; /* groups */
|
||||
};
|
||||
|
||||
/*
|
||||
* KERN_PROC subtype ops return arrays of augmented proc structures:
|
||||
*/
|
||||
|
@ -399,8 +416,8 @@ struct kinfo_proc {
|
|||
struct eproc {
|
||||
struct proc *e_paddr; /* address of proc */
|
||||
struct session *e_sess; /* session pointer */
|
||||
struct pcred e_pcred; /* process credentials */
|
||||
struct ucred e_ucred; /* current credentials */
|
||||
struct ki_pcred e_pcred; /* process credentials */
|
||||
struct ki_ucred e_ucred; /* current credentials */
|
||||
struct vmspace e_vm; /* address space */
|
||||
pid_t e_ppid; /* parent process id */
|
||||
pid_t e_pgid; /* process group id */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: ucred.h,v 1.31 2006/07/16 21:13:00 elad Exp $ */
|
||||
/* $NetBSD: ucred.h,v 1.32 2007/02/18 15:20:34 dsl Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1989, 1993
|
||||
|
@ -49,15 +49,6 @@ struct uucred {
|
|||
gid_t cr_groups[NGROUPS]; /* groups */
|
||||
};
|
||||
|
||||
struct ucred {
|
||||
uint32_t cr_ref; /* reference count */
|
||||
#define cr_startcopy cr_uid /* for dup & copy */
|
||||
uid_t cr_uid; /* effective user id */
|
||||
gid_t cr_gid; /* effective group id */
|
||||
uint32_t cr_ngroups; /* number of groups */
|
||||
gid_t cr_groups[NGROUPS]; /* groups */
|
||||
};
|
||||
|
||||
#ifdef _KERNEL
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue