}
// Disallow answer records not anwering the QType requested. ANY, CNAME, DNAME, RRSIG complicate matters here
- // Question: is the SOA check OK? See RFC2181 section 7.1
- if (rec->d_place == DNSResourceRecord::ANSWER && (qtype != QType::ANY && rec->d_type != qtype.getCode() && !isRedirection(rec->d_type) && rec->d_type != QType::SOA && rec->d_type != QType::RRSIG)) {
+ if (rec->d_place == DNSResourceRecord::ANSWER && (qtype != QType::ANY && rec->d_type != qtype.getCode() && !isRedirection(rec->d_type) && rec->d_type != QType::RRSIG)) {
LOG(prefix << qname << ": Removing irrelevant record '" << rec->toString() << "' in the ANSWER section received from " << auth << endl);
rec = lwr.d_records.erase(rec);
continue;
if (domain == DNSName("powerdns.com.") && type == QType::A) {
addRecordToLW(res, domain, QType::A, "192.0.2.1");
addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300);
- addRecordToLW(res, domain, QType::SOA, "foo. bar. 2017032800 1800 900 604800 86400");
+ addRecordToLW(res, domain, QType::SOA, "foo. bar. 2017032800 1800 900 604800 86400", DNSResourceRecord::AUTHORITY);
addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300);
}
else if (domain == DNSName("powerdns.com.") && type == QType::AAAA) {
addRecordToLW(res, domain, QType::AAAA, "2001:db8::1");
addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300);
- addRecordToLW(res, domain, QType::SOA, "foo. bar. 2017032800 1800 900 604800 86400");
+ addRecordToLW(res, domain, QType::SOA, "foo. bar. 2017032800 1800 900 604800 86400", DNSResourceRecord::AUTHORITY);
/* no RRSIG this time! */
}
vector<DNSRecord> ret;
int res = sr->beginResolve(DNSName("powerdns.com."), QType(QType::A), QClass::IN, ret);
BOOST_CHECK_EQUAL(res, RCode::NoError);
- BOOST_REQUIRE_EQUAL(ret.size(), 3U);
+ BOOST_CHECK_EQUAL(ret.size(), 2U);
const ComboAddress who;
vector<DNSRecord> cached;