mirror of
https://github.com/asterisk/asterisk.git
synced 2026-06-09 03:45:27 +00:00
dns_core: Allow zero-length DNS responses.
A testsuite test recently failed due to a crash that occurred in the DNS core. The problem was that the test could not resolve an address, did not set a result on the DNS query, and then indicated the query was completed. The DNS core does not handle the case of a query with no result gracefully, and so there is a crash. This changeset makes the DNS system resolver set a result with a zero-length answer in the case that a DNS resolution failure occurs early. The DNS core now also will accept such a response without treating it as invalid input. A unit test was updated to no longer treat setting a zero-length response as off-nominal. Change-Id: Ie56641e22debdaa61459e1c9a042e23b78affbf6
This commit is contained in:
@@ -559,6 +559,7 @@ enum ast_dns_search_result ast_search_dns_ex(void *context, const char *dname, i
|
||||
|
||||
if (dns_response_len < 0) {
|
||||
ast_log(LOG_ERROR, "DNS search failed for %s\n", dname);
|
||||
response_handler(context, (unsigned char *)"", 0, ns_r_nxdomain);
|
||||
return AST_DNS_SEARCH_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user