Andy Adamson eb96d5c97b SUNRPC handle EKEYEXPIRED in call_refreshresult
Currently, when an RPCSEC_GSS context has expired or is non-existent
and the users (Kerberos) credentials have also expired or are non-existent,
the client receives the -EKEYEXPIRED error and tries to refresh the context
forever.  If an application is performing I/O, or other work against the share,
the application hangs, and the user is not prompted to refresh/establish their
credentials. This can result in a denial of service for other users.

Users are expected to manage their Kerberos credential lifetimes to mitigate
this issue.

Move the -EKEYEXPIRED handling into the RPC layer. Try tk_cred_retry number
of times to refresh the gss_context, and then return -EACCES to the application.

Signed-off-by: Andy Adamson <andros@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2012-12-12 15:36:02 -05:00
..
2012-08-31 16:14:33 -04:00
2012-10-22 15:16:07 -04:00
2012-07-19 10:48:00 -07:00
2012-10-14 22:41:27 -07:00
2012-06-15 15:30:15 -07:00
2012-05-17 18:45:20 -04:00
2012-10-09 13:57:23 -04:00
2012-11-01 11:55:19 -04:00
2012-09-17 13:00:13 -04:00
2012-09-26 21:10:25 -04:00