On 18/03/2011 15:24, Andy Smith wrote:
On further investigation it seems that there's
some bug in PowerDNS
regarding DNS names (the bit on the left hand side) with "\032" in them.
At the moment the impact is that if you have a DNS
zone with
something like this in it:
foo\032bar._http._tcp SRV 0 0 10
baz.example.com.
then it will get stored in
b.authns.bitfolk.com and
c.authns.bitfolk.com as:
foo bar._http._tcp SRV 0 0 10
baz.example.com.
This is incorrect.
Although it's apparent there's a genuine bug somewhere, I think the
query tools (dig,host,nslookup) are counter-intuitive here. I would
always read "\032" as an octal escape, but apparently that's how
these tools present a space characters (plain ascii decimal 32).
Your example of "foo bar" being stored then seems to be correct -
how are you distinguishing "stored" v. "presented by query tool"?
If you're looking at the raw data in sqlite I'd be unsurprised to
find real spaces there. At which edges of the various services are
these transformations being applied, I wonder?
(I just tried both of these in my main zone file:
spaced\ out IN CNAME @
spaced\032out2 IN CNAME @
- both then are queryable with either " " or "\\032" in the name,
and always return the escaped version. strace/tcpdump show the wire
traffic as using real spaces.)
--
James Beckett <jmb(a)hackery.net>
PGP:
http://bit.ly/0xEBFE16CF838EC5DA