From: Aki Tuomi Date: Mon, 17 Apr 2017 16:48:02 +0000 (+0300) Subject: communicator: Use new version of AXFR filter X-Git-Tag: rec-4.1.0-alpha1~150^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=18b433ac717fd5ed07c037a7e3825b7c16a1dbd4;p=thirdparty%2Fpdns.git communicator: Use new version of AXFR filter --- diff --git a/pdns/communicator.hh b/pdns/communicator.hh index b5e2c0f4f9..babab1cfb1 100644 --- a/pdns/communicator.hh +++ b/pdns/communicator.hh @@ -193,7 +193,7 @@ private: map,time_t>d_holes; pthread_mutex_t d_holelock; void suck(const DNSName &domain, const string &remote); - void ixfrSuck(const DNSName &domain, const TSIGTriplet& tt, const ComboAddress& laddr, const ComboAddress& remote, boost::scoped_ptr& pdl, + void ixfrSuck(const DNSName &domain, const TSIGTriplet& tt, const ComboAddress& laddr, const ComboAddress& remote, boost::scoped_ptr& pdl, ZoneStatus& zs, vector* axfr); void slaveRefresh(PacketHandler *P); diff --git a/pdns/slavecommunicator.cc b/pdns/slavecommunicator.cc index 9e4a7529e1..4918a50f05 100644 --- a/pdns/slavecommunicator.cc +++ b/pdns/slavecommunicator.cc @@ -81,7 +81,7 @@ struct ZoneStatus }; -void CommunicatorClass::ixfrSuck(const DNSName &domain, const TSIGTriplet& tt, const ComboAddress& laddr, const ComboAddress& remote, scoped_ptr& pdl, +void CommunicatorClass::ixfrSuck(const DNSName &domain, const TSIGTriplet& tt, const ComboAddress& laddr, const ComboAddress& remote, scoped_ptr& pdl, ZoneStatus& zs, vector* axfr) { UeberBackend B; // fresh UeberBackend @@ -234,7 +234,7 @@ static bool processRecordForZS(const DNSName& domain, bool& firstNSEC3, DNSResou 5) It updates the Empty Non Terminals */ -static vector doAxfr(const ComboAddress& raddr, const DNSName& domain, const TSIGTriplet& tt, const ComboAddress& laddr, scoped_ptr& pdl, ZoneStatus& zs) +static vector doAxfr(const ComboAddress& raddr, const DNSName& domain, const TSIGTriplet& tt, const ComboAddress& laddr, scoped_ptr& pdl, ZoneStatus& zs) { vector rrs; AXFRRetriever retriever(raddr, domain, tt, (laddr.sin4.sin_family == 0) ? NULL : &laddr, ((size_t) ::arg().asNum("xfr-max-received-mbytes")) * 1024 * 1024); @@ -325,11 +325,11 @@ void CommunicatorClass::suck(const DNSName &domain, const string &remote) } - scoped_ptr pdl; + scoped_ptr pdl; vector scripts; if(B.getDomainMetadata(domain, "LUA-AXFR-SCRIPT", scripts) && !scripts.empty()) { try { - pdl.reset(new AuthLua(scripts[0])); + pdl.reset(new AuthLua4(scripts[0])); L<