From: Aki Tuomi Date: Fri, 26 Sep 2014 11:24:58 +0000 (+0300) Subject: Make sure we send servfail on error X-Git-Tag: dnsdist-1.0.0-alpha1~295^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f1ad3c5bc3187350d8345f793bcb59d10e9c7d27;p=thirdparty%2Fpdns.git Make sure we send servfail on error --- diff --git a/pdns/distributor.hh b/pdns/distributor.hh index 6235ec0f68..cf8e56d8bf 100644 --- a/pdns/distributor.hh +++ b/pdns/distributor.hh @@ -218,7 +218,7 @@ templatevoid *MultiThreadDistributo us->d_overloaded=false; } - Answer *a; + Answer *a; #ifndef SMTPREDIR if(queuetimeout && q->d_dt.udiff()>queuetimeout*1000) { @@ -235,12 +235,18 @@ templatevoid *MultiThreadDistributo catch(const PDNSException &e) { L<replyPacket(); + a->setRcode(RCode::ServFail); + S.inc("servfail-packets"); + S.ringAccount("servfail-queries",q->qdomain); } catch(...) { L<replyPacket(); + a->setRcode(RCode::ServFail); + S.inc("servfail-packets"); + S.ringAccount("servfail-queries",q->qdomain); } AnswerData AD; @@ -270,13 +276,19 @@ templateint SingleThreadDistributor L<replyPacket(); + a->setRcode(RCode::ServFail); + S.inc("servfail-packets"); + S.ringAccount("servfail-queries",q->qdomain); } catch(...) { L<replyPacket(); + a->setRcode(RCode::ServFail); + S.inc("servfail-packets"); + S.ringAccount("servfail-queries",q->qdomain); } AnswerData AD; AD.A=a;