struct GNUNET_NAT_Test *h = cls;
const struct sockaddr_in *sa;
- if (addrlen != sizeof (struct sockaddr_in))
+ if (sizeof (struct sockaddr_in) != addrlen)
return;
sa = (const struct sockaddr_in *) addr;
if (h->data != sa->sin_port)
return; /* wrong port */
}
/* report success */
- h->report (h->report_cls, GNUNET_OK);
+ h->report (h->report_cls, GNUNET_NAT_ERROR_SUCCESS);
}
* @param tc scheduler context
*/
static void
-do_udp_read (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+do_udp_read (void *cls,
+ const struct GNUNET_SCHEDULER_TaskContext *tc)
{
struct GNUNET_NAT_Test *tst = cls;
uint16_t data;
GNUNET_NETWORK_socket_recv (tst->lsock, &data, sizeof (data))))
{
if (data == tst->data)
- tst->report (tst->report_cls, GNUNET_OK);
+ tst->report (tst->report_cls, GNUNET_NAT_ERROR_SUCCESS);
else
LOG (GNUNET_ERROR_TYPE_DEBUG,
"Received data mismatches expected value\n");
GNUNET_NETWORK_socket_recv (na->sock, &data, sizeof (data))))
{
if (data == tst->data)
- tst->report (tst->report_cls, GNUNET_OK);
+ tst->report (tst->report_cls, GNUNET_NAT_ERROR_SUCCESS);
else
LOG (GNUNET_ERROR_TYPE_DEBUG,
- "Received data mismatches expected value\n");
+ "Received data does not match expected value\n");
}
else
LOG (GNUNET_ERROR_TYPE_DEBUG,
wl->sock = s;
wl->h = tst;
wl->rtask =
- GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_UNIT_FOREVER_REL, wl->sock,
- &do_read, wl);
+ GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_UNIT_FOREVER_REL,
+ wl->sock,
+ &do_read, wl);
GNUNET_CONTAINER_DLL_insert (tst->na_head, tst->na_tail, wl);
}
GNUNET_a2s (addr, addrlen));
return; /* ignore IPv6 here */
}
- LOG (GNUNET_ERROR_TYPE_DEBUG, "Asking gnunet-nat-server to connect to `%s'\n",
+ LOG (GNUNET_ERROR_TYPE_INFO,
+ "Asking gnunet-nat-server to connect to `%s'\n",
GNUNET_a2s (addr, addrlen));
sa = (const struct sockaddr_in *) addr;
msg.header.size = htons (sizeof (struct GNUNET_NAT_TestMessage));
ret->adv_port = adv_port;
ret->report = report;
ret->report_cls = report_cls;
- if (bnd_port == 0)
+ if (0 == bnd_port)
{
ret->nat =
GNUNET_NAT_register (cfg, is_tcp, 0, 0, NULL, NULL, &addr_cb,
"NAT test listens on port %u (%s)\n",
bnd_port,
(GNUNET_YES == is_tcp) ? "tcp" : "udp");
- ret->nat =
- GNUNET_NAT_register (cfg, is_tcp, adv_port, 1, addrs, addrlens,
+ ret->nat = GNUNET_NAT_register (cfg, is_tcp, adv_port, 1, addrs, addrlens,
&addr_cb, NULL, ret);
+ if (NULL == ret->nat)
+ {
+ LOG (GNUNET_ERROR_TYPE_ERROR,
+ _("NAT test failed to start NAT library\n"));
+ if (GNUNET_SCHEDULER_NO_TASK != ret->ltask)
+ GNUNET_SCHEDULER_cancel (ret->ltask);
+ if (NULL != ret->lsock)
+ GNUNET_NETWORK_socket_close (ret->lsock);
+ GNUNET_free (ret);
+ return NULL;
+ }
}
return ret;
}