diff options
author | Christian Grothoff <christian@grothoff.org> | 2009-10-08 09:56:40 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2009-10-08 09:56:40 +0000 |
commit | a8b0ab037820f6a9f405be3855ce8d3ebbd4399b (patch) | |
tree | c1b3289e796025954beb2e3cff8f03736f35d829 /src/util/resolver_api.c | |
parent | 71f7875c954a63d6ee5fad97ff97c551015f8a47 (diff) | |
download | gnunet-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.c | 14 |
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) ) && |