From 86de0bd081669c40578b408e2f38fea76b0416ce Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Wed, 18 Jan 2017 17:17:44 +0100 Subject: Bind to IPv4 on OpenBSD when using wildcard OpenBSD does not support binding on both IPv4 and IPv6 using the same socket (cherry picked from commit 619e7a2c8ba19d0dc45467e29d9d9aa8b3506ac8) --- drivers/unix/tcp_server_posix.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'drivers/unix/tcp_server_posix.cpp') diff --git a/drivers/unix/tcp_server_posix.cpp b/drivers/unix/tcp_server_posix.cpp index 6aec5ad31..9049faebb 100644 --- a/drivers/unix/tcp_server_posix.cpp +++ b/drivers/unix/tcp_server_posix.cpp @@ -74,7 +74,11 @@ Error TCPServerPosix::listen(uint16_t p_port, const IP_Address p_bind_address) { ERR_FAIL_COND_V(!p_bind_address.is_valid() && !p_bind_address.is_wildcard(), ERR_INVALID_PARAMETER); int sockfd; +#ifdef __OpenBSD__ + sock_type = IP::TYPE_IPV4; // OpenBSD does not support dual stacking, fallback to IPv4 only. +#else sock_type = IP::TYPE_ANY; +#endif // If the bind address is valid use its type as the socket type if (p_bind_address.is_valid()) -- cgit v1.2.3-70-g09d2