*/
#include "platform.h"
#include "gnunet_getopt_lib.h"
+#include "gnunet_os_lib.h"
#include "gnunet_client_lib.h"
#include "gnunet_protocols.h"
#include "gnunet_resolver_service.h"
_("Timeout trying to resolve hostname `%s'.\n"),
rh->hostname);
rh->addr_callback (rh->cls, NULL, 0);
- GNUNET_CLIENT_disconnect (rh->client);
+ GNUNET_CLIENT_disconnect (rh->client, GNUNET_NO);
GNUNET_free (rh);
return;
}
{
GNUNET_break (0);
rh->addr_callback (rh->cls, NULL, 0);
- GNUNET_CLIENT_disconnect (rh->client);
+ GNUNET_CLIENT_disconnect (rh->client, GNUNET_NO);
GNUNET_free (rh);
return;
}
rh->hostname);
#endif
rh->addr_callback (rh->cls, NULL, 0);
- GNUNET_CLIENT_disconnect (rh->client);
+ GNUNET_CLIENT_disconnect (rh->client, GNUNET_NO);
GNUNET_free (rh);
return;
}
{
GNUNET_break (0);
rh->addr_callback (rh->cls, NULL, 0);
- GNUNET_CLIENT_disconnect (rh->client);
+ GNUNET_CLIENT_disconnect (rh->client, GNUNET_NO);
GNUNET_free (rh);
return;
}
&handle_address_response, rh))
{
GNUNET_free (rh);
- GNUNET_CLIENT_disconnect (client);
+ GNUNET_CLIENT_disconnect (client, GNUNET_NO);
return NULL;
}
return rh;
_("Timeout trying to resolve IP address `%s'.\n"),
GNUNET_a2s ((const void*) &rh[1], rh->salen));
rh->name_callback (rh->cls, NULL);
- GNUNET_CLIENT_disconnect (rh->client);
+ GNUNET_CLIENT_disconnect (rh->client, GNUNET_NO);
GNUNET_free (rh);
return;
}
GNUNET_a2s ((const void*) &rh[1], rh->salen));
#endif
rh->name_callback (rh->cls, NULL);
- GNUNET_CLIENT_disconnect (rh->client);
+ GNUNET_CLIENT_disconnect (rh->client, GNUNET_NO);
GNUNET_free (rh);
return;
}
{
GNUNET_break (0);
rh->name_callback (rh->cls, NULL);
- GNUNET_CLIENT_disconnect (rh->client);
+ GNUNET_CLIENT_disconnect (rh->client, GNUNET_NO);
GNUNET_free (rh);
return;
}
GNUNET_YES,
&handle_hostname_response, rh))
{
- GNUNET_CLIENT_disconnect (client);
+ GNUNET_CLIENT_disconnect (client, GNUNET_NO);
GNUNET_free (rh);
return NULL;
}
/**
- * Perform a reverse DNS lookup.
+ * Get local hostname
+ *
+ * @param
+ */
+char *
+GNUNET_RESOLVER_local_hostname_get ( )
+{
+
+ char hostname[GNUNET_OS_get_hostname_max_length() + 1];
+
+
+ if (0 != gethostname (hostname, sizeof (hostname) - 1))
+ {
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR |
+ GNUNET_ERROR_TYPE_BULK, "gethostname");
+ return NULL;
+ }
+#if DEBUG_RESOLVER
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ _("Resolving our hostname `%s'\n"), hostname);
+#endif
+ return GNUNET_strdup (hostname);
+}
+
+/**
+ * Looking our own hostname.
*
* @param sched scheduler to use
* @param cfg configuration to use
GNUNET_RESOLVER_AddressCallback callback,
void *cls)
{
- char hostname[MAX_HOSTNAME];
+ char hostname[GNUNET_OS_get_hostname_max_length() + 1];
check_config (cfg);
if (0 != gethostname (hostname, sizeof (hostname) - 1))
GNUNET_RESOLVER_request_cancel (struct GNUNET_RESOLVER_RequestHandle *h)
{
if (h->client != NULL)
- GNUNET_CLIENT_disconnect (h->client);
+ GNUNET_CLIENT_disconnect (h->client, GNUNET_NO);
if (h->task != GNUNET_SCHEDULER_NO_TASK)
GNUNET_SCHEDULER_cancel (h->sched, h->task);
GNUNET_free (h);