Lines Matching full:auth
46 #include <gssrpc/auth.h>
63 static void authgss_nextverf(AUTH *);
64 static bool_t authgss_marshal(AUTH *, XDR *);
65 static bool_t authgss_refresh(AUTH *, struct rpc_msg *);
66 static bool_t authgss_validate(AUTH *, struct opaque_auth *);
67 static void authgss_destroy(AUTH *);
68 static void authgss_destroy_context(AUTH *);
69 static bool_t authgss_wrap(AUTH *, XDR *, xdrproc_t, caddr_t);
70 static bool_t authgss_unwrap(AUTH *, XDR *, xdrproc_t, caddr_t);
156 #define AUTH_PRIVATE(auth) ((struct rpc_gss_data *)auth->ah_private) argument
160 AUTH *
163 AUTH *auth, *save_auth; in authgss_create() local
171 if ((auth = calloc(sizeof(*auth), 1)) == NULL) { in authgss_create()
179 free(auth); in authgss_create()
187 free(auth); in authgss_create()
203 auth->ah_ops = &authgss_ops; in authgss_create()
204 auth->ah_private = (caddr_t)gd; in authgss_create()
207 clnt->cl_auth = auth; in authgss_create()
209 if (!authgss_refresh(auth, NULL)) in authgss_create()
210 auth = NULL; in authgss_create()
214 log_debug("authgss_create returning auth 0x%08x", auth); in authgss_create()
215 return (auth); in authgss_create()
218 AUTH *
221 AUTH *auth; in authgss_create_default() local
242 auth = authgss_create(clnt, name, sec); in authgss_create_default()
247 log_debug("authgss_create_default returning auth 0x%08x", auth); in authgss_create_default()
248 return (auth); in authgss_create_default()
252 authgss_get_private_data(AUTH *auth, struct authgss_private_data *pd) in authgss_get_private_data() argument
258 if (!auth || !pd) in authgss_get_private_data()
261 gd = AUTH_PRIVATE(auth); in authgss_get_private_data()
274 authgss_nextverf(AUTH *auth) in authgss_nextverf() argument
281 authgss_marshal(AUTH *auth, XDR *xdrs) in authgss_marshal() argument
292 gd = AUTH_PRIVATE(auth); in authgss_marshal()
303 auth->ah_cred.oa_flavor = RPCSEC_GSS; in authgss_marshal()
304 auth->ah_cred.oa_base = tmp; in authgss_marshal()
305 auth->ah_cred.oa_length = XDR_GETPOS(&tmpxdrs); in authgss_marshal()
309 if (!xdr_opaque_auth(xdrs, &auth->ah_cred)) in authgss_marshal()
328 authgss_destroy_context(auth); in authgss_marshal()
332 auth->ah_verf.oa_flavor = RPCSEC_GSS; in authgss_marshal()
333 auth->ah_verf.oa_base = checksum.value; in authgss_marshal()
334 auth->ah_verf.oa_length = checksum.length; in authgss_marshal()
336 xdr_stat = xdr_opaque_auth(xdrs, &auth->ah_verf); in authgss_marshal()
343 authgss_validate(AUTH *auth, struct opaque_auth *verf) in authgss_validate() argument
353 gd = AUTH_PRIVATE(auth); in authgss_validate()
387 authgss_destroy_context(auth); in authgss_validate()
395 authgss_refresh(AUTH *auth, struct rpc_msg *msg) in authgss_refresh() argument
404 gd = AUTH_PRIVATE(auth); in authgss_refresh()
500 authgss_destroy_context(auth); in authgss_refresh()
517 authgss_destroy(auth); in authgss_refresh()
518 auth = NULL; in authgss_refresh()
528 authgss_service(AUTH *auth, int svc) in authgss_service() argument
534 if (!auth) in authgss_service()
536 gd = AUTH_PRIVATE(auth); in authgss_service()
545 authgss_destroy_context(AUTH *auth) in authgss_destroy_context() argument
552 gd = AUTH_PRIVATE(auth); in authgss_destroy_context()
577 authgss_destroy(AUTH *auth) in authgss_destroy() argument
584 gd = AUTH_PRIVATE(auth); in authgss_destroy()
586 authgss_destroy_context(auth); in authgss_destroy()
592 free(auth); in authgss_destroy()
596 authgss_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr) in authgss_wrap() argument
602 gd = AUTH_PRIVATE(auth); in authgss_wrap()
613 authgss_unwrap(AUTH *auth, XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr) in authgss_unwrap() argument
619 gd = AUTH_PRIVATE(auth); in authgss_unwrap()