X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=utils%2Fstatd%2Frmtcall.c;h=7745538a8f0b2a18ac511830d8142b0d5e2fb4b0;hb=c7f54cc9a23167dea6bdc3e93834d070efa7e7e7;hp=a08c4b1b04e064bbb632a0a4f2fb6de747e9283b;hpb=8b7ad01b14df1e7529b9ba8a1ea17df0d6004ef9;p=nfs-utils.git 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];