NFSv4: Don't use cred->cr_ops->cr_name in nfs4_proc_setclientid()
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Tue, 8 Apr 2008 00:49:28 +0000 (20:49 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Sat, 19 Apr 2008 20:54:53 +0000 (16:54 -0400)
With the recent change to generic creds, we can no longer use
cred->cr_ops->cr_name to distinguish between RPCSEC_GSS principals and
AUTH_SYS/AUTH_NULL identities. Replace it with the rpc_authops->au_name
instead...

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/nfs4proc.c
include/linux/sunrpc/auth.h
net/sunrpc/auth_generic.c
net/sunrpc/auth_gss/auth_gss.c
net/sunrpc/auth_null.c
net/sunrpc/auth_unix.c

index a106932..dbc0927 100644 (file)
@@ -2885,7 +2885,7 @@ int nfs4_proc_setclientid(struct nfs_client *clp, u32 program, unsigned short po
                                                        RPC_DISPLAY_ADDR),
                                rpc_peeraddr2str(clp->cl_rpcclient,
                                                        RPC_DISPLAY_PROTO),
-                               cred->cr_ops->cr_name,
+                               clp->cl_rpcclient->cl_auth->au_ops->au_name,
                                clp->cl_id_uniquifier);
                setclientid.sc_netid_len = scnprintf(setclientid.sc_netid,
                                sizeof(setclientid.sc_netid),
index e93cd8a..a19c3af 100644 (file)
@@ -96,9 +96,7 @@ struct rpc_auth {
 struct rpc_authops {
        struct module           *owner;
        rpc_authflavor_t        au_flavor;      /* flavor (RPC_AUTH_*) */
-#ifdef RPC_DEBUG
        char *                  au_name;
-#endif
        struct rpc_auth *       (*create)(struct rpc_clnt *, rpc_authflavor_t);
        void                    (*destroy)(struct rpc_auth *);
 
index 6a3f77c..b6f124c 100644 (file)
@@ -136,9 +136,7 @@ static struct rpc_cred_cache generic_cred_cache = {
 
 static const struct rpc_authops generic_auth_ops = {
        .owner = THIS_MODULE,
-#ifdef RPC_DEBUG
        .au_name = "Generic",
-#endif
        .lookup_cred = generic_lookup_cred,
        .crcreate = generic_create_cred,
 };
index 55948cd..7567eb9 100644 (file)
@@ -1287,9 +1287,7 @@ out:
 static const struct rpc_authops authgss_ops = {
        .owner          = THIS_MODULE,
        .au_flavor      = RPC_AUTH_GSS,
-#ifdef RPC_DEBUG
        .au_name        = "RPCSEC_GSS",
-#endif
        .create         = gss_create,
        .destroy        = gss_destroy,
        .lookup_cred    = gss_lookup_cred,
index 3c26c18..c70dd7f 100644 (file)
@@ -104,9 +104,7 @@ nul_validate(struct rpc_task *task, __be32 *p)
 const struct rpc_authops authnull_ops = {
        .owner          = THIS_MODULE,
        .au_flavor      = RPC_AUTH_NULL,
-#ifdef RPC_DEBUG
        .au_name        = "NULL",
-#endif
        .create         = nul_create,
        .destroy        = nul_destroy,
        .lookup_cred    = nul_lookup_cred,
index 04e936a..44920b9 100644 (file)
@@ -210,9 +210,7 @@ void __init rpc_init_authunix(void)
 const struct rpc_authops authunix_ops = {
        .owner          = THIS_MODULE,
        .au_flavor      = RPC_AUTH_UNIX,
-#ifdef RPC_DEBUG
        .au_name        = "UNIX",
-#endif
        .create         = unx_create,
        .destroy        = unx_destroy,
        .lookup_cred    = unx_lookup_cred,