[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r9313 - gnunet/src/nat
From: |
gnunet |
Subject: |
[GNUnet-SVN] r9313 - gnunet/src/nat |
Date: |
Mon, 26 Oct 2009 05:09:08 -0600 |
Author: moon
Date: 2009-10-26 05:09:08 -0600 (Mon, 26 Oct 2009)
New Revision: 9313
Modified:
gnunet/src/nat/nat.c
Log:
fix handling of NULL addr argument
Modified: gnunet/src/nat/nat.c
===================================================================
--- gnunet/src/nat/nat.c 2009-10-26 09:27:12 UTC (rev 9312)
+++ gnunet/src/nat/nat.c 2009-10-26 11:09:08 UTC (rev 9313)
@@ -312,17 +312,25 @@
{
GNUNET_assert (addr->sa_family == AF_INET
|| addr->sa_family == AF_INET6);
+ nat->local_addr = GNUNET_malloc (addrlen);
+ memcpy (nat->local_addr, addr, addrlen);
+
if (addr->sa_family == AF_INET)
{
nat->public_port = ntohs (((struct sockaddr_in *) addr)->sin_port);
-// ((struct sockaddr_in *) addr)->sin_port = 0;
+ ((struct sockaddr_in *) nat->local_addr)->sin_port = 0;
}
else if (addr->sa_family == AF_INET6)
{
nat->public_port = ntohs (((struct sockaddr_in6 *) addr)->sin6_port);
-// ((struct sockaddr_in6 *) addr)->sin6_port = 0;
+ ((struct sockaddr_in6 *) nat->local_addr)->sin6_port = 0;
}
}
+ else
+ {
+ nat->local_addr = NULL;
+ nat->public_port = 0;
+ }
nat->should_change = GNUNET_YES;
nat->sched = sched;
@@ -333,8 +341,6 @@
nat->callback_cls = callback_cls;
nat->ext_addr = NULL;
nat->contact_addr = NULL;
- nat->local_addr = GNUNET_malloc (addrlen);
- memcpy (nat->local_addr, addr, addrlen);
nat->natpmp = GNUNET_NAT_NATPMP_init (nat->local_addr, addrlen,
nat->public_port);
nat->upnp = GNUNET_NAT_UPNP_init (nat->local_addr, addrlen,
nat->public_port);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r9313 - gnunet/src/nat,
gnunet <=