Skip to content

Commit

Permalink
nfsd4: don't check ip address in setclientid
Browse files Browse the repository at this point in the history
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: J. Bruce Fields <bfields@citi.umich.edu>
  • Loading branch information
J. Bruce Fields committed Mar 18, 2009
1 parent 03cf6c9 commit 026722c
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions fs/nfsd/nfs4state.c
Original file line number Diff line number Diff line change
Expand Up @@ -791,10 +791,9 @@ nfsd4_setclientid(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
if (conf) {
/* RFC 3530 14.2.33 CASE 0: */
status = nfserr_clid_inuse;
if (!same_creds(&conf->cl_cred, &rqstp->rq_cred)
|| conf->cl_addr != sin->sin_addr.s_addr) {
dprintk("NFSD: setclientid: string in use by clientat %pI4\n",
&conf->cl_addr);
if (!same_creds(&conf->cl_cred, &rqstp->rq_cred)) {
dprintk("NFSD: setclientid: string in use by client"
" at %pI4\n", &conf->cl_addr);
goto out;
}
}
Expand Down

0 comments on commit 026722c

Please sign in to comment.