diff options
author | Alan Conway <aconway@apache.org> | 2011-02-01 21:26:00 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2011-02-01 21:26:00 +0000 |
commit | 8cc4082337bd6ea1be0c9f96d3383314f7fc228b (patch) | |
tree | 30762327f33233deea60aa48260e84de332465fd /cpp/src/qpid/sys/SslPlugin.cpp | |
parent | 14842b8d1b62c3c70fb135287b9daa66b08c5b63 (diff) | |
download | qpid-python-8cc4082337bd6ea1be0c9f96d3383314f7fc228b.tar.gz |
QPID-3007: Unique management identifier for connections.
Management was using remote socket address (host:port) to identify
connections, but this is not a unique identifier. Both the local and
remote addresses are needed to uniquely identify a connection - see
http://www.faqs.org/rfcs/rfc793.html.
This was causing management errors (multiple objects using same
identifier) and cluster failures (invalid-arg exception) due to
inconsistencies caused by the incorrect management map.
This commit uses "localhost:localport-remotehost:remoteport" as a unique identifier.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1066220 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/sys/SslPlugin.cpp')
-rw-r--r-- | cpp/src/qpid/sys/SslPlugin.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/cpp/src/qpid/sys/SslPlugin.cpp b/cpp/src/qpid/sys/SslPlugin.cpp index 297787f497..b0e791d60b 100644 --- a/cpp/src/qpid/sys/SslPlugin.cpp +++ b/cpp/src/qpid/sys/SslPlugin.cpp @@ -121,7 +121,7 @@ SslProtocolFactory::SslProtocolFactory(const SslServerOptions& options, int back void SslProtocolFactory::established(Poller::shared_ptr poller, const qpid::sys::ssl::SslSocket& s, ConnectionCodec::Factory* f, bool isClient) { - qpid::sys::ssl::SslHandler* async = new qpid::sys::ssl::SslHandler(s.getPeerAddress(), f, nodict); + qpid::sys::ssl::SslHandler* async = new qpid::sys::ssl::SslHandler(s.getFullAddress(), f, nodict); if (tcpNoDelay) { s.setTcpNoDelay(tcpNoDelay); |