[tor-bugs] #21900 [Core Tor/Tor]: evdns fails when resolv.conf is missing, but succeeds when resolv.conf is empty
Tor Bug Tracker & Wiki
blackhole at torproject.org
Mon Aug 13 14:27:11 UTC 2018
#21900: evdns fails when resolv.conf is missing, but succeeds when resolv.conf is
empty
-------------------------------------------------+-------------------------
Reporter: teor | Owner: rl1987
Type: defect | Status:
| accepted
Priority: Medium | Milestone: Tor:
| unspecified
Component: Core Tor/Tor | Version:
Severity: Normal | Resolution:
Keywords: technical-debt, dns, crash, tor- | Actual Points:
relay, macos, 032-unreached |
Parent ID: | Points: 2
Reviewer: | Sponsor:
-------------------------------------------------+-------------------------
Comment (by rl1987):
To reproduce, run:
{{{
src/app/tor -ORPort 4430 -ServerDNSResolvConfFile no_such_file -SOCKSPort
9053 -Log debug
}}}
and
{{{
src/app/tor -ORPort 4430 -ServerDNSResolvConfFile /dev/null -SOCKSPort
9053 -Log debug
}}}
The latter yields (on my macOS system):
{{{
Aug 13 17:07:34.000 [debug] configure_nameservers: stat()ing /dev/null
Aug 13 17:07:34.000 [info] configure_nameservers: Parsing resolver
configuration in '/dev/null'
Aug 13 17:07:34.000 [info] eventdns: Parsing resolv.conf file /dev/null
Aug 13 17:07:34.000 [info] eventdns: Added nameserver 127.0.0.1:53 as
0x7fa1201bc490
Aug 13 17:07:34.000 [warn] Unable to parse '/dev/null', or no nameservers
in '/dev/null' (6)
Aug 13 17:07:34.000 [info] mark_my_descriptor_dirty: Decided to publish
new relay descriptor: dns resolvers failed
Aug 13 17:07:34.000 [warn] Couldn't set up any working nameservers.
Network not up yet? Will try again soon.
}}}
Note that empty resolv.conf is still treated as error condition - by
libevent code, not by tor. Libevent also falls back to including 127.0.0.1
as default DNS server. See
https://github.com/libevent/libevent/blob/master/evdns.c#L3649
So I suppose we should:
* When resolv.conf is empty or non-existant:
* Don't `goto err`
* Add 127.0.0.1 to list of DNS servers.
* Print a scary warning.
* Mention the above behavior in manpage.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/21900#comment:9>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list