diff options
author | Moon <moon@140774ce-b5e7-0310-ab8b-a85725594a96> | 2010-10-09 13:53:47 +0000 |
---|---|---|
committer | Moon <moon@140774ce-b5e7-0310-ab8b-a85725594a96> | 2010-10-09 13:53:47 +0000 |
commit | 922a0672749ba9d496d1dd8f6596bb4f8035e71d (patch) | |
tree | ccd4b351bd5acd5cc3b8b1cc358c712d6c0c116d /src/nat/test_nat.c | |
parent | dc24b5bf44bf8d9460b2571fe529403637aa3e16 (diff) | |
download | gnunet-922a0672749ba9d496d1dd8f6596bb4f8035e71d.tar.gz gnunet-922a0672749ba9d496d1dd8f6596bb4f8035e71d.zip |
rework UPnP code to use GNUnet scheduler and network API
disable NAT-PMP support for now
Diffstat (limited to 'src/nat/test_nat.c')
-rw-r--r-- | src/nat/test_nat.c | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/src/nat/test_nat.c b/src/nat/test_nat.c index f4f0b62ea..e42d76b7f 100644 --- a/src/nat/test_nat.c +++ b/src/nat/test_nat.c | |||
@@ -41,14 +41,13 @@ | |||
41 | #include "gnunet_nat_lib.h" | 41 | #include "gnunet_nat_lib.h" |
42 | 42 | ||
43 | /* Time to wait before stopping NAT, in seconds */ | 43 | /* Time to wait before stopping NAT, in seconds */ |
44 | #define TIMEOUT 30 | 44 | #define TIMEOUT 60 |
45 | 45 | ||
46 | struct addr_cls | 46 | struct addr_cls |
47 | { | 47 | { |
48 | const struct sockaddr *addr; | 48 | const struct sockaddr *addr; |
49 | socklen_t addrlen; | 49 | socklen_t addrlen; |
50 | }; | 50 | }; |
51 | //typedef addr_cls addr_cls; | ||
52 | 51 | ||
53 | static void | 52 | static void |
54 | addr_callback (void *cls, int add_remove, | 53 | addr_callback (void *cls, int add_remove, |
@@ -73,9 +72,7 @@ stop (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
73 | static int | 72 | static int |
74 | process_if (void *cls, | 73 | process_if (void *cls, |
75 | const char *name, | 74 | const char *name, |
76 | int isDefault, | 75 | int isDefault, const struct sockaddr *addr, socklen_t addrlen) |
77 | const struct sockaddr *addr, | ||
78 | socklen_t addrlen) | ||
79 | { | 76 | { |
80 | struct addr_cls *data = cls; | 77 | struct addr_cls *data = cls; |
81 | 78 | ||
@@ -85,6 +82,12 @@ process_if (void *cls, | |||
85 | data->addrlen = addrlen; | 82 | data->addrlen = addrlen; |
86 | } | 83 | } |
87 | 84 | ||
85 | if (strcmp (name, "eth1") == 0 && addr->sa_family == AF_INET) | ||
86 | return GNUNET_SYSERR; | ||
87 | |||
88 | return GNUNET_OK; | ||
89 | |||
90 | |||
88 | if (isDefault && addr) | 91 | if (isDefault && addr) |
89 | return GNUNET_SYSERR; | 92 | return GNUNET_SYSERR; |
90 | else | 93 | else |
@@ -107,7 +110,8 @@ run (void *cls, | |||
107 | GNUNET_OS_network_interfaces_list (process_if, &data); | 110 | GNUNET_OS_network_interfaces_list (process_if, &data); |
108 | if (!data.addr) | 111 | if (!data.addr) |
109 | { | 112 | { |
110 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not find a valid interface address!\n"); | 113 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
114 | "Could not find a valid interface address!\n"); | ||
111 | exit (GNUNET_SYSERR); | 115 | exit (GNUNET_SYSERR); |
112 | } | 116 | } |
113 | 117 | ||
@@ -120,14 +124,17 @@ run (void *cls, | |||
120 | else | 124 | else |
121 | ((struct sockaddr_in6 *) addr)->sin6_port = htons (2086); | 125 | ((struct sockaddr_in6 *) addr)->sin6_port = htons (2086); |
122 | 126 | ||
123 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Requesting NAT redirection from address %s...\n", GNUNET_a2s (addr, data.addrlen)); | 127 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
128 | "Requesting NAT redirection from address %s...\n", | ||
129 | GNUNET_a2s (addr, data.addrlen)); | ||
124 | 130 | ||
125 | nat = GNUNET_NAT_register (sched, addr, data.addrlen, addr_callback, NULL); | 131 | nat = GNUNET_NAT_register (sched, addr, data.addrlen, addr_callback, NULL); |
126 | GNUNET_free (addr); | 132 | GNUNET_free (addr); |
127 | 133 | ||
128 | GNUNET_SCHEDULER_add_delayed (sched, | 134 | GNUNET_SCHEDULER_add_delayed (sched, |
129 | GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, TIMEOUT), | 135 | GNUNET_TIME_relative_multiply |
130 | stop, nat); | 136 | (GNUNET_TIME_UNIT_SECONDS, TIMEOUT), stop, |
137 | nat); | ||
131 | } | 138 | } |
132 | 139 | ||
133 | int | 140 | int |