]> granicus.if.org Git - pdns/commitdiff
make dnswasher wash everything, not just rd
authorBert Hubert <bert.hubert@netherlabs.nl>
Sat, 21 Apr 2007 08:55:26 +0000 (08:55 +0000)
committerBert Hubert <bert.hubert@netherlabs.nl>
Sat, 21 Apr 2007 08:55:26 +0000 (08:55 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@1037 d19b8d6e-7fed-0310-83ef-9ca221ded41b

pdns/dnswasher.cc

index 7bb423ebc8fbde22a11246ed8442da275124be65..a803af3830f10466c798a113d9fa42a05a767ac5 100644 (file)
@@ -58,21 +58,18 @@ try
     if(ntohs(pr.d_udp->uh_dport)==53 || ntohs(pr.d_udp->uh_sport)==53 && pr.d_len > sizeof(dnsheader)) {
       dnsheader* dh=(dnsheader*)pr.d_payload;
 
-      if(dh->rd) {
-        uint32_t *src=(uint32_t*)&pr.d_ip->ip_src;
-        uint32_t *dst=(uint32_t*)&pr.d_ip->ip_dst;
-
-        if(dh->qr)
-          *dst=htonl(ipo.obf(*dst));
-        else
-          *src=htonl(ipo.obf(*src));
-
-        pr.d_ip->ip_sum=0;
-       
-       pw.write();
-      }
+      uint32_t *src=(uint32_t*)&pr.d_ip->ip_src;
+      uint32_t *dst=(uint32_t*)&pr.d_ip->ip_dst;
+      
+      if(dh->qr)
+       *dst=htonl(ipo.obf(*dst));
+      else
+       *src=htonl(ipo.obf(*src));
+      
+      pr.d_ip->ip_sum=0;
+      
+      pw.write();
     }
-    
   }
   cerr<<"Saw "<<pr.d_correctpackets<<" correct packets, "<<pr.d_runts<<" runts, "<< pr.d_oversized<<" oversize, "<<
     pr.d_nonetheripudp<<" unknown encaps"<<endl;