summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Network.cpp
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2008-01-18 14:51:16 -0330
committerDwayne Boone <dwayne@zeroc.com>2008-01-18 14:51:16 -0330
commit8c9e6c982ea09411ec9d2226e83e2859babc657f (patch)
tree0b0a5392fcedef46342c34029ec3f98e02cf1d3d /cpp/src/Ice/Network.cpp
parentFixed IPv6 endpoint parsing (diff)
downloadice-8c9e6c982ea09411ec9d2226e83e2859babc657f.tar.bz2
ice-8c9e6c982ea09411ec9d2226e83e2859babc657f.tar.xz
ice-8c9e6c982ea09411ec9d2226e83e2859babc657f.zip
Fixed setting client host to INADD_ANY
Diffstat (limited to 'cpp/src/Ice/Network.cpp')
-rw-r--r--cpp/src/Ice/Network.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/cpp/src/Ice/Network.cpp b/cpp/src/Ice/Network.cpp
index 70940b2e7c3..5e6f5bfba0a 100644
--- a/cpp/src/Ice/Network.cpp
+++ b/cpp/src/Ice/Network.cpp
@@ -1306,19 +1306,11 @@ IceInternal::getAddresses(const string& host, int port, ProtocolSupport protocol
{
struct sockaddr_in* addrin = reinterpret_cast<sockaddr_in*>(&addr);
addrin->sin_port = htons(port);
- if(addrin->sin_addr.s_addr == 0)
- {
- continue;
- }
}
else if(p->ai_family == PF_INET6)
{
struct sockaddr_in6* addrin6 = reinterpret_cast<sockaddr_in6*>(&addr);
addrin6->sin6_port = htons(port);
- if(IN6_IS_ADDR_UNSPECIFIED(&addrin6->sin6_addr))
- {
- continue;
- }
}
bool found = false;
@@ -1337,6 +1329,14 @@ IceInternal::getAddresses(const string& host, int port, ProtocolSupport protocol
}
freeaddrinfo(info);
+
+ if(result.size() == 0)
+ {
+ DNSException ex(__FILE__, __LINE__);
+ ex.host = host;
+ throw ex;
+ }
+
return result;
}