]> granicus.if.org Git - pdns/commitdiff
Merge pull request #6731 from chbruyand/auth-luarec-issues
authorPeter van Dijk <peter.van.dijk@powerdns.com>
Thu, 29 Nov 2018 11:33:56 +0000 (12:33 +0100)
committerGitHub <noreply@github.com>
Thu, 29 Nov 2018 11:33:56 +0000 (12:33 +0100)
Address Auth LUA Records issues

1  2 
pdns/lua-record.cc
pdns/packethandler.cc
pdns/pdnsutil.cc
regression-tests.auth-py/test_LuaRecords.py

Simple merge
index a39ab106c0ff2ec7cafcd551b36041bc4f8edcb0,5d13d70d02a4fba9cd7a9b8cdac5ddbe7be80d60..fff6f730545ac414b6a550e55a9ad069464bd7ef
@@@ -383,23 -383,15 +383,18 @@@ bool PacketHandler::getBestWildcard(DNS
          DLOG(g_log<<"Have a wildcard LUA match"<<endl);
          
          auto rec=getRR<LUARecordContent>(rr.dr);
 -        if(rec->d_type == QType::CNAME || rec->d_type == p->qtype.getCode()) {
 +        if (!rec) {
 +          continue;
 +        }
 +        if(rec->d_type == QType::CNAME || rec->d_type == p->qtype.getCode() || (p->qtype.getCode() == QType::ANY && rec->d_type != QType::RRSIG)) {
            //    noCache=true;
            DLOG(g_log<<"Executing Lua: '"<<rec->getCode()<<"'"<<endl);
-           try {
-             auto recvec=luaSynth(rec->getCode(), target, sd.qname, sd.domain_id, *p, rec->d_type);
-             for(const auto& r : recvec) {
-               rr.dr.d_type = rec->d_type; // might be CNAME
-               rr.dr.d_content = r;
-               rr.scopeMask = p->getRealRemote().getBits(); // this makes sure answer is a specific as your question
-               ret->push_back(rr);
-             }
-           }
-           catch(std::exception &e) {
-             ;
+           auto recvec=luaSynth(rec->getCode(), target, sd.qname, sd.domain_id, *p, rec->d_type);
+           for(const auto& r : recvec) {
+             rr.dr.d_type = rec->d_type; // might be CNAME
+             rr.dr.d_content = r;
+             rr.scopeMask = p->getRealRemote().getBits(); // this makes sure answer is a specific as your question
+             ret->push_back(rr);
            }
          }
        }
Simple merge