]> granicus.if.org Git - pdns/commitdiff
improve EDNS0 detection, don't just assume an AR record in a question is an OPT record
authorBert Hubert <bert.hubert@netherlabs.nl>
Tue, 1 Jan 2008 20:29:42 +0000 (20:29 +0000)
committerBert Hubert <bert.hubert@netherlabs.nl>
Tue, 1 Jan 2008 20:29:42 +0000 (20:29 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@1120 d19b8d6e-7fed-0310-83ef-9ca221ded41b

pdns/dnsparser.cc

index 4cfee6cb1ad641387b903e1959e1d23bdec412ce..fabadfa01d5b59c47a324b3e68df8d34787a13d8 100644 (file)
@@ -258,7 +258,7 @@ void MOADNSParser::init(const char *packet, unsigned int len)
 
 bool MOADNSParser::getEDNSOpts(EDNSOpts* eo)
 {
-  if(d_header.arcount && !d_answers.empty()) {
+  if(d_header.arcount && !d_answers.empty() && d_answers.back().first.d_type == QType::OPT) {
     eo->d_packetsize=d_answers.back().first.d_class;
 
     EDNS0Record stuff;