commit cc2fb91ea52fab733ee5ddde7c485854c5b170c3
Author: teor <teor(a)torproject.org>
Date: Fri Mar 13 12:25:43 2020 +1000
connection: Stop forcing some ports to prefer IPv6
Stop forcing all non-SOCKSPorts to prefer IPv6 exit connections.
Instead, prefer IPv6 connections by default, but allow users to change
their configs using the "NoPreferIPv6" port flag.
Fixes bug 33608; bugfix on 0.4.3.1-alpha.
---
changes/bug33608 | 5 +++++
src/core/mainloop/connection.c | 3 ++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/changes/bug33608 b/changes/bug33608
new file mode 100644
index 000000000..0e82a8eec
--- /dev/null
+++ b/changes/bug33608
@@ -0,0 +1,5 @@
+ o Minor bugfixes (client IPv6):
+ - Stop forcing all non-SOCKSPorts to prefer IPv6 exit connections. Instead,
+ prefer IPv6 connections by default, but allow users to change their
+ configs using the "NoPreferIPv6" port flag.
+ Fixes bug 33608; bugfix on 0.4.3.1-alpha.
diff --git a/src/core/mainloop/connection.c b/src/core/mainloop/connection.c
index bfd850da8..57b48d49f 100644
--- a/src/core/mainloop/connection.c
+++ b/src/core/mainloop/connection.c
@@ -1514,10 +1514,11 @@ connection_listener_new(const struct sockaddr *listensockaddr,
}
}
+ /* Force IPv4 and IPv6 traffic on for non-SOCKSPorts.
+ * Forcing options on isn't a good idea, see #32994 and #33607. */
if (type != CONN_TYPE_AP_LISTENER) {
lis_conn->entry_cfg.ipv4_traffic = 1;
lis_conn->entry_cfg.ipv6_traffic = 1;
- lis_conn->entry_cfg.prefer_ipv6 = 1;
}
if (connection_add(conn) < 0) { /* no space, forget it */