Hi Jeff,

I have some questions about how NameSubstitution rules work in some edge cases:

On 27 Sep 2015, at 19:47, Jeff Burdges <burdges@gnunet.org> wrote:
...
Configuration

 We propose two Tor configuration options :

   NameSubstitution [.]source_dnspath [.]target_dnspath
   NameService [.]dnspath socketspec
     [noncannonical] [timeout=num]
     [-- service specific options]

 We require that socketspec be either the path to a UNIX domain socket 
 or an address of the form IP:port.  We also require that that each
 *dnspath be a string conforming to RFC 952 and RFC 1123 sec. 2.1.
 In other words, a dnsspec consists of a series of labels separated by
 periods . with each label of up to 63 characters consisting of the 
 letters a-z in a case insensitive mannor, the digits 0-9, and the
 hyphen -, but hyphens may not appear at the beginning or end of labels.

 NameSubstitution rules are applied only to DNS query strings provided
 by the user, not CNAME results.  If a trailing substring of a query
 matches source_dnspath then it is replaced by target_dnspath.

 NameService rules route matching query to to appropriate name service
 supplier software.  If a trailing substring of a query matches dnspath,
 then a query is sent to the socketspec using the RPC protcol descrived
 below.  Of course, NameService rules are applied only after all the
 NameSubstitution rules.

Are multiple NameSubstitution rules applied in the order they are listed?

For example:
NameSubstitution .com .net
NameSubstitution .example.net .example.org

What does foo.example.com get transformed into?


Are trailing periods significant?

For example:
NameSubstitution .com .net

What does example.com. get transformed into?

For example:
NameSubstitution .com. .net.

What does example.com get transformed into?


Are leading periods significant?

For example:
NameSubstitution com net

What does example.com get transformed into?
What does foo.viacom get transformed into?


Are duplicate rules significant?

For example:
NameSubstitution .com .com.com
NameSubstitution .com .com.com

What does example.com get transformed into?


Is there a length limit for the final query?
(DNS names are limited to 255 characters.)

For example:
NameSubstitution .a .<254 characters>

What does <253 characters>.a get transformed into?


Tim

Tim Wilson-Brown (teor)

teor2345 at gmail dot com
PGP 968F094B

teor at blah dot im
OTR CAD08081 9755866D 89E2A06F E3558B7F B5A9D14F