ttdnsd has concurrency issues
This is with
deb.torproject.org, invoked with:
ttdnsd -P /var/lib/ttdnsd/pid -f /etc/ttdnsd.conf -b 127.0.0.2 -p 53
- Concurrent DNS requests with a non-working DNS server causes
- Concurrent DNS requests with a working DNS server causes no crash, but all requests fail.
ttdnsd crashes reliably when it gets two (or more) concurrent (and distinct) DNS request, e.g:
host torproject.org 127.0.0.2 & host boum.org 127.0.0.2 &
Running ttdnsd with the
-c (no chroot) option seems to prevent the crash, but no circuits are built and nothing is resolved, so
ttdnsd is still useless.
It seems this crash only occurs when
ttdnsd is configured to use a DNS server that blocks the Tor network (it seems like Google's DNS (
18.104.22.168) does this currently). Switching to e.g. OpenDNS (
22.214.171.124) prevents the crash, but...
When using OpenDNS, running the above two commands fails with timeout errors for both requests even though a circuit is built. It seems
ttdnsd can only handle one request at a time; if a request is made while it handles another, both fails.
All this can be reproduced in Tails 0.10.2, but if you wanna try that, first see our ticket about this issue.