freebsd-dev/sys/rpc
Rick Macklem b211588596 If the initial attempt to refresh credentials in the RPCSEC_GSS client
side fails, the entry in the cache is left with no valid context
(gd_ctx == GSS_C_NO_CONTEXT). As such, subsequent hits on the cache
will result in persistent authentication failure, even after the user has
done a kinit or similar and acquired a new valid TGT. This patch adds a test
for that case upon a cache hit and calls rpc_gss_init() to make another
attempt at getting valid credentials. It also moves the setting of gc_proc
to before the import of the principal name to ensure that, if that case
fails, it will be detected as a failure after going to "out:".

Reviewed by:	dfr
Approved by:	kib (mentor)
2009-06-24 18:30:14 +00:00
..
rpcsec_gss If the initial attempt to refresh credentials in the RPCSEC_GSS client 2009-06-24 18:30:14 +00:00
auth_none.c
auth_unix.c
auth.h
authunix_prot.c Place hostnames and similar information fully under the prison system. 2009-05-29 21:27:12 +00:00
clnt_dg.c Fix upcall races in the client side krpc. For the client side upcall, 2009-06-04 14:49:27 +00:00
clnt_rc.c For the case where another thread was doing a connect and that 2009-06-10 19:02:09 +00:00
clnt_stat.h
clnt_vc.c Fix upcall races in the client side krpc. For the client side upcall, 2009-06-04 14:49:27 +00:00
clnt.h
getnetconfig.c
inet_ntop.c
inet_pton.c
netconfig.h
nettype.h
pmap_prot.h
replay.c
replay.h
rpc_callmsg.c
rpc_com.h
rpc_generic.c
rpc_msg.h
rpc_prot.c
rpc.h
rpcb_clnt.c
rpcb_clnt.h
rpcb_prot.c
rpcb_prot.h
rpcm_subs.h
rpcsec_gss.h
svc_auth_unix.c Rework the credential code to support larger values of NGROUPS and 2009-06-19 17:10:35 +00:00
svc_auth.c Rework the credential code to support larger values of NGROUPS and 2009-06-19 17:10:35 +00:00
svc_auth.h
svc_dg.c Rework socket upcalls to close some races with setup/teardown of upcalls. 2009-06-01 21:17:03 +00:00
svc_generic.c Since svc_[dg|vc|tli|tp]_create() did not hold a reference count on the 2009-06-17 22:50:26 +00:00
svc_vc.c Since svc_[dg|vc|tli|tp]_create() did not hold a reference count on the 2009-06-17 22:50:26 +00:00
svc.c Since svc_[dg|vc|tli|tp]_create() did not hold a reference count on the 2009-06-17 22:50:26 +00:00
svc.h Fix two races in the server side krpc w.r.t upcalls: 2009-06-04 14:13:06 +00:00
types.h
xdr.h fix xdrmem_control to be safe in an if statement 2009-05-30 22:23:58 +00:00