]> granicus.if.org Git - libevent/commitdiff
fix for ServFail from RIPE Atlas release
authorAntony Antony <antony@phenome.org>
Thu, 9 May 2013 04:50:52 +0000 (06:50 +0200)
committerNick Mathewson <nickm@torproject.org>
Tue, 24 Dec 2013 19:03:46 +0000 (14:03 -0500)
evdns.c

diff --git a/evdns.c b/evdns.c
index ca274a94f102d720921f1a9dedcb7e8b74e97203..dd407078f34fbb090321775ba98cedd100207328 100644 (file)
--- a/evdns.c
+++ b/evdns.c
@@ -416,6 +416,7 @@ static int evdns_base_resolv_conf_parse_impl(struct evdns_base *base, int flags,
 static int evdns_base_set_option_impl(struct evdns_base *base,
     const char *option, const char *val, int flags);
 static void evdns_base_free_and_unlock(struct evdns_base *base, int fail_requests);
+static void evdns_request_timeout_callback(evutil_socket_t fd, short events, void *arg);
 
 static int strtoint(const char *const str);
 
@@ -907,7 +908,9 @@ reply_handle(struct request *const req, u16 flags, u32 ttl, struct reply *reply)
                            evutil_format_sockaddr_port_(
                                    (struct sockaddr *)&req->ns->address,
                                    addrbuf, sizeof(addrbuf)));
-                       break;
+                       /* Call the timeout function */
+                       evdns_request_timeout_callback(0, 0, req);
+                       return;
                default:
                        /* we got a good reply from the nameserver: it is up. */
                        if (req->handle == req->ns->probe_request) {