aboutsummaryrefslogtreecommitdiff
path: root/src/base
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
parent1e24a0feab544db99f19e55eb81c836f62c4585f (diff)
downloadqxmpp-db4fe78387247ff039602030d964e4c0d6e39f46.tar.gz
fix tests
Diffstat (limited to 'src/base')
-rw-r--r--src/base/QXmppSaslAuth.cpp10
-rw-r--r--src/base/QXmppSaslAuth_p.h2
2 files changed, 12 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;
diff --git a/src/base/QXmppSaslAuth_p.h b/src/base/QXmppSaslAuth_p.h
index ace6b29f..783e8b9b 100644
--- a/src/base/QXmppSaslAuth_p.h
+++ b/src/base/QXmppSaslAuth_p.h
@@ -44,6 +44,8 @@
class QXmppSaslDigestMd5
{
public:
+ static void setNonce(const QByteArray &nonce);
+
// message parsing and serialization
static QMap<QByteArray, QByteArray> parseMessage(const QByteArray &ba);
static QByteArray serializeMessage(const QMap<QByteArray, QByteArray> &map);