diff options
author | Benoit Foucher <benoit@zeroc.com> | 2014-11-13 14:37:13 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2014-11-13 14:37:13 +0100 |
commit | 180e3f6b12c252cda2ced3ad95e99884c778111c (patch) | |
tree | 36096594477bbd97715300bcaeb272b8b5233831 /cpp/src/Ice/Network.cpp | |
parent | ICE-5875 confusing tracing when binding to 0.0.0.0 (diff) | |
download | ice-180e3f6b12c252cda2ced3ad95e99884c778111c.tar.bz2 ice-180e3f6b12c252cda2ced3ad95e99884c778111c.tar.xz ice-180e3f6b12c252cda2ced3ad95e99884c778111c.zip |
Fixed ICE-5877: disabled IPv6 by default is not supported on the system
Diffstat (limited to 'cpp/src/Ice/Network.cpp')
-rw-r--r-- | cpp/src/Ice/Network.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/cpp/src/Ice/Network.cpp b/cpp/src/Ice/Network.cpp index cf8a77defbe..ce28c1bac3f 100644 --- a/cpp/src/Ice/Network.cpp +++ b/cpp/src/Ice/Network.cpp @@ -1097,6 +1097,29 @@ IceInternal::compareAddress(const Address& addr1, const Address& addr2) } #ifdef ICE_OS_WINRT +bool +IceInternal::isIPv6Supported() +{ + return true; +} +#else +bool +IceInternal::isIPv6Supported() +{ + SOCKET fd = socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP); + if(fd == INVALID_SOCKET) + { + return false; + } + else + { + closeSocketNoThrow(fd); + return true; + } +} +#endif + +#ifdef ICE_OS_WINRT SOCKET IceInternal::createSocket(bool udp, const Address&) { |