aboutsummaryrefslogtreecommitdiff
path: root/src/nat/gnunet-nat-server.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2016-12-25 19:20:16 +0100
committerChristian Grothoff <christian@grothoff.org>2016-12-25 19:20:16 +0100
commit9ba4c1d15e6bcb20c47dff1067ab76e86d7c0f8a (patch)
tree75722fe825a4adb3b2718309b25f07967419c598 /src/nat/gnunet-nat-server.c
parentd39684ffb508e1697abb283413c9bbbee978b49d (diff)
downloadgnunet-9ba4c1d15e6bcb20c47dff1067ab76e86d7c0f8a.tar.gz
gnunet-9ba4c1d15e6bcb20c47dff1067ab76e86d7c0f8a.zip
notes for next steps with NAT
Diffstat (limited to 'src/nat/gnunet-nat-server.c')
-rw-r--r--src/nat/gnunet-nat-server.c44
1 files changed, 27 insertions, 17 deletions
diff --git a/src/nat/gnunet-nat-server.c b/src/nat/gnunet-nat-server.c
index 6722deefb..1692a8ef1 100644
--- a/src/nat/gnunet-nat-server.c
+++ b/src/nat/gnunet-nat-server.c
@@ -42,8 +42,7 @@ static const struct GNUNET_CONFIGURATION_Handle *cfg;
42 42
43 43
44/** 44/**
45 * Try contacting the peer using autonomous 45 * Try contacting the peer using autonomous NAT traveral method.
46 * NAT traveral method.
47 * 46 *
48 * @param dst_ipv4 IPv4 address to send the fake ICMP message 47 * @param dst_ipv4 IPv4 address to send the fake ICMP message
49 * @param dport destination port to include in ICMP message 48 * @param dport destination port to include in ICMP message
@@ -78,7 +77,7 @@ try_anat (uint32_t dst_ipv4,
78 77
79 78
80/** 79/**
81 * Closure for 'tcp_send'. 80 * Closure for #tcp_send.
82 */ 81 */
83struct TcpContext 82struct TcpContext
84{ 83{
@@ -98,7 +97,7 @@ struct TcpContext
98 * Task called by the scheduler once we can do the TCP send 97 * Task called by the scheduler once we can do the TCP send
99 * (or once we failed to connect...). 98 * (or once we failed to connect...).
100 * 99 *
101 * @param cls the 'struct TcpContext' 100 * @param cls the `struct TcpContext`
102 */ 101 */
103static void 102static void
104tcp_send (void *cls) 103tcp_send (void *cls)
@@ -182,7 +181,7 @@ try_send_tcp (uint32_t dst_ipv4,
182 181
183/** 182/**
184 * Try to send @a data to the 183 * Try to send @a data to the
185 * IP @a dst_ipv4' at port @a dport via UDP. 184 * IP @a dst_ipv4 at port @a dport via UDP.
186 * 185 *
187 * @param dst_ipv4 target IP 186 * @param dst_ipv4 target IP
188 * @param dport target port 187 * @param dport target port
@@ -313,12 +312,13 @@ run (void *cls,
313 }; 312 };
314 313
315 cfg = c; 314 cfg = c;
316 if ((args[0] == NULL) || (1 != SSCANF (args[0], "%u", &port)) || (0 == port) 315 if ( (NULL == args[0]) ||
317 || (65536 <= port)) 316 (1 != SSCANF (args[0], "%u", &port)) ||
317 (0 == port) ||
318 (65536 <= port) )
318 { 319 {
319 FPRINTF (stderr, 320 FPRINTF (stderr,
320 _ 321 _("Please pass valid port number as the first argument! (got `%s')\n"),
321 ("Please pass valid port number as the first argument! (got `%s')\n"),
322 args[0]); 322 args[0]);
323 return; 323 return;
324 } 324 }
@@ -332,10 +332,14 @@ run (void *cls,
332 in4.sin_len = sizeof (in4); 332 in4.sin_len = sizeof (in4);
333 in6.sin6_len = sizeof (in6); 333 in6.sin6_len = sizeof (in6);
334#endif 334#endif
335 server = 335 server = GNUNET_SERVER_create (NULL,
336 GNUNET_SERVER_create (NULL, NULL, (struct sockaddr * const *) sa, slen, 336 NULL,
337 GNUNET_TIME_UNIT_SECONDS, GNUNET_YES); 337 (struct sockaddr * const *) sa,
338 GNUNET_SERVER_add_handlers (server, handlers); 338 slen,
339 GNUNET_TIME_UNIT_SECONDS,
340 GNUNET_YES);
341 GNUNET_SERVER_add_handlers (server,
342 handlers);
339 GNUNET_SCHEDULER_add_shutdown (&shutdown_task, 343 GNUNET_SCHEDULER_add_shutdown (&shutdown_task,
340 NULL); 344 NULL);
341} 345}
@@ -355,13 +359,19 @@ main (int argc, char *const argv[])
355 GNUNET_GETOPT_OPTION_END 359 GNUNET_GETOPT_OPTION_END
356 }; 360 };
357 361
358 if (GNUNET_OK != GNUNET_STRINGS_get_utf8_args (argc, argv, &argc, &argv)) 362 if (GNUNET_OK !=
363 GNUNET_STRINGS_get_utf8_args (argc, argv,
364 &argc, &argv))
359 return 2; 365 return 2;
360 366
361 if (GNUNET_OK != 367 if (GNUNET_OK !=
362 GNUNET_PROGRAM_run (argc, argv, "gnunet-nat-server [options] PORT", 368 GNUNET_PROGRAM_run (argc,
363 _("GNUnet NAT traversal test helper daemon"), options, 369 argv,
364 &run, NULL)) 370 "gnunet-nat-server [options] PORT",
371 _("GNUnet NAT traversal test helper daemon"),
372 options,
373 &run,
374 NULL))
365 { 375 {
366 GNUNET_free ((void*) argv); 376 GNUNET_free ((void*) argv);
367 return 1; 377 return 1;