Ver código fonte

Respond to AAAA requests on DNSPort with AAAA automaps

Other DNS+IPv6 problems remain, but at least this fixes the
automapping.

Fixes bug 10468; bugfix on 0.2.4.7-alpha.
Nick Mathewson 10 anos atrás
pai
commit
46a3914079
2 arquivos alterados com 14 adições e 0 exclusões
  1. 4 0
      changes/bug10468
  2. 10 0
      src/or/dnsserv.c

+ 4 - 0
changes/bug10468

@@ -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.

+ 10 - 0
src/or/dnsserv.c

@@ -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));