75 |
/* id management. */ |
/* id management. */ |
76 |
|
|
77 |
static inline void |
static inline void |
78 |
idvec_copyout (struct idvec *idvec, uid_t **ids, uid_t *nids) |
idvec_copyout (struct idvec *idvec, uid_t **ids, size_t *nids) |
79 |
{ |
{ |
80 |
if (idvec->num > *nids) |
if (idvec->num > *nids) |
81 |
*ids = idvec->ids; |
*ids = idvec->ids; |
92 |
kern_return_t |
kern_return_t |
93 |
S_auth_getids (struct authhandle *auth, |
S_auth_getids (struct authhandle *auth, |
94 |
uid_t **euids, |
uid_t **euids, |
95 |
u_int *neuids, |
size_t *neuids, |
96 |
uid_t **auids, |
uid_t **auids, |
97 |
u_int *nauids, |
size_t *nauids, |
98 |
uid_t **egids, |
uid_t **egids, |
99 |
u_int *negids, |
size_t *negids, |
100 |
uid_t **agids, |
uid_t **agids, |
101 |
u_int *nagids) |
size_t *nagids) |
102 |
{ |
{ |
103 |
if (! auth) |
if (! auth) |
104 |
return EOPNOTSUPP; |
return EOPNOTSUPP; |
111 |
/* Implement auth_makeauth as described in <hurd/auth.defs>. */ |
/* Implement auth_makeauth as described in <hurd/auth.defs>. */ |
112 |
kern_return_t |
kern_return_t |
113 |
S_auth_makeauth (struct authhandle *auth, |
S_auth_makeauth (struct authhandle *auth, |
114 |
mach_port_t *authpts, u_int nauths, |
mach_port_t *authpts, size_t nauths, |
115 |
uid_t *euids, u_int neuids, |
uid_t *euids, size_t neuids, |
116 |
uid_t *auids, u_int nauids, |
uid_t *auids, size_t nauids, |
117 |
uid_t *egids, u_int negids, |
uid_t *egids, size_t negids, |
118 |
uid_t *agids, u_int nagids, |
uid_t *agids, size_t nagids, |
119 |
mach_port_t *newhandle) |
mach_port_t *newhandle) |
120 |
{ |
{ |
121 |
struct authhandle *newauth, *auths[1 + nauths]; |
struct authhandle *newauth, *auths[1 + nauths]; |
122 |
int hasroot = 0; |
int hasroot = 0; |
123 |
error_t err; |
error_t err; |
124 |
u_int i, j; |
size_t i, j; |
125 |
|
|
126 |
if (!auth) |
if (!auth) |
127 |
return EOPNOTSUPP; |
return EOPNOTSUPP; |
272 |
mach_port_t newport, |
mach_port_t newport, |
273 |
mach_msg_type_name_t newport_type, |
mach_msg_type_name_t newport_type, |
274 |
uid_t **euids, |
uid_t **euids, |
275 |
u_int *neuids, |
size_t *neuids, |
276 |
uid_t **auids, |
uid_t **auids, |
277 |
u_int *nauids, |
size_t *nauids, |
278 |
uid_t **egids, |
uid_t **egids, |
279 |
u_int *negids, |
size_t *negids, |
280 |
uid_t **agids, |
uid_t **agids, |
281 |
u_int *nagids) |
size_t *nagids) |
282 |
{ |
{ |
283 |
if (! serverauth) |
if (! serverauth) |
284 |
return EOPNOTSUPP; |
return EOPNOTSUPP; |