return -1;
} else {
if (!entry->d_submitted) {
- pushTask(qname, qtype, entry->d_ttd);
+ if (qtype == QType::ADDR) {
+ pushTask(qname, QType::A, entry->d_ttd);
+ pushTask(qname, QType::AAAA, entry->d_ttd);
+ }
+ else {
+ pushTask(qname, qtype, entry->d_ttd);
+ }
entry->d_submitted = true;
}
}
void pushTask(const DNSName& qname, uint16_t qtype, time_t deadline)
{
+ switch (qtype) {
+ // Internal types
+ case QType::ENT:
+ case QType::ADDR:
+ case QType::ALIAS:
+ case QType::LUA:
+ return;
+ }
t_taskQueue.push({qname, qtype, deadline, true});
}