-remove debug message
[oweals/gnunet.git] / src / util / test_os_network.c
1 /*
2      This file is part of GNUnet.
3      Copyright (C) 2003, 2004, 2005, 2006, 2009 GNUnet e.V.
4
5      GNUnet is free software: you can redistribute it and/or modify it
6      under the terms of the GNU Affero General Public License as published
7      by the Free Software Foundation, either version 3 of the License,
8      or (at your option) any later version.
9
10      GNUnet is distributed in the hope that it will be useful, but
11      WITHOUT ANY WARRANTY; without even the implied warranty of
12      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13      Affero General Public License for more details.
14
15      You should have received a copy of the GNU Affero General Public License
16      along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
18      SPDX-License-Identifier: AGPL3.0-or-later
19  */
20 /**
21  * @file util/test_os_network.c
22  * @brief testcase for util/os_network.c
23  */
24 #include "platform.h"
25 #include "gnunet_util_lib.h"
26
27
28 /**
29  * Check if the address we got is IPv4 or IPv6 loopback (which should
30  * be present on all systems at all times); if so, set ok to 0
31  * (success).
32  */
33 static int
34 proc (void *cls,
35       const char *name,
36       int isDefault,
37       const struct sockaddr *addr,
38       const struct sockaddr *broadcast_addr,
39       const struct sockaddr *netmask,
40       socklen_t addrlen)
41 {
42   int *ok = cls;
43   char buf[INET6_ADDRSTRLEN];
44   const char *protocol;
45
46   if (NULL == addr)
47     return GNUNET_OK;
48   if (addrlen == sizeof(struct sockaddr_in))
49     protocol = "IPv4";
50   else
51     protocol = "IPv6";
52   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
53               "%s Address `%s'\n",
54               protocol,
55               GNUNET_a2s ((const struct sockaddr *) addr,
56                           addrlen));
57   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
58               "Netmask `%s'\n",
59               GNUNET_a2s ((const struct sockaddr *) netmask,
60                           addrlen));
61   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
62               "`%s'\n",
63               GNUNET_a2s ((const struct sockaddr *) broadcast_addr,
64                           addrlen));
65   inet_ntop (addr->sa_family,
66              (addr->sa_family ==
67               AF_INET) ? (void *) &((struct sockaddr_in *) addr)->sin_addr
68              : (void *) &((struct sockaddr_in6 *) addr)->sin6_addr, buf,
69              sizeof(buf));
70   if ((0 == strcmp ("::1", buf)) || (0 == strcmp ("127.0.0.1", buf)))
71     *ok = 0;
72   return GNUNET_OK;
73 }
74
75
76 int
77 main (int argc, char *argv[])
78 {
79   int ret;
80
81   GNUNET_log_setup ("test-os-network",
82                     "WARNING",
83                     NULL);
84   ret = 1;
85   GNUNET_OS_network_interfaces_list (&proc,
86                                      &ret);
87   return ret;
88 }
89
90
91 /* end of test_os_network.c */