-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-AUX pdns-recursor-3.1.3-svn-fixes.patch 1388 RMD160 3951f997f2ee054351325ac7c432fb4a222d6c8c SHA1 834540b0704c6ecbdb96f002e951c12a8f30f7a7 SHA256 073f5b2b2aa77881aae93e71f53f098d99cba38cc1a913279f8974dc9e067efb
-MD5 003892a0083ebe103b17c101c45cbe5a files/pdns-recursor-3.1.3-svn-fixes.patch 1388
-RMD160 3951f997f2ee054351325ac7c432fb4a222d6c8c files/pdns-recursor-3.1.3-svn-fixes.patch 1388
-SHA256 073f5b2b2aa77881aae93e71f53f098d99cba38cc1a913279f8974dc9e067efb files/pdns-recursor-3.1.3-svn-fixes.patch 1388
+AUX pdns-recursor-3.1.3-svn-fixes.patch 2581 RMD160 d43cf5d93e76bca63f7f2e12c7463e12373e93ee SHA1 e573d2e00f4241f1309491bd5147ce6d4c63430c SHA256 eb11ea7a5c5f55ff86c87107f5b81c0a5641bd7cf6d60b9d5e9db4aac8d21187
+MD5 70b4dd6a2574d426d3752ee2e98b08a6 files/pdns-recursor-3.1.3-svn-fixes.patch 2581
+RMD160 d43cf5d93e76bca63f7f2e12c7463e12373e93ee files/pdns-recursor-3.1.3-svn-fixes.patch 2581
+SHA256 eb11ea7a5c5f55ff86c87107f5b81c0a5641bd7cf6d60b9d5e9db4aac8d21187 files/pdns-recursor-3.1.3-svn-fixes.patch 2581
AUX precursor 501 RMD160 89beca9ada438592c409ad972d95eb264b934eff SHA1 f0cce888bc63d0bb53b55657eef8aae6f1753443 SHA256 a7e50ea28fd4453accdbe4f457ffe492585c8e8c5f84f330bf9a290aa6d000a1
MD5 269ab7656f23317e2d4fb1015f855ed3 files/precursor 501
RMD160 89beca9ada438592c409ad972d95eb264b934eff files/precursor 501
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
-iD8DBQFFUyi+I1lqEGTUzyQRAhzCAKC2cxLl4Kbx0O5lgdlXqlZFvmEGgACfZEsF
-SMDAqOw76/CVPPbO6r9Ic+A=
-=bwM2
+iD8DBQFFVmQwI1lqEGTUzyQRAt7eAJ0SEF7mR+tWkQjc5d7wkszuoQsZiACgrjlr
+8tFW9gGIPpUyGlgTHRjAvSA=
+=/89S
-----END PGP SIGNATURE-----
if(!bytes || bytes < 0) {
L<<Logger::Error<<"TCP client "<< conn->remote.toString() <<" disconnected while reading question body"<<endl;
TCPConnection tmp(*conn);
+Index: syncres.cc
+===================================================================
+--- syncres.cc (revision 901)
++++ syncres.cc (revision 919)
+@@ -16,6 +16,7 @@
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <boost/algorithm/string.hpp>
+ #include "utility.hh"
+ #include "syncres.hh"
+ #include <iostream>
+@@ -855,9 +856,18 @@
+ return RCode::NXDomain;
+ }
+ if(!newtarget.empty()) {
++ if(iequals(newtarget,qname)) {
++ LOG<<prefix<<qname<<": status=got a CNAME referral to self, returning SERVFAIL"<<endl;
++ return RCode::ServFail;
++ }
++ if(depth > 10) {
++ LOG<<prefix<<qname<<": status=got a CNAME referral, but recursing too deep, returning SERVFAIL"<<endl;
++ return RCode::ServFail;
++ }
+ LOG<<prefix<<qname<<": status=got a CNAME referral, starting over with "<<newtarget<<endl;
++
+ set<GetBestNSAnswer>beenthere2;
+- return doResolve(newtarget, qtype, ret,0,beenthere2);
++ return doResolve(newtarget, qtype, ret, depth + 1, beenthere2);
+ }
+ if(nsset.empty() && !d_lwr.d_rcode) {
+ LOG<<prefix<<qname<<": status=noerror, other types may exist, but we are done "<<(negindic ? "(have negative SOA)" : "")<<endl;