don't set IPV6_V6ONLY option for ipv6 socket for Haiku

This commit is contained in:
orignal
2025-09-19 16:04:32 -04:00
parent 1f0512c4f6
commit db82903bb0
2 changed files with 13 additions and 2 deletions
+6 -2
View File
@@ -1536,11 +1536,15 @@ namespace transport
}
else if (address->IsV6() && (context.SupportsV6 () || context.SupportsMesh ()))
{
#if defined(__HAIKU__)
LogPrint (eLogInfo, "NTCP2: Can't listen v6 TCP port ", address->port, ". IPV6_V6ONLY is not supported");
continue; // IPV6_V6ONLY is not supported. Don't listen ipv6
#endif
m_NTCP2V6Acceptor.reset (new boost::asio::ip::tcp::acceptor (GetService ()));
try
{
m_NTCP2V6Acceptor->open (boost::asio::ip::tcp::v6());
m_NTCP2V6Acceptor->set_option (boost::asio::ip::v6_only (true));
m_NTCP2V6Acceptor->open (boost::asio::ip::tcp::v6());
m_NTCP2V6Acceptor->set_option (boost::asio::ip::v6_only (true));
m_NTCP2V6Acceptor->set_option (boost::asio::socket_base::reuse_address (true));
#if defined(__linux__) && !defined(_NETINET_IN_H)
if (!m_Address6 && !m_YggdrasilAddress) // only if not binded to address