]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Respond to AAAA requests on DNSPort with AAAA automaps
authorNick Mathewson <nickm@torproject.org>
Thu, 27 Mar 2014 21:41:43 +0000 (17:41 -0400)
committerNick Mathewson <nickm@torproject.org>
Thu, 27 Mar 2014 21:41:43 +0000 (17:41 -0400)
Other DNS+IPv6 problems remain, but at least this fixes the
automapping.

Fixes bug 10468; bugfix on 0.2.4.7-alpha.

changes/bug10468 [new file with mode: 0644]
src/or/dnsserv.c

diff --git a/changes/bug10468 b/changes/bug10468
new file mode 100644 (file)
index 0000000..128eb3a
--- /dev/null
@@ -0,0 +1,4 @@
+  o Minor bugfixes:
+    - When using DNSPort and AutomapHostsOnResolve, respond to AAAA
+      requests with AAAA automapped answers. Fixes bug 10468; bugfix
+      on 0.2.4.7-alpha.
index ebff7b524c03c684f28e8c7372976fa7e76ebca3..4190e9cc2342e95d4cd2dc7633ab4e915f33bb20 100644 (file)
@@ -131,6 +131,16 @@ evdns_server_callback(struct evdns_server_request *req, void *data_)
   else
     entry_conn->socks_request->command = SOCKS_COMMAND_RESOLVE_PTR;
 
+  if (q->type == EVDNS_TYPE_A) {
+    entry_conn->ipv4_traffic_ok = 1;
+    entry_conn->ipv6_traffic_ok = 0;
+    entry_conn->prefer_ipv6_traffic = 0;
+  } else if (q->type == EVDNS_TYPE_AAAA) {
+    entry_conn->ipv4_traffic_ok = 0;
+    entry_conn->ipv6_traffic_ok = 1;
+    entry_conn->prefer_ipv6_traffic = 1;
+  }
+
   strlcpy(entry_conn->socks_request->address, q->name,
           sizeof(entry_conn->socks_request->address));