/*
This file is part of GNUnet.
- Copyright (C) 2009, 2014 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2009, 2014 GNUnet e.V.
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
You should have received a copy of the GNU General Public License
along with GNUnet; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
*/
/**
* @file arm/test_gnunet_service_arm.c
static void
-trigger_disconnect (void *cls,
- const struct GNUNET_SCHEDULER_TaskContext *tc)
+trigger_disconnect (void *cls)
{
GNUNET_ARM_disconnect_and_free (arm);
arm = NULL;
strcpy (hostname,
"www.gnu.org");
}
- if (NULL == gethostbyname (hostname))
+ /* trigger DNS lookup */
+#if HAVE_GETADDRINFO
{
- FPRINTF (stderr,
- "Failed to resolve my hostname `%s', testcase not run.\n",
- hostname);
- return 0;
+ struct addrinfo *ai;
+ int ret;
+
+ if (0 != (ret = getaddrinfo (hostname, NULL, NULL, &ai)))
+ {
+ FPRINTF (stderr,
+ "Failed to resolve my hostname `%s', testcase not run.\n",
+ hostname);
+ return 0;
+ }
+ freeaddrinfo (ai);
+ }
+#elif HAVE_GETHOSTBYNAME2
+ {
+ struct hostent *host;
+
+ host = gethostbyname2 (hostname, AF_INET);
+ if (NULL == host)
+ host = gethostbyname2 (hostname, AF_INET6);
+ if (NULL == host)
+ {
+ FPRINTF (stderr,
+ "Failed to resolve my hostname `%s', testcase not run.\n",
+ hostname);
+ return 0;
+ }
+ }
+#elif HAVE_GETHOSTBYNAME
+ {
+ struct hostent *host;
+
+ host = gethostbyname (hostname);
+ if (NULL == host)
+ {
+ FPRINTF (stderr,
+ "Failed to resolve my hostname `%s', testcase not run.\n",
+ hostname);
+ return 0;
+ }
}
+#else
+ FPRINTF (stderr,
+ "libc fails to have resolver function, testcase not run.\n");
+ return 0;
+#endif
GNUNET_log_setup ("test-gnunet-service-arm",
"WARNING",
NULL);