if any DNS client such as dnsqr or rblsmtpd connects to dnscache on ::1 instead of 127.0.0.1, the connection is refused. this happens e.g. when /etc/resolv.conf is deleted or empty. there is no documentation i can find for how to whitelist ::1 in root/ip, but i have tried simply placing an empty file named ::1 in root/ip, with no effect. Reproducible: Always Steps to Reproduce: # sh -c 'dnsqr any gentoo.org &'; netstat -np |fgrep dnsqr; sleep 20 udp 0 0 ::1:20147 ::1:53 ESTABLISHED 18968/dnsqr 255 gentoo.org: connection refused # ls /var/dnscache/root/ip 127.0.0.1 ::1 other programs such as ping have no trouble resolving DNS queries because they connect on 127.0.0.1. placing "nameserver 127.0.0.1" in /etc/resolv.conf cures the problem as it causes dnsqr & family to connect on 127.0.0.1. the bottom line is that there seems to be no way to tell dnscache to accept connections on ipv6 addresses.
This is not Gentoo specific. Please contact the upstream developer of the IPv6 patch, Felix von Leitner: http://www.fefe.de/dns/
could someone formally involved with gentoo please try? i already contacted Felix prior to submitting this bug report and i don't think he believes me. if upstream won't do anything, what do we do?
reopening b/c upstream is non-responsive
my apologies, i have too many systems with divergent configurations :) the solution is to set $IP to ::1 when running dnscache. dnsqr & family happily default to connecting to ::1 when /etc/resolv.conf is absent, while other programs like ping and telnet use 127.0.0.1 when /etc/resolv.conf is absent, so it becomes necessary to explicitly choose one or the other as nameserver in /etc/resolv.conf, and set $IP to match.