1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-06 12:41:29 +00:00

Correctly treat A queries as alt for -6 scans, AAAA alt for -4

This commit is contained in:
dmiller
2024-05-16 19:31:46 +00:00
parent 50ceac5753
commit 1e964d30f5

View File

@@ -645,6 +645,16 @@ static int deal_with_timedout_reads(bool adjust_timing) {
} }
static bool is_primary_req(const request *req) {
if (req->alt_req) {
return (o.af() == AF_INET6);
}
else if (req->targ->type == DNS::ANY) {
return (o.af() == AF_INET);
}
return true;
}
static void process_request(int action, info &reqinfo) { static void process_request(int action, info &reqinfo) {
request *tpreq = reqinfo.tpreq; request *tpreq = reqinfo.tpreq;
dns_server *server = reqinfo.server; dns_server *server = reqinfo.server;
@@ -660,7 +670,7 @@ static void process_request(int action, info &reqinfo) {
server->in_process.remove(tpreq); server->in_process.remove(tpreq);
server->reqs_on_wire--; server->reqs_on_wire--;
total_reqs--; total_reqs--;
if (action == ACTION_SYSTEM_RESOLVE && !tpreq->alt_req) { if (action == ACTION_SYSTEM_RESOLVE && is_primary_req(tpreq)) {
deferred_reqs.push_back(tpreq); deferred_reqs.push_back(tpreq);
} }
else { else {