diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2006-11-10 16:24:17 +0000 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2006-11-10 16:24:17 +0000 |
commit | e2233a55ee757d8ba19b560dd8de98ba3f737423 (patch) | |
tree | 34cfad84fbba69510c66e2ef15e8885175c10c7a /java | |
parent | adding ice_print to exceptions (diff) | |
download | ice-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.java | 6 | ||||
-rw-r--r-- | java/src/IceInternal/Network.java | 19 | ||||
-rw-r--r-- | java/src/IceInternal/TcpEndpointI.java | 6 | ||||
-rw-r--r-- | java/src/IceInternal/UdpEndpointI.java | 6 | ||||
-rw-r--r-- | java/ssl/jdk1.4/IceSSL/AcceptorI.java | 4 | ||||
-rw-r--r-- | java/ssl/jdk1.4/IceSSL/EndpointI.java | 6 | ||||
-rw-r--r-- | java/ssl/jdk1.5/IceSSL/EndpointI.java | 6 |
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(); } |