X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Futil%2Ftest_os_network.c;h=4486e6a998fc12ddade158d438a2fafa42459112;hb=c8b9d46688bca0d65c5319041228e95de7a19dab;hp=e92eba2c96a58af20d9c96a566156a5ea7058976;hpb=38b29592cf2e8b816cab68579e07e2477153f739;p=oweals%2Fgnunet.git diff --git a/src/util/test_os_network.c b/src/util/test_os_network.c index e92eba2c9..4486e6a99 100644 --- a/src/util/test_os_network.c +++ b/src/util/test_os_network.c @@ -26,7 +26,7 @@ #include "gnunet_configuration_lib.h" #include "gnunet_os_lib.h" -#define VERBOSE 0 +#define VERBOSE 1 /** * Check if the address we got is IPv4 or IPv6 loopback (which should @@ -34,21 +34,31 @@ * (success). */ static int -proc (void *cls, - const char *name, - int isDefault, const struct sockaddr *addr, socklen_t addrlen) +proc (void *cls, const char *name, int isDefault, const struct sockaddr *addr, + const struct sockaddr *broadcast_addr, const struct sockaddr *netmask, + socklen_t addrlen) { int *ok = cls; char buf[INET6_ADDRSTRLEN]; if (NULL == addr) return GNUNET_OK; +#if VERBOSE + const char * protocol; + if (addrlen == sizeof (struct sockaddr_in)) + protocol = "IPv4"; + else + protocol = "IPv6"; + printf ("%s Address `%s'\n", protocol, GNUNET_a2s ((const struct sockaddr *) addr,addrlen) ); + printf (" Netmask `%s'\n", GNUNET_a2s ((const struct sockaddr *) netmask, addrlen) ); + printf (" Broadcast `%s'\n", GNUNET_a2s ((const struct sockaddr *) broadcast_addr,addrlen) ); +#endif inet_ntop (addr->sa_family, - (addr->sa_family == AF_INET) ? - (void *) &((struct sockaddr_in *) addr)->sin_addr : - (void *) &((struct sockaddr_in6 *) addr)->sin6_addr, - buf, sizeof (buf)); + (addr->sa_family == + AF_INET) ? (void *) &((struct sockaddr_in *) addr)->sin_addr + : (void *) &((struct sockaddr_in6 *) addr)->sin6_addr, buf, + sizeof (buf)); if ((0 == strcmp ("::1", buf)) || (0 == strcmp ("127.0.0.1", buf))) *ok = 0; return GNUNET_OK;