aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sunrpc/auth.h
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@hammerspace.com>2019-02-25 08:39:26 -0500
committerTrond Myklebust <trond.myklebust@hammerspace.com>2019-02-25 09:35:49 -0500
commit06b5fc3ad94eebf25d5abc07f84e16b8b33dcf8c (patch)
treee96f320b5e934978571c8b7d9553ef10fc87b149 /include/linux/sunrpc/auth.h
parent5085607d209102b37b169bc94d0aa39566a9842a (diff)
parent2c94b8eca1a26cd46010d6e73a23da5f2e93a19d (diff)
Merge tag 'nfs-rdma-for-5.1-1' of git://git.linux-nfs.org/projects/anna/linux-nfs
NFSoRDMA client updates for 5.1 New features: - Convert rpc auth layer to use xdr_streams - Config option to disable insecure enctypes - Reduce size of RPC receive buffers Bugfixes and cleanups: - Fix sparse warnings - Check inline size before providing a write chunk - Reduce the receive doorbell rate - Various tracepoint improvements [Trond: Fix up merge conflicts] Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'include/linux/sunrpc/auth.h')
-rw-r--r--include/linux/sunrpc/auth.h44
1 files changed, 26 insertions, 18 deletions
diff --git a/include/linux/sunrpc/auth.h b/include/linux/sunrpc/auth.h
index eed3cb16ccf1..5f9076fdb090 100644
--- a/include/linux/sunrpc/auth.h
+++ b/include/linux/sunrpc/auth.h
@@ -74,14 +74,12 @@ struct rpc_cred_cache;
74struct rpc_authops; 74struct rpc_authops;
75struct rpc_auth { 75struct rpc_auth {
76 unsigned int au_cslack; /* call cred size estimate */ 76 unsigned int au_cslack; /* call cred size estimate */
77 /* guess at number of u32's auth adds before 77 unsigned int au_rslack; /* reply cred size estimate */
78 * reply data; normally the verifier size: */ 78 unsigned int au_verfsize; /* size of reply verifier */
79 unsigned int au_rslack; 79 unsigned int au_ralign; /* words before UL header */
80 /* for gss, used to calculate au_rslack: */ 80
81 unsigned int au_verfsize; 81 unsigned int au_flags;
82 82 const struct rpc_authops *au_ops;
83 unsigned int au_flags; /* various flags */
84 const struct rpc_authops *au_ops; /* operations */
85 rpc_authflavor_t au_flavor; /* pseudoflavor (note may 83 rpc_authflavor_t au_flavor; /* pseudoflavor (note may
86 * differ from the flavor in 84 * differ from the flavor in
87 * au_ops->au_flavor in gss 85 * au_ops->au_flavor in gss
@@ -131,13 +129,15 @@ struct rpc_credops {
131 void (*crdestroy)(struct rpc_cred *); 129 void (*crdestroy)(struct rpc_cred *);
132 130
133 int (*crmatch)(struct auth_cred *, struct rpc_cred *, int); 131 int (*crmatch)(struct auth_cred *, struct rpc_cred *, int);
134 __be32 * (*crmarshal)(struct rpc_task *, __be32 *); 132 int (*crmarshal)(struct rpc_task *task,
133 struct xdr_stream *xdr);
135 int (*crrefresh)(struct rpc_task *); 134 int (*crrefresh)(struct rpc_task *);
136 __be32 * (*crvalidate)(struct rpc_task *, __be32 *); 135 int (*crvalidate)(struct rpc_task *task,
137 int (*crwrap_req)(struct rpc_task *, kxdreproc_t, 136 struct xdr_stream *xdr);
138 void *, __be32 *, void *); 137 int (*crwrap_req)(struct rpc_task *task,
139 int (*crunwrap_resp)(struct rpc_task *, kxdrdproc_t, 138 struct xdr_stream *xdr);
140 void *, __be32 *, void *); 139 int (*crunwrap_resp)(struct rpc_task *task,
140 struct xdr_stream *xdr);
141 int (*crkey_timeout)(struct rpc_cred *); 141 int (*crkey_timeout)(struct rpc_cred *);
142 char * (*crstringify_acceptor)(struct rpc_cred *); 142 char * (*crstringify_acceptor)(struct rpc_cred *);
143 bool (*crneed_reencode)(struct rpc_task *); 143 bool (*crneed_reencode)(struct rpc_task *);
@@ -165,10 +165,18 @@ struct rpc_cred * rpcauth_lookup_credcache(struct rpc_auth *, struct auth_cred *
165void rpcauth_init_cred(struct rpc_cred *, const struct auth_cred *, struct rpc_auth *, const struct rpc_credops *); 165void rpcauth_init_cred(struct rpc_cred *, const struct auth_cred *, struct rpc_auth *, const struct rpc_credops *);
166struct rpc_cred * rpcauth_lookupcred(struct rpc_auth *, int); 166struct rpc_cred * rpcauth_lookupcred(struct rpc_auth *, int);
167void put_rpccred(struct rpc_cred *); 167void put_rpccred(struct rpc_cred *);
168__be32 * rpcauth_marshcred(struct rpc_task *, __be32 *); 168int rpcauth_marshcred(struct rpc_task *task,
169__be32 * rpcauth_checkverf(struct rpc_task *, __be32 *); 169 struct xdr_stream *xdr);
170int rpcauth_wrap_req(struct rpc_task *task, kxdreproc_t encode, void *rqstp, __be32 *data, void *obj); 170int rpcauth_checkverf(struct rpc_task *task,
171int rpcauth_unwrap_resp(struct rpc_task *task, kxdrdproc_t decode, void *rqstp, __be32 *data, void *obj); 171 struct xdr_stream *xdr);
172int rpcauth_wrap_req_encode(struct rpc_task *task,
173 struct xdr_stream *xdr);
174int rpcauth_wrap_req(struct rpc_task *task,
175 struct xdr_stream *xdr);
176int rpcauth_unwrap_resp_decode(struct rpc_task *task,
177 struct xdr_stream *xdr);
178int rpcauth_unwrap_resp(struct rpc_task *task,
179 struct xdr_stream *xdr);
172bool rpcauth_xmit_need_reencode(struct rpc_task *task); 180bool rpcauth_xmit_need_reencode(struct rpc_task *task);
173int rpcauth_refreshcred(struct rpc_task *); 181int rpcauth_refreshcred(struct rpc_task *);
174void rpcauth_invalcred(struct rpc_task *); 182void rpcauth_invalcred(struct rpc_task *);