[tor-dev] Prop279 and DNS

Hugo Landau hlandau at devever.net
Wed Apr 26 08:13:52 UTC 2017

After giving it some thought, I think Tor should use a Tor-specific
protocol to interface with name plugins, not DNS.

My reasoning is as follows: the Tor daemon knows what it wants and is
designed to source specific data from a name plugin. Where Tor specifies
a custom protocol for this, this will match perfectly the type of
queries and type of responses which Tor needs to ultimately obtain and
convert to some corresponding internal in-memory representation.

As such, forcing this made-for-Tor format to be marshalled into a
pre-existing format, namely that of DNS queries and responses, can only
ever reduce the power and flexibility of the plugin interface. It only
creates the potential for impedence discontinuities, and also creates a
substantial nuisance and implementation barrier for plugins which are
intended only for use with the Tor daemon. These plugins would need to
source a DNS packet marshalling/unmarshalling library, which creates an
unnecessary barrier to implementation, and both sides of the interface
would be marshalling into a format which isn't especially aligned with
the internal representations they'd ideally like to be speaking. As
such, using DNS here feels rather pointless.

Looking at the Prop279 proposal as it stands, it would be trivial for a
plugin that wants to work with DNS packets to convert a query to a DNS
packet. As such, I see very little utility to adopting the DNS format
for this.

More information about the tor-dev mailing list