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 619e7a2c8b
)
This commit is contained in:
parent
d9525082fe
commit
86de0bd081
2 changed files with 8 additions and 0 deletions
|
@ -127,7 +127,11 @@ Error PacketPeerUDPPosix::listen(int p_port, IP_Address p_bind_address, int p_re
|
|||
ERR_FAIL_COND_V(sockfd != -1, ERR_ALREADY_IN_USE);
|
||||
ERR_FAIL_COND_V(!p_bind_address.is_valid() && !p_bind_address.is_wildcard(), ERR_INVALID_PARAMETER);
|
||||
|
||||
#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 (p_bind_address.is_valid())
|
||||
sock_type = p_bind_address.is_ipv4() ? IP::TYPE_IPV4 : IP::TYPE_IPV6;
|
||||
|
|
|
@ -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())
|
||||
|
|
Loading…
Reference in a new issue