summaryrefslogtreecommitdiff
path: root/drivers/unix/tcp_server_posix.cpp
diff options
context:
space:
mode:
authorFabio Alessandrelli <fabio.alessandrelli@gmail.com>2017-01-18 17:17:44 +0100
committerFabio Alessandrelli <fabio.alessandrelli@gmail.com>2017-01-23 20:18:23 +0100
commit619e7a2c8ba19d0dc45467e29d9d9aa8b3506ac8 (patch)
tree3df91cac5cb49ed2ef27c6a62da7dd1c23ab7886 /drivers/unix/tcp_server_posix.cpp
parent88a56ba783d36d52a1023759e69f026b1ae255b4 (diff)
Bind to IPv4 on OpenBSD when using wildcard
OpenBSD does not support binding on both IPv4 and IPv6 using the same socket
Diffstat (limited to 'drivers/unix/tcp_server_posix.cpp')
-rw-r--r--drivers/unix/tcp_server_posix.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/unix/tcp_server_posix.cpp b/drivers/unix/tcp_server_posix.cpp
index 24de7a68b1..7e9970453f 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())