Lines Matching full:auth
59 #include <rpc/auth.h>
65 static void authunix_nextverf (AUTH *);
66 static bool_t authunix_marshal (AUTH *, uint32_t, XDR *, struct mbuf *);
67 static bool_t authunix_validate (AUTH *, uint32_t, struct opaque_auth *,
69 static bool_t authunix_refresh (AUTH *, void *);
70 static void authunix_destroy (AUTH *);
71 static void marshal_new_auth (AUTH *);
94 AUTH *au_auth; /* link back to AUTH */
97 #define AUTH_PRIVATE(auth) ((struct audata *)auth->ah_private) argument
120 * Returns an auth handle with the given stuff in it.
122 AUTH *
129 AUTH *auth; in authunix_create() local
150 * Hash the uid to see if we already have an AUTH with this cred. in authunix_create()
177 * Allocate and set up auth handle in authunix_create()
180 auth = mem_alloc(sizeof(*auth)); in authunix_create()
182 auth->ah_ops = &authunix_ops; in authunix_create()
183 auth->ah_private = (caddr_t)au; in authunix_create()
184 auth->ah_verf = au->au_shcred = _null_auth; in authunix_create()
189 au->au_auth = auth; in authunix_create()
207 * set auth handle to reflect new cred. in authunix_create()
209 auth->ah_cred = au->au_origcred; in authunix_create()
210 marshal_new_auth(auth); in authunix_create()
216 * We lost a race to create the AUTH that in authunix_create()
220 AUTH_DESTROY(auth); in authunix_create()
231 return (auth); in authunix_create()
240 authunix_nextverf(AUTH *auth) in authunix_nextverf() argument
246 authunix_marshal(AUTH *auth, uint32_t xid, XDR *xdrs, struct mbuf *args) in authunix_marshal() argument
250 au = AUTH_PRIVATE(auth); in authunix_marshal()
258 authunix_validate(AUTH *auth, uint32_t xid, struct opaque_auth *verf, in authunix_validate() argument
268 au = AUTH_PRIVATE(auth); in authunix_validate()
278 auth->ah_cred = au->au_shcred; in authunix_validate()
283 auth->ah_cred = au->au_origcred; in authunix_validate()
285 marshal_new_auth(auth); in authunix_validate()
292 authunix_refresh(AUTH *auth, void *dummy) in authunix_refresh() argument
294 struct audata *au = AUTH_PRIVATE(auth); in authunix_refresh()
301 if (auth->ah_cred.oa_base == au->au_origcred.oa_base) { in authunix_refresh()
323 auth->ah_cred = au->au_origcred; in authunix_refresh()
324 marshal_new_auth(auth); in authunix_refresh()
331 authunix_destroy(AUTH *auth) in authunix_destroy() argument
335 au = AUTH_PRIVATE(auth); in authunix_destroy()
345 mem_free(auth->ah_private, sizeof(struct audata)); in authunix_destroy()
347 if (auth->ah_verf.oa_base != NULL) in authunix_destroy()
348 mem_free(auth->ah_verf.oa_base, auth->ah_verf.oa_length); in authunix_destroy()
350 mem_free(auth, sizeof(*auth)); in authunix_destroy()
354 * Marshals (pre-serializes) an auth struct.
358 marshal_new_auth(AUTH *auth) in marshal_new_auth() argument
364 au = AUTH_PRIVATE(auth); in marshal_new_auth()
366 if ((! xdr_opaque_auth(xdrs, &(auth->ah_cred))) || in marshal_new_auth()
367 (! xdr_opaque_auth(xdrs, &(auth->ah_verf)))) in marshal_new_auth()