diff options
author | Sven Wegener <swegener@gentoo.org> | 2006-11-12 00:00:38 +0000 |
---|---|---|
committer | Sven Wegener <swegener@gentoo.org> | 2006-11-12 00:00:38 +0000 |
commit | 6bbc78c7611d80750ec785dd1b1ee4eb816b4005 (patch) | |
tree | 6322a8ad8cb43480583a05b5a27bbc3dd9cf6d5b /net-dns/pdns-recursor | |
parent | * bump (diff) | |
download | gentoo-2-6bbc78c7611d80750ec785dd1b1ee4eb816b4005.tar.gz gentoo-2-6bbc78c7611d80750ec785dd1b1ee4eb816b4005.tar.bz2 gentoo-2-6bbc78c7611d80750ec785dd1b1ee4eb816b4005.zip |
More fixes from upstream.
(Portage version: 2.1.2_rc1-r5)
Diffstat (limited to 'net-dns/pdns-recursor')
-rw-r--r-- | net-dns/pdns-recursor/files/pdns-recursor-3.1.3-svn-fixes.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/net-dns/pdns-recursor/files/pdns-recursor-3.1.3-svn-fixes.patch b/net-dns/pdns-recursor/files/pdns-recursor-3.1.3-svn-fixes.patch index 0be7f2fcae1a..c4a3294d7eb6 100644 --- a/net-dns/pdns-recursor/files/pdns-recursor-3.1.3-svn-fixes.patch +++ b/net-dns/pdns-recursor/files/pdns-recursor-3.1.3-svn-fixes.patch @@ -33,3 +33,35 @@ Index: pdns_recursor.cc 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; |