struct GNUNET_NAT_Handle *h;
struct sockaddr_in sa;
-#if DEBUG_NAT
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Asking for connection reversal with %x and code %u\n",
(unsigned int) dst_ipv4, (unsigned int) dport);
-#endif
h = GNUNET_NAT_register (cfg, is_tcp, dport, 0, NULL, NULL, NULL, NULL, NULL);
memset (&sa, 0, sizeof (sa));
sa.sin_family = AF_INET;
if (-1 ==
GNUNET_NETWORK_socket_send (ctx->s, &ctx->data, sizeof (ctx->data)))
{
-#if DEBUG_NAT
GNUNET_log_strerror (GNUNET_ERROR_TYPE_DEBUG, "send");
-#endif
}
GNUNET_NETWORK_socket_shutdown (ctx->s, SHUT_RDWR);
}
#endif
sa.sin_addr.s_addr = dst_ipv4;
sa.sin_port = htons (dport);
-#if DEBUG_NAT
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Sending TCP message to `%s'\n",
GNUNET_a2s ((struct sockaddr *) &sa, sizeof (sa)));
-#endif
if ((GNUNET_OK !=
GNUNET_NETWORK_socket_connect (s, (const struct sockaddr *) &sa,
sizeof (sa))) && (errno != EINPROGRESS))
#endif
sa.sin_addr.s_addr = dst_ipv4;
sa.sin_port = htons (dport);
-#if DEBUG_NAT
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Sending UDP packet to `%s'\n",
GNUNET_a2s ((struct sockaddr *) &sa, sizeof (sa)));
-#endif
if (-1 ==
GNUNET_NETWORK_socket_sendto (s, &data, sizeof (data),
(const struct sockaddr *) &sa, sizeof (sa)))
const struct GNUNET_NAT_TestMessage *tm;
uint16_t dport;
-#if DEBUG_NAT
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Received test request\n");
-#endif
tm = (const struct GNUNET_NAT_TestMessage *) msg;
dport = ntohs (tm->dport);
if (0 == dport)
GNUNET_GETOPT_OPTION_END
};
+ if (GNUNET_OK != GNUNET_STRINGS_get_utf8_args (argc, argv, &argc, &argv))
+ return 2;
+
if (GNUNET_OK !=
GNUNET_PROGRAM_run (argc, argv, "gnunet-nat-server [options] PORT",
_("GNUnet NAT traversal test helper daemon"), options,
&run, NULL))
+ {
+ GNUNET_free ((void*) argv);
return 1;
+ }
+ GNUNET_free ((void*) argv);
return 0;
}