/*
This file is part of GNUnet.
- (C) 2010 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2010 GNUnet e.V.
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
You should have received a copy of the GNU General Public License
along with GNUnet; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
*/
/**
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;
}