chiark / gitweb /
+ * If we get a referral, don't also always complain falsely about RD==0.
[adns.git] / src / reply.c
index f1dabe1e52527fa31b9a2d591096e5252e5f5e6c..ce11c9ae45d969b5675cc70f59a27d43a707bc43 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;