On 08/09/2018 02:17 PM, Rolf Anders wrote:
On Thu, Aug 09, 2018 at 12:42:48PM -0400, Daniel Gryniewicz wrote:
> I'm confused, since the point of the of the patch was that
> chan->auth is never NULL. It should always have an auth (whether
> good or an error) in it. Can you debug and see where chan->auth is
> set to NULL?
With the patch nfs_rpc_callback_setup_gss() creates an AUTH structure
via authnone_ncreate_dummy() and sets its ah_error.re_status to
RPC_SYSTEMERROR. Afterwards nfs_rpc_create_chan_v40() checks this status
with AUTH_FAILURE and sets chan->auth to NULL:
chan->auth = nfs_rpc_callback_setup_gss(chan,
&clientid->cid_credential);
[...]
if (AUTH_FAILURE(chan->auth)) {
err = rpc_sperror(&chan->auth->ah_error, "failed");
LogDebug(COMPONENT_NFS_CB, "%s", err);
gsh_free(err);
AUTH_DESTROY(chan->auth);
chan->auth = NULL;
return EINVAL;
}
Gotcha, thanks. I'll look into it.
Daniel