Skip to content

Tor relays fail to understand /etc/resolv.conf ipv6 lines with % in them

We had a relay operator on irc just now who has this line in their /etc/resolv.conf:

nameserver fe80::7e2ebdff:fe99:4cb9%enp2s0

Apparently this is a totally normal thing: the % indicates a link local name server.

Two more hints that % is a standard thing:

Tor is unable to handle this % syntax in a resolv.conf line:

Jan 25 17:03:00.171 [warn] eventdns: Unable to parse nameserver address fe80::7e2ebdff:fe99:4cb9%enp2s0

It's not as bad as it could be, because Tor skips that line and uses whatever other lines there are. But (a) maybe we're not doing as well as we can do, and (b) maybe there are situations where that's the only configured nameserver and everything works on the host except Tor doesn't.

I think technically this might be a libevent bug (aka missing feature), since it's libevent's evdns_base_nameserver_ip_add() which calls evutil_parse_sockaddr_port() which helpfully explains that

        /* recognized formats are:
         * [ipv6]:port
         * ipv6
         * [ipv6]
         * ipv4:port
         * ipv4
         */

none of which are the % syntax. But I will file it here as a Tor ticket, since it's a Tor bug too, and then we can figure out where best to fix it.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information