From dc82ca9d80a66ac815706dd216db369f74e369f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A0=D1=83=D1=81=D0=BB=D0=B0=D0=BD=20=D0=98=D0=B6=D0=B1=D1=83=D0=BB=D0=B0=D1=82=D0=BE=D0=B2?= Date: Thu, 2 Dec 2010 21:39:50 +0300 Subject: [PATCH] Fix W32 interface listing, and nat_test (v2) --- src/nat/test_nat.c | 18 ++++++------------ src/util/os_network.c | 4 ++-- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/nat/test_nat.c b/src/nat/test_nat.c index 6f22269..dba4a40 100644 --- a/src/nat/test_nat.c +++ b/src/nat/test_nat.c @@ -76,22 +76,16 @@ process_if (void *cls, { struct addr_cls *data = cls; - if (addr) + if (addr && addrlen > 0) { - data->addr = addr; + if (data->addr) + GNUNET_free (data->addr); + data->addr = memcpy (GNUNET_malloc (addrlen), addr, addrlen); data->addrlen = addrlen; + if (isDefault) + return GNUNET_SYSERR; } - - if (strcmp (name, "eth1") == 0 && addr->sa_family == AF_INET) - return GNUNET_SYSERR; - return GNUNET_OK; - - - if (isDefault && addr) - return GNUNET_SYSERR; - else - return GNUNET_OK; } static void diff --git a/src/util/os_network.c b/src/util/os_network.c index 453eea6..498f6ac 100644 --- a/src/util/os_network.c +++ b/src/util/os_network.c @@ -153,9 +153,9 @@ GNUNET_OS_network_interfaces_list (GNUNET_OS_NetworkInterfaceProcessor proc, if (GNUNET_OK != proc (proc_cls, szEntry, - pAddrTable->table[dwIfIdx].dwIndex == dwExternalNIC, + pTable->table[dwIfIdx].dwIndex == dwExternalNIC, (const struct sockaddr *) &sa, - 0)) + sizeof (sa))) break; } } -- 1.7.3.1.msysgit.0