summaryrefslogtreecommitdiff
path: root/src/util/resolver_api.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2009-10-08 09:56:40 +0000
committerChristian Grothoff <christian@grothoff.org>2009-10-08 09:56:40 +0000
commita8b0ab037820f6a9f405be3855ce8d3ebbd4399b (patch)
treec1b3289e796025954beb2e3cff8f03736f35d829 /src/util/resolver_api.c
parent71f7875c954a63d6ee5fad97ff97c551015f8a47 (diff)
downloadgnunet-a8b0ab037820f6a9f405be3855ce8d3ebbd4399b.tar.gz
gnunet-a8b0ab037820f6a9f405be3855ce8d3ebbd4399b.zip
fix code for certain types of /etc/hosts files
Diffstat (limited to 'src/util/resolver_api.c')
-rw-r--r--src/util/resolver_api.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/util/resolver_api.c b/src/util/resolver_api.c
index b86e5c666..cc81aa6b8 100644
--- a/src/util/resolver_api.c
+++ b/src/util/resolver_api.c
@@ -311,7 +311,7 @@ GNUNET_RESOLVER_ip_get (struct GNUNET_SCHEDULER_Handle *sched,
311 v6.sin6_len = sizeof(v6); 311 v6.sin6_len = sizeof(v6);
312#endif 312#endif
313 /* first, check if this is a numeric address */ 313 /* first, check if this is a numeric address */
314 if ( ( (domain == AF_UNSPEC) ||(domain == AF_INET) ) && 314 if ( ( (domain == AF_UNSPEC) || (domain == AF_INET) ) &&
315 (0 == inet_pton (AF_INET, 315 (0 == inet_pton (AF_INET,
316 hostname, 316 hostname,
317 &v4.sin_addr)) ) 317 &v4.sin_addr)) )
@@ -319,7 +319,17 @@ GNUNET_RESOLVER_ip_get (struct GNUNET_SCHEDULER_Handle *sched,
319 callback (callback_cls, 319 callback (callback_cls,
320 (const struct sockaddr*) &v4, 320 (const struct sockaddr*) &v4,
321 sizeof(v4)); 321 sizeof(v4));
322 callback (callback_cls, NULL, 0); 322 if ( (domain == AF_UNSPEC) &&
323 (0 == inet_pton (AF_INET6,
324 hostname,
325 &v6.sin6_addr)) )
326 {
327 /* this can happen on some systems IF "hostname" is "localhost" */
328 callback (callback_cls,
329 (const struct sockaddr*) &v6,
330 sizeof(v6));
331 }
332 callback (callback_cls, NULL, 0);
323 return; 333 return;
324 } 334 }
325 if ( ( (domain == AF_UNSPEC) ||(domain == AF_INET) ) && 335 if ( ( (domain == AF_UNSPEC) ||(domain == AF_INET) ) &&