summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Network.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2018-02-06 15:32:56 +0100
committerBenoit Foucher <benoit@zeroc.com>2018-02-06 15:32:56 +0100
commit08179f1bfd7b900ca086985c0034ed9c98f71df0 (patch)
tree357c0754d5fb1ca8dbf6963e619d56325449423f /cpp/src/Ice/Network.cpp
parentRemoved explicit from CommunicatorHolder(const Ice::CommunicatorPtr&>) constr... (diff)
downloadice-08179f1bfd7b900ca086985c0034ed9c98f71df0.tar.bz2
ice-08179f1bfd7b900ca086985c0034ed9c98f71df0.tar.xz
ice-08179f1bfd7b900ca086985c0034ed9c98f71df0.zip
Added loopback addresses to published endpoints if no other adresses are available (ICE-8622)
Diffstat (limited to 'cpp/src/Ice/Network.cpp')
-rwxr-xr-xcpp/src/Ice/Network.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/cpp/src/Ice/Network.cpp b/cpp/src/Ice/Network.cpp
index 09508a02737..b97c8834bcf 100755
--- a/cpp/src/Ice/Network.cpp
+++ b/cpp/src/Ice/Network.cpp
@@ -1686,6 +1686,11 @@ IceInternal::getHostsForEndpointExpand(const string& host, ProtocolSupport proto
hosts.push_back(inetAddrToString(*p));
}
}
+ if(hosts.empty() && !includeLoopback)
+ {
+ // Return loopback if only loopback is available no other local addresses are available.
+ return getHostsForEndpointExpand(host, protocolSupport, true);
+ }
}
return hosts; // An empty host list indicates to just use the given host.
}