summaryrefslogtreecommitdiff
path: root/src/nat/gnunet-helper-nat-client-windows.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nat/gnunet-helper-nat-client-windows.c')
-rw-r--r--src/nat/gnunet-helper-nat-client-windows.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/nat/gnunet-helper-nat-client-windows.c b/src/nat/gnunet-helper-nat-client-windows.c
index 47fbc0b86..b28b28584 100644
--- a/src/nat/gnunet-helper-nat-client-windows.c
+++ b/src/nat/gnunet-helper-nat-client-windows.c
@@ -167,6 +167,10 @@ struct udp_header
167 uint16_t crc; 167 uint16_t crc;
168}; 168};
169 169
170/**
171 * Will this binary be run in permissions testing mode?
172 */
173static boolean privilege_testing = FALSE;
170 174
171/** 175/**
172 * Socket we use to send our ICMP packets. 176 * Socket we use to send our ICMP packets.
@@ -463,8 +467,14 @@ main (int argc, char *const *argv)
463 struct in_addr external; 467 struct in_addr external;
464 struct in_addr target; 468 struct in_addr target;
465 WSADATA wsaData; 469 WSADATA wsaData;
466
467 unsigned int p; 470 unsigned int p;
471
472 if (argc > 1 && 0 != strcmp (argv[1], "-d")){
473 privilege_testing = TRUE;
474 fprintf (stderr, "DEBUG: Running binary in privilege testing mode.", argv[0]);
475 argv++;
476 argc--;
477 }
468 478
469 if (argc != 4) 479 if (argc != 4)
470 { 480 {
@@ -497,9 +507,11 @@ main (int argc, char *const *argv)
497 } 507 }
498 if (-1 == (rawsock = make_raw_socket ())) 508 if (-1 == (rawsock = make_raw_socket ()))
499 return 3; 509 return 3;
500 send_icmp (&external, &target); 510 if (!privilege_testing){
501 send_icmp_udp (&external, &target); 511 send_icmp (&external, &target);
502 closesocket (rawsock); 512 send_icmp_udp (&external, &target);
513 }
514 closesocket (rawsock);
503 WSACleanup (); 515 WSACleanup ();
504 return 0; 516 return 0;
505} 517}