chiark / gitweb /
+ * If we get a referral, don't also always complain falsely about RD==0.
authorian <ian>
Tue, 28 Mar 2000 23:42:43 +0000 (23:42 +0000)
committerian <ian>
Tue, 28 Mar 2000 23:42:43 +0000 (23:42 +0000)
@@ -10,6 +10,7 @@
     if things go badly wrong *and* a really unlikely race happens.
+  * If we get a referral, don't also always complain falsely about RD==0.

changelog
src/reply.c

index aed8a56..e1e36c7 100644 (file)
--- a/changelog
+++ b/changelog
@@ -10,6 +10,7 @@ uadns (0.8) BETA; urgency=low
     act is zero.  This might possibly cause an infinite delay (ie, lockup)
     if things go badly wrong *and* a really unlikely race happens.
   * Test suite `lines of syscall left' value is correct; !0 is failure.
+  * If we get a referral, don't also always complain falsely about RD==0.
 
   Portability fixes:
   * install-sh (from autoconf 2.12 Debian r13) included.
index f1dabe1..ce11c9a 100644 (file)
@@ -280,14 +280,14 @@ void adns__procdgram(adns_state ads, const byte *dgram, int dglen,
     if (cname_here) goto x_restartquery;
 
     /* Bloody hell, I thought we asked for recursion ? */
-    if (flg_rd) {
-      adns__diag(ads,serv,qu,"server thinks we didn't ask for recursive lookup");
-    }
     if (!flg_ra) {
       adns__diag(ads,serv,qu,"server is not willing to do recursive lookups for us");
       adns__query_fail(qu,adns_s_norecurse);
     } else {
-      adns__diag(ads,serv,qu,"server claims to do recursion, but gave us a referral");
+      if (!flg_rd)
+       adns__diag(ads,serv,qu,"server thinks we didn't ask for recursive lookup");
+      else
+       adns__diag(ads,serv,qu,"server claims to do recursion, but gave us a referral");
       adns__query_fail(qu,adns_s_invalidresponse);
     }
     return;