X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fstatd%2Fsimu.c;h=25e8badad160246f2efb600a51659deed8fb4d9e;hp=82d794e1c2667a20198f0cb24a89bcf5e95f75ca;hb=18c6c616e07ec4fcd27108d87b6f02280d9687d6;hpb=4ac04d76dc0fffe48313d6a16b4ca9b44c135818 diff --git a/utils/statd/simu.c b/utils/statd/simu.c index 82d794e..25e8bad 100644 --- a/utils/statd/simu.c +++ b/utils/statd/simu.c @@ -22,35 +22,26 @@ void * sm_simu_crash_1_svc (void *argp, struct svc_req *rqstp) { static char *result = NULL; + struct in_addr caller; + + caller = svc_getcaller(rqstp->rq_xprt)->sin_addr; + if (caller.s_addr != htonl(INADDR_LOOPBACK)) { + note(N_WARNING, "Call to statd from non-local host %s", + inet_ntoa(caller)); + goto failure; + } + + if (ntohs(svc_getcaller(rqstp->rq_xprt)->sin_port) >= 1024) { + note(N_WARNING, "Call to statd-simu-crash from unprivileged port"); + goto failure; + } -#ifdef RESTRICTED_STATD - struct in_addr caller; - - /* 1. Reject anyone not calling from 127.0.0.1. - * Ignore the my_name specified by the caller, and - * use "127.0.0.1" instead. - */ - caller = svc_getcaller(rqstp->rq_xprt)->sin_addr; - if (caller.s_addr != htonl(INADDR_LOOPBACK)) { - note(N_WARNING, - "Call to statd from non-local host %s", - inet_ntoa(caller)); - goto failure; - } - if (ntohs(svc_getcaller(rqstp->rq_xprt)->sin_port) >= 1024) { - note(N_WARNING, - "Call to statd-simu-crash from unprivileged port\n"); - goto failure; - } -#endif note (N_WARNING, "*** SIMULATING CRASH! ***"); my_svc_exit (); if (rtnl) nlist_kill (&rtnl); -#ifdef RESTRICTED_STATD failure: -#endif return ((void *)&result); }