]> granicus.if.org Git - pdns/commitdiff
fix shadowed variable, move to d_ecsFound, fix indentation
authorbert hubert <bert.hubert@netherlabs.nl>
Mon, 8 Oct 2018 09:05:19 +0000 (11:05 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 10 Jan 2019 09:56:00 +0000 (10:56 +0100)
pdns/dnsdist.cc
pdns/pdns_recursor.cc

index 213ea51fecd8fcb6487f076d4b1763188c112b8c..21e76401aef41d8922a22b5036bd9102087c8a68 100644 (file)
@@ -1411,13 +1411,12 @@ static void processUDPQuery(ClientState& cs, LocalHolders& holders, const struct
     boost::optional<Netmask> subnet;
     uint16_t cachedResponseSize = dq.size;
     uint32_t allowExpired = ss ? 0 : g_staleCacheEntriesTTL;
-    
-    if (dq.useECS && ((ss && ss->useECS) || (!ss && serverPool->getECS()))) {
-      if (packetCache && !dq.skipCache) {
-        dnssecOK = (getEDNSZ(dq) & EDNS_HEADER_FLAG_DO);
-      }
 
-      boost::optional<Netmask> subnet;
+    if (packetCache && !dq.skipCache) {
+      dnssecOK = (getEDNSZ(dq) & EDNS_HEADER_FLAG_DO);
+    }
+
+    if (dq.useECS && ((ss && ss->useECS) || (!ss && serverPool->getECS()))) {
       if (packetCache && !dq.skipCache && packetCache->get(dq, consumed, dh->id, query, &cachedResponseSize, &cacheKeyNoECS, subnet, dnssecOK, allowExpired)) {
         goto sendIt;
       }
index baa655025cb58d15aa77e10d35ea4dec5a45ccfb..42196b7e05b813b70560be6de3553b2ff0029102 100644 (file)
@@ -1486,12 +1486,12 @@ static void startDoResolve(void *p)
     }
   sendit:;
 
-    if(g_useIncomingECS && haveEDNS && !sr.wasVariable()) {
+    if(g_useIncomingECS && dc->d_ecsFound && !sr.wasVariable()) {
       //      cerr<<"Stuffing in a 0 scope because answer is static"<<endl;
       EDNSSubnetOpts eo;
       eo.source = dc->d_ednssubnet.source;
       ComboAddress sa;
-      memset(&sa, 0, sizeof(sa));
+      sa.reset();
       sa.sin4.sin_family = eo.source.getNetwork().sin4.sin_family;
       eo.scope = Netmask(sa, 0);
 
@@ -1568,7 +1568,7 @@ static void startDoResolve(void *p)
         g_log<<Logger::Warning<<"Sending UDP reply to client "<<dc->getRemote()<<" failed with: "<<strerror(errno)<<endl;
 
       if(variableAnswer || sr.wasVariable()) {
-       g_stats.variableResponses++;
+        g_stats.variableResponses++;
       }
       if(!SyncRes::s_nopacketcache && !variableAnswer && !sr.wasVariable() ) {
         t_packetCache->insertResponsePacket(dc->d_tag, dc->d_qhash, std::move(dc->d_query), dc->d_mdp.d_qname, dc->d_mdp.d_qtype, dc->d_mdp.d_qclass,