aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppSaslAuth.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2012-07-20 17:25:41 +0200
committerJeremy Lainé <jeremy.laine@m4x.org>2012-07-20 17:25:41 +0200
commitdb4fe78387247ff039602030d964e4c0d6e39f46 (patch)
tree8e9ba8cd5e380c813376f6878b9593e84dff61b7 /src/base/QXmppSaslAuth.cpp
parent1e24a0feab544db99f19e55eb81c836f62c4585f (diff)
downloadqxmpp-db4fe78387247ff039602030d964e4c0d6e39f46.tar.gz
fix tests
Diffstat (limited to 'src/base/QXmppSaslAuth.cpp')
-rw-r--r--src/base/QXmppSaslAuth.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/base/QXmppSaslAuth.cpp b/src/base/QXmppSaslAuth.cpp
index 6c9c85fc..1c15ae02 100644
--- a/src/base/QXmppSaslAuth.cpp
+++ b/src/base/QXmppSaslAuth.cpp
@@ -35,6 +35,8 @@
const char *ns_xmpp_sasl = "urn:ietf:params:xml:ns:xmpp-sasl";
+static QByteArray forcedNonce;
+
// Calculate digest response for use with XMPP/SASL.
static QByteArray calculateDigest(const QByteArray &method, const QByteArray &digestUri, const QByteArray &secret, const QByteArray &nonce, const QByteArray &cnonce, const QByteArray &nc)
@@ -50,6 +52,9 @@ static QByteArray calculateDigest(const QByteArray &method, const QByteArray &di
static QByteArray generateNonce()
{
+ if (!forcedNonce.isEmpty())
+ return forcedNonce;
+
QByteArray nonce = QXmppUtils::generateRandomBytes(32);
// The random data can the '=' char is not valid as it is a delimiter,
@@ -655,6 +660,11 @@ QXmppSaslServer::Response QXmppSaslServerPlain::respond(const QByteArray &reques
}
}
+void QXmppSaslDigestMd5::setNonce(const QByteArray &nonce)
+{
+ forcedNonce = nonce;
+}
+
QMap<QByteArray, QByteArray> QXmppSaslDigestMd5::parseMessage(const QByteArray &ba)
{
QMap<QByteArray, QByteArray> map;