From: lon <lon>
Date: Thu, 5 Oct 2000 19:16:56 +0000 (+0000)
Subject: Fixed a bug where we were ignoring the xid in the response from a client to
X-Git-Tag: nfs-utils-0-3~26
X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=a5fdf1a4b7aea774332ec1fb85090cb640044585;p=nfs-utils.git

Fixed a bug where we were ignoring the xid in the response from a client to
a server's SM_NOTIFY.
---

diff --git a/utils/statd/rmtcall.c b/utils/statd/rmtcall.c
index a08c4b1..7745538 100644
--- a/utils/statd/rmtcall.c
+++ b/utils/statd/rmtcall.c
@@ -2,6 +2,8 @@
  * Copyright (C) 1996, 1999 Olaf Kirch
  * Modified by Jeffrey A. Uphoff, 1997-1999.
  * Modified by H.J. Lu, 1998.
+ * Modified by Lon Hohberger, Oct. 2000
+ *   - Bugfix handling client responses.
  *
  * NSM for Linux.
  */
@@ -238,7 +240,10 @@ recv_rply(int sockfd, struct sockaddr_in *sin, u_long *portp)
 	}
 
 	for (lp = notify; lp != NULL; lp = lp->next) {
-		if (lp->xid != xid)
+		/* LH - this was a bug... it should have been checking
+		 * the xid from the response message from the client,
+		 * not the static, internal xid */
+		if (lp->xid != mesg.rm_xid)
 			continue;
 		if (lp->addr.s_addr != sin->sin_addr.s_addr) {
 			char addr [18];