uint16_t crc;
};
+/**
+ * Will this binary be run in permissions testing mode?
+ */
+static boolean privilege_testing = FALSE;
+
/**
* Socket we use to receive "fake" ICMP replies.
*/
fd_set rs;
struct timeval tv;
WSADATA wsaData;
- unsigned int alt;
+ unsigned int alt = 0;
+
+ if ( (argc > 1) && (0 != strcmp (argv[1], "-d")))
+ {
+ privilege_testing = TRUE;
+ fprintf (stderr,
+ "%s",
+ "DEBUG: Running binary in privilege testing mode.");
+ argv++;
+ argc--;
+ }
- alt = 0;
if (2 != argc)
{
fprintf (stderr,
closesocket (rawsock);
return 3;
}
- while (1)
+
+ while ( ! privilege_testing)
{
FD_ZERO (&rs);
FD_SET (icmpsock, &rs);
closesocket (rawsock);
closesocket (udpsock);
WSACleanup ();
+ if (privilege_testing)
+ return 0;
return 4;
}