nfsd4: don't check ip address in setclientid

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm queuing this up for 2.6.30, barring objections.

--b.

commit 026722c25e6eb018eab8b9a3c198c258f5b7a2e7
Author: J. Bruce Fields <bfields@xxxxxxxxxxxxxx>
Date:   Wed Mar 18 15:06:26 2009 -0400

    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: J. Bruce Fields <bfields@xxxxxxxxxxxxxx>

diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index 54651aa..070e9e5 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -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;
 		}
 	}
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux