#include <errno.h>
#include <arpa/inet.h>
#include <dirent.h>
+
+#include "rpcmisc.h"
#include "misc.h"
#include "statd.h"
#include "notlist.h"
static int
caller_is_localhost(struct svc_req *rqstp)
{
+ struct sockaddr_in *sin = nfs_getrpccaller_in(rqstp->rq_xprt);
struct in_addr caller;
- caller = svc_getcaller(rqstp->rq_xprt)->sin_addr;
+ caller = sin->sin_addr;
if (caller.s_addr != htonl(INADDR_LOOPBACK)) {
note(N_WARNING,
"Call to statd from non-local host %s",
e += sprintf(e, "%02x", 0xff & (argp->priv[i]));
if (e+1-buf != LINELEN) abort();
e += sprintf(e, " %s %s\n", mon_name, my_name);
- write(fd, buf, e-buf);
+ if (write(fd, buf, e-buf) != (e-buf)) {
+ note(N_WARNING, "writing to %s failed: errno %d (%s)",
+ path, errno, strerror(errno));
+ }
}
free(path);
/* PRC: do the HA callout: */
ha_callout("del-client", mon_name, my_name, -1);
- xunlink(SM_DIR, clnt->dns_name, 1);
+ xunlink(SM_DIR, clnt->dns_name);
nlist_free(&rtnl, clnt);
return (&result);
temp = NL_NEXT(clnt);
/* PRC: do the HA callout: */
ha_callout("del-client", mon_name, my_name, -1);
- xunlink(SM_DIR, clnt->dns_name, 1);
+ xunlink(SM_DIR, clnt->dns_name);
nlist_free(&rtnl, clnt);
++count;
clnt = temp;