libdns: For SOCKS connection, just fails.
authorNIIBE Yutaka <gniibe@fsij.org>
Mon, 2 Jul 2018 01:37:49 +0000 (10:37 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Mon, 2 Jul 2018 01:37:49 +0000 (10:37 +0900)
* dirmngr/dns.c (dns_res_exec): If it's DNS_SO_SOCKS_CONN, don't
iterate to other server, but return the error immediately.

--

In the function libdns_switch_port_p in dns-stuff.c, this patch
allows to fallback using TOR_PORT2 correctly.

Fixes-commit: bcdbf8b8ebe9d61160e0b007dabe1b6462ffbc93
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
dirmngr/dns.c

index f82ed26..77f83f4 100644 (file)
@@ -8846,7 +8846,7 @@ exec:
                        dgoto(R->sp, DNS_R_FOREACH_A);
 
                error = dns_so_check(&R->so);
-               if (error == ECONNREFUSED)
+               if (R->so.state != DNS_SO_SOCKS_CONN && error == ECONNREFUSED)
                        dgoto(R->sp, DNS_R_FOREACH_A);
                else if (error)
                        goto error;