dns_server: fix SERVERFAIL when A is 127.0.0.1

This commit is contained in:
Nick Peng
2022-08-23 22:49:41 +08:00
parent 145f7cfa42
commit fecc313e03

View File

@@ -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;
}