From 6aed61f1cad0a267d9fdc75f90381fdfb4491e8c Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Fri, 1 Feb 2013 17:33:19 +0100 Subject: [PATCH] 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. --- src/cares_wrap.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/cares_wrap.cc b/src/cares_wrap.cc index 79dafe1e46..8dce800b43 100644 --- a/src/cares_wrap.cc +++ b/src/cares_wrap.cc @@ -886,11 +886,15 @@ static void Initialize(Handle 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 */