aboutsummaryrefslogtreecommitdiff
path: root/drivers/unix/ip_unix.cpp
diff options
context:
space:
mode:
authorRémi Verschelde2016-10-31 08:00:54 +0100
committerGitHub2016-10-31 08:00:54 +0100
commit434d120226c31fea9c1ff905c37486d6ed58633a (patch)
treef3d69229c6c14f8b5e84337b3ac8ad0f470e5548 /drivers/unix/ip_unix.cpp
parentde454318e72f5de13c5a1efff5811d41e360a8a2 (diff)
parentbdc7ca84cac727f3f94663f23e1229450230bd2e (diff)
downloadgodot-434d120226c31fea9c1ff905c37486d6ed58633a.tar.gz
godot-434d120226c31fea9c1ff905c37486d6ed58633a.tar.zst
godot-434d120226c31fea9c1ff905c37486d6ed58633a.zip
Merge pull request #6981 from Faless/ipv6_fix
Use IPv6 dual stack socket by default. Allow restricting IP version for TCP/UDP.
Diffstat (limited to 'drivers/unix/ip_unix.cpp')
-rw-r--r--drivers/unix/ip_unix.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/unix/ip_unix.cpp b/drivers/unix/ip_unix.cpp
index d6d1be339..e3d32618e 100644
--- a/drivers/unix/ip_unix.cpp
+++ b/drivers/unix/ip_unix.cpp
@@ -33,6 +33,13 @@
#include <string.h>
#ifdef WINDOWS_ENABLED
+ // Workaround mingw missing flags!
+ #ifndef AI_ADDRCONFIG
+ #define AI_ADDRCONFIG 0x00000400
+ #endif
+ #ifndef AI_V4MAPPED
+ #define AI_V4MAPPED 0x00000800
+ #endif
#ifdef WINRT_ENABLED
#include <ws2tcpip.h>
#include <winsock2.h>
@@ -90,8 +97,10 @@ IP_Address IP_Unix::_resolve_hostname(const String& p_hostname, IP_Address::Addr
hints.ai_family = AF_INET;
} else if (p_type == IP_Address::TYPE_IPV6) {
hints.ai_family = AF_INET6;
+ hints.ai_flags = 0;
} else {
hints.ai_family = AF_UNSPEC;
+ hints.ai_flags = (AI_V4MAPPED | AI_ADDRCONFIG);
};
int s = getaddrinfo(p_hostname.utf8().get_data(), NULL, &hints, &result);