From cc2fb91ea52fab733ee5ddde7c485854c5b170c3 Mon Sep 17 00:00:00 2001 From: teor Date: Fri, 13 Mar 2020 12:25:43 +1000 Subject: [PATCH] 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(-) create mode 100644 changes/bug33608 diff --git a/changes/bug33608 b/changes/bug33608 new file mode 100644 index 0000000000..0e82a8eec9 --- /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 bfd850da86..57b48d49f3 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 */