nfsd4: use auth_unix unconditionally on backchannel
authorJ. Bruce Fields <bfields@redhat.com>
Wed, 28 Mar 2012 18:18:16 +0000 (14:18 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Wed, 28 Mar 2012 23:14:36 +0000 (19:14 -0400)
This isn't actually correct, but it works with the Linux client, and
agrees with the behavior we used to have before commit 80fc015bdfe.

Later patches will implement the spec-mandated behavior (which is to use
the security parameters explicitly given by the client in create_session
or backchannel_ctl).

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs4callback.c

index 0840fc4..c8e9f63 100644 (file)
@@ -645,7 +645,6 @@ static int setup_callback_client(struct nfs4_client *clp, struct nfs4_cb_conn *c
                .timeout        = &timeparms,
                .program        = &cb_program,
                .version        = 0,
-               .authflavor     = clp->cl_flavor,
                .flags          = (RPC_CLNT_CREATE_NOPING | RPC_CLNT_CREATE_QUIET),
        };
        struct rpc_clnt *client;
@@ -656,6 +655,7 @@ static int setup_callback_client(struct nfs4_client *clp, struct nfs4_cb_conn *c
                args.client_name = clp->cl_principal;
                args.prognumber = conn->cb_prog,
                args.protocol = XPRT_TRANSPORT_TCP;
+               args.authflavor = clp->cl_flavor;
                clp->cl_cb_ident = conn->cb_ident;
        } else {
                if (!conn->cb_xprt)
@@ -665,6 +665,7 @@ static int setup_callback_client(struct nfs4_client *clp, struct nfs4_cb_conn *c
                args.bc_xprt = conn->cb_xprt;
                args.prognumber = clp->cl_cb_session->se_cb_prog;
                args.protocol = XPRT_TRANSPORT_BC_TCP;
+               args.authflavor = RPC_AUTH_UNIX;
        }
        /* Create RPC client */
        client = rpc_create(&args);