changeset 430:e85366a81ab4 release-2.1

Fix #640: set IPV6_V6ONLY in any case Some systems may disable or enable usage of IPv4 fallback when using IPv6 sockets. Therefore, we need to explicitly set the IPV6_V6ONLY option in any case. Task: #640 Errata: 20170703
author David Demelier <markand@malikania.fr>
date Tue, 07 Mar 2017 11:46:52 +0100
parents ce1903f4bdb7
children 4022c5fa8b7c
files libirccd/irccd/transport.cpp
diffstat 1 files changed, 1 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/libirccd/irccd/transport.cpp	Sat Feb 18 09:08:51 2017 +0100
+++ b/libirccd/irccd/transport.cpp	Tue Mar 07 11:46:52 2017 +0100
@@ -377,8 +377,7 @@
 
     if (mode & v6) {
         // Disable or enable IPv4 when using IPv6.
-        if (!(mode & v4))
-            m_socket.set(net::option::Ipv6Only(true));
+        m_socket.set(net::option::Ipv6Only(!(mode & v4)));
 
         if (address == "*")
             m_socket.bind(net::ipv6::any(port));