From: michael Date: Sun, 28 Dec 2014 23:52:22 +0000 (+0000) Subject: - firedns.c: fixes to ipv6 support X-Git-Tag: 1.1.0beta1~256 X-Git-Url: http://git.serene-ircd.net/?a=commitdiff_plain;h=9c5cb4753e9a5cafcc3a1d3d158575afed626294;p=hopm.git - firedns.c: fixes to ipv6 support git-svn-id: svn://svn.ircd-hybrid.org/svnroot/hopm/trunk@5183 82007160-df01-0410-b94d-b575c5fd34c7 --- diff --git a/src/firedns.c b/src/firedns.c index 90bed49..df26056 100644 --- a/src/firedns.c +++ b/src/firedns.c @@ -195,7 +195,6 @@ firedns_init(void) while (buf[i] == ' ' || buf[i] == '\t') ++i; - /* glibc /etc/resolv.conf seems to allow ipv6 server names */ if (i6 < FDNS_MAX) { if (inet_pton(AF_INET6, &buf[i], &addr6) > 0) @@ -239,12 +238,6 @@ firedns_init(void) } fclose(f); - - if (i4 == 0 /* (yuck) */ && i6) - { - log_printf("FIREDNS -> No nameservers found in %s", file); - exit(EXIT_FAILURE); - } } /* immediate A query */ @@ -263,6 +256,11 @@ firedns_resolveip4(const char *const name) struct in6_addr * firedns_resolveip6(const char * const name) { + static struct in6_addr addr; + + if (inet_pton(AF_INET6, name, &addr) > 0) + return &addr; + return (struct in6_addr *)firedns_resolveip(FDNS_QRY_AAAA, name); }