dns, cares: don't filter NOTIMP, REFUSED, SERVFAIL

Report the aforementioned DNS server failure codes as-is, stop c-ares
from reporting them as ARES_ECONNREFUSED.

Reported by Steve Freegard.
pull/24504/head
Ben Noordhuis 2013-02-01 17:33:19 +01:00
parent a6c18472cd
commit 6aed61f1ca
1 changed files with 5 additions and 1 deletions

View File

@ -886,11 +886,15 @@ static void Initialize(Handle<Object> target) {
assert(r == ARES_SUCCESS);
struct ares_options options;
memset(&options, 0, sizeof(options));
options.flags = ARES_FLAG_NOCHECKRESP;
options.sock_state_cb = ares_sockstate_cb;
options.sock_state_cb_data = uv_default_loop();
/* We do the call to ares_init_option for caller. */
r = ares_init_options(&ares_channel, &options, ARES_OPT_SOCK_STATE_CB);
r = ares_init_options(&ares_channel,
&options,
ARES_OPT_FLAGS | ARES_OPT_SOCK_STATE_CB);
assert(r == ARES_SUCCESS);
/* Initialize the timeout timer. The timer won't be started until the */