diff options
Diffstat (limited to 'cpp/src/IceSSL/TransceiverI.cpp')
-rw-r--r-- | cpp/src/IceSSL/TransceiverI.cpp | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/cpp/src/IceSSL/TransceiverI.cpp b/cpp/src/IceSSL/TransceiverI.cpp index a30ce0f0264..2674d714d87 100644 --- a/cpp/src/IceSSL/TransceiverI.cpp +++ b/cpp/src/IceSSL/TransceiverI.cpp @@ -247,24 +247,25 @@ IceSSL::TransceiverI::initialize() if(_instance->networkTraceLevel() >= 2) { Trace out(_logger, _instance->networkTraceCategory()); - - struct sockaddr_storage localAddr; - IceInternal::fdToLocalAddress(_fd, localAddr); - - struct sockaddr_storage remoteAddr; + out << "failed to establish ssl connection\n"; if(_incoming) { - IceInternal::fdToRemoteAddress(_fd, remoteAddr); + out << IceInternal::fdToString(_fd) << "\n" << ex; } else { - remoteAddr = _connectAddr; +#ifndef _WIN32 + // + // The local address is only accessible with connected sockets on Windows. + // + struct sockaddr_storage localAddr; + IceInternal::fdToLocalAddress(_fd, localAddr); + out << "local address: " << IceInternal::addrToString(localAddr) << "\n"; +#else + out << "local address: <not available>\n"; +#endif + out << "remote address: " << IceInternal::addrToString(_connectAddr) << "\n" << ex; } - - out << "failed to establish ssl connection\n" - << "local address: " << IceInternal::addrToString(localAddr) << "\n" - << "remote address: " << IceInternal::addrToString(remoteAddr) << "\n" - << ex; } throw; } @@ -648,7 +649,6 @@ IceSSL::TransceiverI::startWrite(IceInternal::Buffer& buf) if(_state < StateConnected) { IceInternal::doConnectAsync(_fd, _connectAddr, _write); - _desc = IceInternal::fdToString(_fd); return false; } |