]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/statd/statd.c
2000-08-25 H.J. Lu <hjl@lucon.org>
[nfs-utils.git] / utils / statd / statd.c
index 91cb3bc87005d07af1b67091e9906941eb6d8c25..d07a26002055f16bd2f24f508d7f9ebad6960eb9 100644 (file)
@@ -21,13 +21,32 @@ int _rpcpmstart = 0;        /* flags for tirpc rpcgen */
 int    _rpcfdtype = 0;
 int    _rpcsvcdirty = 0;
 
-extern void sm_prog_1 (struct svc_req *, register SVCXPRT);
+extern void sm_prog_1 (struct svc_req *, register SVCXPRT *);
 
 #ifdef SIMULATIONS
 extern void simulator (int, char **);
 #endif
 
 
+#ifdef HAVE_TCP_WRAPPER 
+#include "tcpwrapper.h"
+
+static void
+sm_prog_1_wrapper (struct svc_req *rqstp, register SVCXPRT *transp)
+{
+  /* remote host authorization check */
+  if (!check_default("statd", svc_getcaller(transp),
+                    rqstp->rq_proc, (u_long) 0)) {
+    svcerr_auth (transp, AUTH_FAILED);
+    return;
+  }
+
+  sm_prog_1 (rqstp, transp);
+}
+
+#define sm_prog_1 sm_prog_1_wrapper
+#endif
+
 /*
  * Signal handler.
  */