diff options
author | Benoit Foucher <benoit@zeroc.com> | 2008-01-07 10:30:13 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2008-01-07 10:30:13 +0100 |
commit | d9ce265d9766f0d48c6a6c10491be1f782424a2c (patch) | |
tree | 62df7123b09ccbcc617c6024c4b30e1bec45f16b /java/src/IceSSL/ConnectorI.java | |
parent | Fixed IceBox/configuration test failure when run with --protocol=ssl (diff) | |
download | ice-d9ce265d9766f0d48c6a6c10491be1f782424a2c.tar.bz2 ice-d9ce265d9766f0d48c6a6c10491be1f782424a2c.tar.xz ice-d9ce265d9766f0d48c6a6c10491be1f782424a2c.zip |
Fixed bug 2304
Diffstat (limited to 'java/src/IceSSL/ConnectorI.java')
-rw-r--r-- | java/src/IceSSL/ConnectorI.java | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/java/src/IceSSL/ConnectorI.java b/java/src/IceSSL/ConnectorI.java index e2d25283302..97ed91e9939 100644 --- a/java/src/IceSSL/ConnectorI.java +++ b/java/src/IceSSL/ConnectorI.java @@ -30,19 +30,30 @@ final class ConnectorI implements IceInternal.Connector, java.lang.Comparable _logger.trace(_instance.networkTraceCategory(), s); } - java.nio.channels.SocketChannel fd = IceInternal.Network.createTcpSocket(); - IceInternal.Network.setBlock(fd, false); - IceInternal.Network.setTcpBufSize(fd, _instance.communicator().getProperties(), _logger); - boolean connected = IceInternal.Network.doConnect(fd, _addr, timeout); - try { - javax.net.ssl.SSLEngine engine = _instance.createSSLEngine(false); - return new TransceiverI(_instance, engine, fd, _host, connected, false, ""); + java.nio.channels.SocketChannel fd = IceInternal.Network.createTcpSocket(); + IceInternal.Network.setBlock(fd, false); + IceInternal.Network.setTcpBufSize(fd, _instance.communicator().getProperties(), _logger); + boolean connected = IceInternal.Network.doConnect(fd, _addr, timeout); + try + { + javax.net.ssl.SSLEngine engine = _instance.createSSLEngine(false); + return new TransceiverI(_instance, engine, fd, _host, connected, false, ""); + } + catch(RuntimeException ex) + { + IceInternal.Network.closeSocketNoThrow(fd); + throw ex; + } } - catch(RuntimeException ex) + catch(Ice.LocalException ex) { - IceInternal.Network.closeSocketNoThrow(fd); + if(_instance.networkTraceLevel() >= 2) + { + String s = "failed to establish ssl connection to " + toString() + "\n" + ex; + _logger.trace(_instance.networkTraceCategory(), s); + } throw ex; } } |