From d027fc9a88b0529780beb2716f90c728803cf872 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Fri, 31 Jan 2025 17:14:37 +0100 Subject: [PATCH] Enable ipv6_server by default --- builtin/settingtypes.txt | 5 +++-- src/defaultsettings.cpp | 2 +- src/network/socket.cpp | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt index ff88ce5a2..4af232f42 100644 --- a/builtin/settingtypes.txt +++ b/builtin/settingtypes.txt @@ -835,11 +835,12 @@ protocol_version_min (Protocol version minimum) int 1 1 65535 # Files that are not present will be fetched the usual way. remote_media (Remote media) string -# Enable/disable running an IPv6 server. +# Enable IPv6 support for server. +# Note that clients will be able to connect with both IPv4 and IPv6. # Ignored if bind_address is set. # # Requires: enable_ipv6 -ipv6_server (IPv6 server) bool false +ipv6_server (IPv6 server) bool true [*Server Security] diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index ff325a8ff..b5e9a203b 100644 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -422,7 +422,7 @@ void set_default_settings() // Network settings->setDefault("enable_ipv6", "true"); - settings->setDefault("ipv6_server", "false"); + settings->setDefault("ipv6_server", "true"); settings->setDefault("max_packets_per_iteration", "1024"); settings->setDefault("port", "30000"); settings->setDefault("strict_protocol_version_checking", "false"); diff --git a/src/network/socket.cpp b/src/network/socket.cpp index 4c2056da7..397b5ea51 100644 --- a/src/network/socket.cpp +++ b/src/network/socket.cpp @@ -128,7 +128,8 @@ void UDPSocket::Bind(Address addr) if (setsockopt(m_handle, IPPROTO_IPV6, IPV6_V6ONLY, reinterpret_cast(&value), sizeof(value)) != 0) { auto errmsg = SOCKET_ERR_STR(LAST_SOCKET_ERR()); - errorstream << "Failed to disable V6ONLY: " << errmsg << std::endl; + errorstream << "Failed to disable V6ONLY: " << errmsg + << "\nTry disabling ipv6_server to fix this." << std::endl; throw SocketException(errmsg); } }