asserts
[oweals/gnunet.git] / src / util / resolver_api.c
index 96396bfcccc7a61ade1c5c0cd65bc91cdecbe66f..94844289e261c2141cca2a199671ec1ca6144a37 100644 (file)
@@ -669,35 +669,35 @@ GNUNET_RESOLVER_hostname_get (struct GNUNET_SCHEDULER_Handle *sched,
 
 
 /**
- * Get local hostname
- *
- * @param sched scheduler to use
- * @param cfg configuration to use
- * @param callback function to call with addresses
- * @param cls closure for callback
- * @return handle that can be used to cancel the request, NULL on error
+ * Get local fully qualified domain name
+ * @return fqdn
  */
-void
-GNUNET_RESOLVER_local_hostname_get (struct GNUNET_SCHEDULER_Handle *sched,
-                                    const struct GNUNET_CONFIGURATION_Handle *cfg,
-                                    GNUNET_RESOLVER_HostnameCallback callback,
-                                    void *cls)
+char *
+GNUNET_RESOLVER_local_fqdn_get ( void )
 {
-
+  struct hostent *host;
   char hostname[GNUNET_OS_get_hostname_max_length() + 1];
 
-  check_config (cfg);
+
   if (0 != gethostname (hostname, sizeof (hostname) - 1))
     {
       GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR |
                            GNUNET_ERROR_TYPE_BULK, "gethostname");
-      return;
+      return NULL;
     }
 #if DEBUG_RESOLVER
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-              _("Resolving our hostname `%s'\n"), hostname);
+              _("Resolving our FQDN `%s'\n"), hostname);
 #endif
-  callback (cls, hostname);
+  host = gethostbyname ( hostname );
+  if ( NULL == host)
+  {
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                _("Could not resolve our FQDN : %s\n"),
+                hstrerror (h_errno));
+    return NULL;
+  }
+  return GNUNET_strdup (host->h_name);
 }
 
 /**