diff --git a/src/dns_server.c b/src/dns_server.c index 1dd43db..d8a44ea 100644 --- a/src/dns_server.c +++ b/src/dns_server.c @@ -2322,6 +2322,7 @@ static int _dns_server_process_answer_A(struct dns_rrs *rrs, struct dns_request if (addr[0] == 0 || addr[0] == 127) { /* If half of the servers return the same result, then ignore this address */ if (atomic_inc_return(&request->adblock) <= (dns_server_num() / 2 + dns_server_num() % 2)) { + request->rcode = DNS_RC_NOERROR; _dns_server_request_release(request); return -1; } @@ -2398,6 +2399,7 @@ static int _dns_server_process_answer_AAAA(struct dns_rrs *rrs, struct dns_reque if (_dns_server_is_adblock_ipv6(addr) == 0) { /* If half of the servers return the same result, then ignore this address */ if (atomic_inc_return(&request->adblock) <= (dns_server_num() / 2 + dns_server_num() % 2)) { + request->rcode = DNS_RC_NOERROR; _dns_server_request_release(request); return -1; }