diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-07-20 14:24:04 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-07-20 14:24:04 +0200 |
| commit | a8603c8043e6123cf9380b35a9b18561166f32d2 (patch) | |
| tree | ce94df8aa03966fb72e1c0aa38e98f7951ce58e1 /src/server/QXmppIncomingClient.cpp | |
| parent | bb57b2c07f92acc8a1c91ce70a6dfa51ccff1f4e (diff) | |
| download | qxmpp-a8603c8043e6123cf9380b35a9b18561166f32d2.tar.gz | |
rework
Diffstat (limited to 'src/server/QXmppIncomingClient.cpp')
| -rw-r--r-- | src/server/QXmppIncomingClient.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
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<QByteArray, QByteArray> saslResponse = QXmppSaslDigestMd5::parseMessage(raw); + QMap<QByteArray, QByteArray> 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) |
