aboutsummaryrefslogtreecommitdiff
path: root/src/client/QXmppOutgoingClient.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/QXmppOutgoingClient.cpp')
-rw-r--r--src/client/QXmppOutgoingClient.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/client/QXmppOutgoingClient.cpp b/src/client/QXmppOutgoingClient.cpp
index a34ac2ec..71d81d3a 100644
--- a/src/client/QXmppOutgoingClient.cpp
+++ b/src/client/QXmppOutgoingClient.cpp
@@ -431,9 +431,12 @@ void QXmppOutgoingClient::handleStanza(const QDomElement &nodeRecv)
}
else if(nodeRecv.tagName() == "challenge")
{
+ QXmppSaslChallenge challenge;
+ challenge.parse(nodeRecv);
+
QByteArray response;
- if (d->saslClient->respond(QByteArray::fromBase64(nodeRecv.text().toAscii()), response)) {
- sendData("<response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>" + response.toBase64() + "</response>");
+ if (d->saslClient->respond(challenge.value(), response)) {
+ sendPacket(QXmppSaslResponse(response));
} else {
warning("Could not respond to SASL challenge");
disconnectFromHost();