summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/ConnectionHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/broker/ConnectionHandler.cpp')
-rw-r--r--cpp/src/qpid/broker/ConnectionHandler.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/cpp/src/qpid/broker/ConnectionHandler.cpp b/cpp/src/qpid/broker/ConnectionHandler.cpp
index 9843c16326..3f97e5b9de 100644
--- a/cpp/src/qpid/broker/ConnectionHandler.cpp
+++ b/cpp/src/qpid/broker/ConnectionHandler.cpp
@@ -239,9 +239,9 @@ void ConnectionHandler::Handler::start(const FieldTable& serverProperties,
const framing::Array& /*locales*/)
{
string requestedMechanism = connection.getAuthMechanism();
- string response = connection.getAuthCredentials();
std::string username = connection.getUsername();
+
std::string password = connection.getPassword();
std::string host = connection.getHost();
std::string service("qpidd");
@@ -298,19 +298,17 @@ void ConnectionHandler::Handler::start(const FieldTable& serverProperties,
ft.setInt(QPID_FED_LINK,1);
ft.setString(QPID_FED_TAG, connection.getBroker().getFederationTag());
+ string response;
if (sasl.get()) {
- string response =
- sasl->start ( requestedMechanism.empty()
- ? supportedMechanismsList
- : requestedMechanism,
- getSecuritySettings
- ? getSecuritySettings()
- : 0
- );
+ const qpid::sys::SecuritySettings& ss = connection.getExternalSecuritySettings();
+ response = sasl->start ( requestedMechanism.empty()
+ ? supportedMechanismsList
+ : requestedMechanism,
+ & ss );
proxy.startOk ( ft, sasl->getMechanism(), response, en_US );
}
else {
- string response = ((char)0) + username + ((char)0) + password;
+ response = ((char)0) + username + ((char)0) + password;
proxy.startOk ( ft, requestedMechanism, response, en_US );
}