On Feb 22, 2013, at 8:49 AM, Joe Abley <jab...@hopcount.ca> wrote:

> 
> On 2013-02-22, at 09:39, Mark Andrews <ma...@isc.org> wrote:
> 
>> I can well imagine a machine doing a reverse lookup on a proposed
>> address and not proceeding with that address if it doesn't get a
>> NXDOMAIN.
>> 
>>      NODATA -> unsafe
>>      NXDOMAIN -> may be safe
> 
> So, out of interest, do you think it's legitimate for an omniscient server to 
> return something like this? (note the RCODE and the SOA RRSet returned in the 
> authority section)
> 
> ;; Got answer:
> ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 41208
> ;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
> ;; WARNING: recursion requested but not available
> 
> ;; QUESTION SECTION:
> ;1.1.1.10.in-addr.arpa.               IN      PTR
> 
> ;; AUTHORITY SECTION:
> 1.1.1.10.in-addr.arpa.        604800  IN      SOA     prisoner.iana.org. 
> hostmaster.root-servers.org. 1 1800 900 604800 604800
> 
> ;; Query time: 3 msec
> ;; SERVER: 192.175.48.6#53(192.175.48.6)
> ;; WHEN: Fri Feb 22 13:45:36 2013
> ;; MSG SIZE  rcvd: 116
> 
> That would be a simple change to the spec. We chose NOERROR/ANSWER:0 because 
> we thought it didn't make sense to say NXDOMAIN whilst at the same time 
> synthesising an authority-section SOA with the same owner name as the QNAME 
> when the RCODE we're returning indicates that that owner name doesn't exist.


Yup, the change to the spec and the change to the code are both simple.
I also changed the TTLs to match what I got when querying AS112 (not because I 
necessarily think that they are the right numbers, just as an example)

----------------------------
wkumari@dns-test:~/tmp/evldns$ diff -Naur oas112d.c oas112d.c.orig 
--- oas112d.c   2013-02-22 19:02:36.875829849 +0000
+++ oas112d.c.orig      2013-02-22 18:35:52.546628018 +0000
@@ -33,7 +33,7 @@
 #include <ctype.h>
 #include <evldns.h>
 
-static char *t_soa = "@ SOA a.as112.net. hostmaster.as112.net. 1 1800 900 
0604800 604800";
+static char *t_soa = "@ SOA a.as112.net. hostmaster.as112.net. 1 604800 
2592000 0604800 604800";
 static char *t_ns1 = "@ NS b.as112.net.";
 static char *t_ns2 = "@ NS c.as112.net.";
 
@@ -57,7 +57,7 @@
        ldns_pkt *req = srq->request;
 
        /* the default response packet */
-       ldns_pkt *resp = srq->response = evldns_response(req, 
LDNS_RCODE_NXDOMAIN);
+       ldns_pkt *resp = srq->response = evldns_response(req, 
LDNS_RCODE_NOERROR);
 
        /* copy the question and determine qtype and qname */
        ldns_rr *question = ldns_rr_list_rr(ldns_pkt_question(req), 0);
-------------------------


The NOERROR version can be seen by querying  scratch-monkey.kumari.net, the 
NXDOMAIN by querying dns-test.snozzages.com


> As someone familiar with implementing the receiver side of this hack, 
> would/should this negative answer be cached?

Folk are welcome to test against these and see how their particualr resolvers 
cache….

W

> 
> 
> Joe
> _______________________________________________
> DNSOP mailing list
> DNSOP@ietf.org
> https://www.ietf.org/mailman/listinfo/dnsop
> 

-- 
No man is an island, But if you take a bunch of dead guys and tie them 
together, they make a pretty good raft.
                --Anon.


_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to