summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2006-11-10 16:24:17 +0000
committerDwayne Boone <dwayne@zeroc.com>2006-11-10 16:24:17 +0000
commite2233a55ee757d8ba19b560dd8de98ba3f737423 (patch)
tree34cfad84fbba69510c66e2ef15e8885175c10c7a /java
parentadding ice_print to exceptions (diff)
downloadice-e2233a55ee757d8ba19b560dd8de98ba3f737423.tar.bz2
ice-e2233a55ee757d8ba19b560dd8de98ba3f737423.tar.xz
ice-e2233a55ee757d8ba19b560dd8de98ba3f737423.zip
Fixes to ignnore IPv6 addresses
Diffstat (limited to 'java')
-rw-r--r--java/src/Ice/SysLoggerI.java6
-rw-r--r--java/src/IceInternal/Network.java19
-rw-r--r--java/src/IceInternal/TcpEndpointI.java6
-rw-r--r--java/src/IceInternal/UdpEndpointI.java6
-rw-r--r--java/ssl/jdk1.4/IceSSL/AcceptorI.java4
-rw-r--r--java/ssl/jdk1.4/IceSSL/EndpointI.java6
-rw-r--r--java/ssl/jdk1.5/IceSSL/EndpointI.java6
7 files changed, 31 insertions, 22 deletions
diff --git a/java/src/Ice/SysLoggerI.java b/java/src/Ice/SysLoggerI.java
index 4b7b0ddb3a7..260b6a977b1 100644
--- a/java/src/Ice/SysLoggerI.java
+++ b/java/src/Ice/SysLoggerI.java
@@ -27,14 +27,10 @@ public final class SysLoggerI extends LocalObjectImpl implements Logger
//
try
{
- _host = InetAddress.getLocalHost();
+ _host = IceInternal.Network.getLocalAddress();
_socket = new DatagramSocket();
_socket.connect(_host, _port);
}
- catch(java.net.UnknownHostException ex)
- {
- throw new Ice.DNSException();
- }
catch(java.io.IOException ex)
{
Ice.SocketException se = new Ice.SocketException();
diff --git a/java/src/IceInternal/Network.java b/java/src/IceInternal/Network.java
index 783d064c4e9..fb1e0c6961e 100644
--- a/java/src/IceInternal/Network.java
+++ b/java/src/IceInternal/Network.java
@@ -539,8 +539,14 @@ public final class Network
{
try
{
- java.net.InetAddress addr = java.net.InetAddress.getByName(host);
- return new java.net.InetSocketAddress(addr, port);
+ java.net.InetAddress[] addrs = java.net.InetAddress.getAllByName(host);
+ for(int i = 0; i < addrs.length; ++i)
+ {
+ if(addrs[i] instanceof java.net.Inet4Address)
+ {
+ return new java.net.InetSocketAddress(addrs[i], port);
+ }
+ }
}
catch(java.net.UnknownHostException ex)
{
@@ -548,6 +554,13 @@ public final class Network
e.host = host;
throw e;
}
+
+ //
+ // No Inet4Address available.
+ //
+ Ice.DNSException e = new Ice.DNSException();
+ e.host = host;
+ throw e;
}
public static java.net.InetAddress
@@ -572,7 +585,7 @@ public final class Network
//
}
- if(addr == null)
+ if(addr == null || addr instanceof java.net.Inet6Address)
{
//
// Iterate over the network interfaces and pick an IP
diff --git a/java/src/IceInternal/TcpEndpointI.java b/java/src/IceInternal/TcpEndpointI.java
index 5fd78e98ca8..829e9fed6d2 100644
--- a/java/src/IceInternal/TcpEndpointI.java
+++ b/java/src/IceInternal/TcpEndpointI.java
@@ -547,10 +547,10 @@ final class TcpEndpointI extends EndpointI
{
try
{
- java.net.InetAddress addr = java.net.InetAddress.getByName(_host);
- _hashCode = addr.getHostAddress().hashCode();
+ java.net.InetSocketAddress addr = Network.getAddress(_host, _port);
+ _hashCode = addr.getAddress().getHostAddress().hashCode();
}
- catch(java.net.UnknownHostException ex)
+ catch(Ice.DNSException ex)
{
_hashCode = _host.hashCode();
}
diff --git a/java/src/IceInternal/UdpEndpointI.java b/java/src/IceInternal/UdpEndpointI.java
index 8e8dfaccc08..b04d798298b 100644
--- a/java/src/IceInternal/UdpEndpointI.java
+++ b/java/src/IceInternal/UdpEndpointI.java
@@ -718,10 +718,10 @@ final class UdpEndpointI extends EndpointI
{
try
{
- java.net.InetAddress addr = java.net.InetAddress.getByName(_host);
- _hashCode = addr.getHostAddress().hashCode();
+ java.net.InetSocketAddress addr = Network.getAddress(_host, _port);
+ _hashCode = addr.getAddress().getHostAddress().hashCode();
}
- catch(java.net.UnknownHostException ex)
+ catch(Ice.DNSException ex)
{
_hashCode = _host.hashCode();
}
diff --git a/java/ssl/jdk1.4/IceSSL/AcceptorI.java b/java/ssl/jdk1.4/IceSSL/AcceptorI.java
index 777439135a2..08f55ee80ba 100644
--- a/java/ssl/jdk1.4/IceSSL/AcceptorI.java
+++ b/java/ssl/jdk1.4/IceSSL/AcceptorI.java
@@ -292,8 +292,8 @@ class AcceptorI implements IceInternal.Acceptor
String s = "attempting to bind to ssl socket " + toString();
_logger.trace(_instance.networkTraceCategory(), s);
}
- java.net.InetAddress iface = java.net.InetAddress.getByName(host);
- _fd = (javax.net.ssl.SSLServerSocket)factory.createServerSocket(port, _backlog, iface);
+ java.net.InetSocketAddress iface = IceInternal.Network.getAddress(host, port);
+ _fd = (javax.net.ssl.SSLServerSocket)factory.createServerSocket(port, _backlog, iface.getAddress());
_addr = (java.net.InetSocketAddress)_fd.getLocalSocketAddress();
int verifyPeer =
diff --git a/java/ssl/jdk1.4/IceSSL/EndpointI.java b/java/ssl/jdk1.4/IceSSL/EndpointI.java
index 06aacbebb9a..6f934eca015 100644
--- a/java/ssl/jdk1.4/IceSSL/EndpointI.java
+++ b/java/ssl/jdk1.4/IceSSL/EndpointI.java
@@ -547,10 +547,10 @@ final class EndpointI extends IceInternal.EndpointI
{
try
{
- java.net.InetAddress addr = java.net.InetAddress.getByName(_host);
- _hashCode = addr.getHostAddress().hashCode();
+ java.net.InetSocketAddress addr = IceInternal.Network.getAddress(_host, _port);
+ _hashCode = addr.getAddress().getHostAddress().hashCode();
}
- catch(java.net.UnknownHostException ex)
+ catch(Ice.DNSException ex)
{
_hashCode = _host.hashCode();
}
diff --git a/java/ssl/jdk1.5/IceSSL/EndpointI.java b/java/ssl/jdk1.5/IceSSL/EndpointI.java
index c7a358401c7..49bcae74b3c 100644
--- a/java/ssl/jdk1.5/IceSSL/EndpointI.java
+++ b/java/ssl/jdk1.5/IceSSL/EndpointI.java
@@ -547,10 +547,10 @@ final class EndpointI extends IceInternal.EndpointI
{
try
{
- java.net.InetAddress addr = java.net.InetAddress.getByName(_host);
- _hashCode = addr.getHostAddress().hashCode();
+ java.net.InetSocketAddress addr = IceInternal.Network.getAddress(_host, _port);
+ _hashCode = addr.getAddress().getHostAddress().hashCode();
}
- catch(java.net.UnknownHostException ex)
+ catch(Ice.DNSException ex)
{
_hashCode = _host.hashCode();
}