From a8603c8043e6123cf9380b35a9b18561166f32d2 Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Fri, 20 Jul 2012 14:24:04 +0200 Subject: rework --- src/server/QXmppIncomingClient.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/server/QXmppIncomingClient.cpp') diff --git a/src/server/QXmppIncomingClient.cpp b/src/server/QXmppIncomingClient.cpp index a8eadb4e..cf2ae092 100644 --- a/src/server/QXmppIncomingClient.cpp +++ b/src/server/QXmppIncomingClient.cpp @@ -296,10 +296,12 @@ void QXmppIncomingClient::handleStanza(const QDomElement &nodeRecv) } else if (nodeRecv.tagName() == QLatin1String("response")) { + QXmppSaslResponse response; + response.parse(nodeRecv); + if (d->saslDigestStep == 1) { - const QByteArray raw = QByteArray::fromBase64(nodeRecv.text().toAscii()); - QMap saslResponse = QXmppSaslDigestMd5::parseMessage(raw); + QMap saslResponse = QXmppSaslDigestMd5::parseMessage(response.value()); // check credentials const QString username = QString::fromUtf8(saslResponse.value("username")); @@ -310,7 +312,7 @@ void QXmppIncomingClient::handleStanza(const QDomElement &nodeRecv) QXmppPasswordReply *reply = d->passwordChecker->getDigest(request); reply->setParent(this); - reply->setProperty("__sasl_raw", raw); + reply->setProperty("__sasl_raw", response.value()); connect(reply, SIGNAL(finished()), this, SLOT(onDigestReply())); } else if (d->saslDigestStep == 2) -- cgit v1.2.3