summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlon <lon>2000-10-05 19:16:56 +0000
committerlon <lon>2000-10-05 19:16:56 +0000
commita5fdf1a4b7aea774332ec1fb85090cb640044585 (patch)
tree216af464bfff5b6f6b849562a5d61d43721d99fe
parent0fc49952e287c0f2387ba019b5d8e295e2411354 (diff)
downloadnfs-utils-a5fdf1a4b7aea774332ec1fb85090cb640044585.tar.gz
nfs-utils-a5fdf1a4b7aea774332ec1fb85090cb640044585.tar.xz
nfs-utils-a5fdf1a4b7aea774332ec1fb85090cb640044585.zip
Fixed a bug where we were ignoring the xid in the response from a client to
a server's SM_NOTIFY.
-rw-r--r--utils/statd/rmtcall.c7
1 files changed, 6 insertions, 1 deletions
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];