Commit 026722c2 authored by J. Bruce Fields's avatar J. Bruce Fields

nfsd4: don't check ip address in setclientid

The spec allows clients to change ip address, so we shouldn't be
requiring that setclientid always come from the same address.  For
example, a client could reboot and get a new dhcpd address, but still
present the same clientid to the server.  In that case the server should
revoke the client's previous state and allow it to continue, instead of
(as it currently does) returning a CLID_INUSE error.
Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
parent 03cf6c9f
...@@ -791,10 +791,9 @@ nfsd4_setclientid(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, ...@@ -791,10 +791,9 @@ nfsd4_setclientid(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
if (conf) { if (conf) {
/* RFC 3530 14.2.33 CASE 0: */ /* RFC 3530 14.2.33 CASE 0: */
status = nfserr_clid_inuse; status = nfserr_clid_inuse;
if (!same_creds(&conf->cl_cred, &rqstp->rq_cred) if (!same_creds(&conf->cl_cred, &rqstp->rq_cred)) {
|| conf->cl_addr != sin->sin_addr.s_addr) { dprintk("NFSD: setclientid: string in use by client"
dprintk("NFSD: setclientid: string in use by clientat %pI4\n", " at %pI4\n", &conf->cl_addr);
&conf->cl_addr);
goto out; goto out;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment