djbdns
[Top] [All Lists]

Escaping characters in queries

To: dns@list.cr.yp.to
Subject: Escaping characters in queries
From: "Steve Brown" <sbrown25@gmail.com>
Date: Fri, 26 Jan 2007 10:53:19 -0600
Delivered-to: sp-com-lists@consult.net
Delivered-to: gmail-djbdns@securepoint.com
Delivered-to: sp.com.list@gmail.com
Delivered-to: mailing list dns@list.cr.yp.to
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=UeZahopDeW3SwxSfRKTWB1nNaOfR9NVJThORMjdnsGukHcYyqZpExk7CgfqzCRamYbZKN6k+zjCsAZ5h9KZo6wJgJRRdJMX8AyjZL+xaHUSLQbYZbXCszHcaRaNxIOp+6FEdgMyHznHTsIn/0A0x/ParPuZxbTTKTrM3EG2jIjE=
Domainkey-status: good (test mode)
Mailing-list: contact dns-help@list.cr.yp.to; run by ezmlm
I'm working in setting up DNS for our block of IPs.  I've got forward
resolution working correctly, but the reverse is giving me problems.
This is what I know:

I have a block of IPs that I need to setup reverse lookups for.  My
ISP uses RFC 2317 addresses (yes, I've read
http://homepages.tesco.net/~J.deBoynePollard/FGA/avoid-rfc-2317-delegation.html),
but AT&T is not exactly known for its flexibility and won't change
their delegated addresses.  Here is what I know:

$ dnsq ptr 0.41.190.12.in-addr.arpa. a.root-server.net
12 0.41.190.12.in-addr.arpa:
142 bytes, 1+0+4+0 records, response, noerror
query: 12 0.41.190.12.in-addr.arpa
authority: 12.in-addr.arpa 86400 NS cbru.br.ns.els-gms.att.net

$ dnsq ptr 0.41.190.12.in-addr.arpa cbru.br.ns.els-gms.att.net
12 0.41.190.12.in-addr.arpa:
132 bytes, 1+1+2+0 records, response, noerror
query: 12 0.41.190.12.in-addr.arpa
answer: 0.41.190.12.in-addr.arpa 172800 CNAME 0.0\05728.41.190.12.in-addr.arpa
authority: 0\05728.41.190.12.in-addr.arpa 172800 NS ns1.pairnic.com
authority: 0\05728.41.190.12.in-addr.arpa 172800 NS ns2.pairnic.com

$ dnsq ptr 4.41.190.12.in-addr.arpa cbru.br.ns.els-gms.att.net
12 4.41.190.12.in-addr.arpa:
132 bytes, 1+1+2+0 records, response, noerror
query: 12 4.41.190.12.in-addr.arpa
answer: 4.41.190.12.in-addr.arpa 172800 CNAME 4.0\05728.41.190.12.in-addr.arpa
authority: 0\05728.41.190.12.in-addr.arpa 172800 NS ns1.pairnic.com
authority: 0\05728.41.190.12.in-addr.arpa 172800 NS ns2.pairnic.com

(I know that the nameservers point elsewhere right now; I'm just
setting this up and testing it before I go live with this.)

Here is where the problem starts.  AT&T is actually going to delete
the block 0.0/28.41.190.12.in-addr.arpa to me.  I don't think that '/'
is a valid character in DNS, but it is what it is.  If I do the same
query above with dig, I can see this:

$ dig @cbru.br.ns.els-gms.att.net 4.41.190.12.in-addr.arpa.
...
;; ANSWER SECTION:
4.41.190.12.in-addr.arpa. 172800 IN     CNAME   4.0/28.41.190.12.in-addr.arpa.

So for testing I've added the following to my data file:

##
## Reverse DNS
##
.0.0/28.41.190.12.in-addr.arpa:12.190.41.6:ns1.a3dauto.com:259200
^4.0/28.41.190.12.in-addr.arpa:mail.a3dauto.com:259200

But the problem is that when I query the server:

$ dnsq a 4.0/28.41.190.12.in-addr.arpa. 12.190.41.6

I can see the request in the logs:

0cbe2905:dc2f:afed - 0001 4.0\05728.41.190.12.in-addr.arpa

but there is no response.  Forward lookups work fine, so I know the
service is running, etc.

So my question is what am I missing?  I've tried various combinations
of escaping slashes, using '/' vs. '\057', etc. to no avail.  What
would be the correct manner of handling this bizarre delegation?

Thanks.

<Prev in Thread] Current Thread [Next in Thread>