X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fmountd%2Fmount_dispatch.c;h=199fcece4f4682fb51e27dff87e42847b2096a47;hp=e87831a6969412c2abe450dda8afffaf1ed7f811;hb=9ccfe0fa5a43dfc4453b09e328565a6c8f999fe4;hpb=5591654c71e7e2e5959c8718a7e880516b9081e8 diff --git a/utils/mountd/mount_dispatch.c b/utils/mountd/mount_dispatch.c index e87831a..199fcec 100644 --- a/utils/mountd/mount_dispatch.c +++ b/utils/mountd/mount_dispatch.c @@ -4,7 +4,9 @@ * Copyright (C) 1995 Olaf Kirch */ -#include "config.h" +#ifdef HAVE_CONFIG_H +#include +#endif #ifdef HAVE_TCP_WRAPPER #include "tcpwrapper.h" @@ -68,11 +70,12 @@ mount_dispatch(struct svc_req *rqstp, SVCXPRT *transp) { union mountd_arguments argument; union mountd_results result; - #ifdef HAVE_TCP_WRAPPER + struct sockaddr_in *sin = nfs_getrpccaller_in(transp); + /* remote host authorization check */ - if (!check_default("mountd", svc_getcaller(transp), - rqstp->rq_proc, MOUNTPROG)) { + if (sin->sin_family == AF_INET && + !check_default("mountd", sin, rqstp->rq_proc, MOUNTPROG)) { svcerr_auth (transp, AUTH_FAILED); return; }