From 9e86da76e5b881fa4cba6b170573793b9b83a343 Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Tue, 16 Nov 2010 21:44:54 +0000 Subject: make QXmppSaslDigestMd5 capable of generating old-style (no qop) digests --- src/QXmppSaslAuth.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/QXmppSaslAuth.cpp') diff --git a/src/QXmppSaslAuth.cpp b/src/QXmppSaslAuth.cpp index 4a7453d8..c7341af4 100644 --- a/src/QXmppSaslAuth.cpp +++ b/src/QXmppSaslAuth.cpp @@ -150,8 +150,11 @@ QByteArray QXmppSaslDigestMd5::calculateDigest(const QByteArray &A1, const QByte { QByteArray HA1 = QCryptographicHash::hash(A1, QCryptographicHash::Md5).toHex(); QByteArray HA2 = QCryptographicHash::hash(A2, QCryptographicHash::Md5).toHex(); - QByteArray KD = HA1 + ':' + m_nonce + ':' + m_nc + ':' + m_cnonce + ':' - + m_qop + ':' + HA2; + QByteArray KD; + if (m_qop == "auth" || m_qop == "auth-int") + KD = HA1 + ':' + m_nonce + ':' + m_nc + ':' + m_cnonce + ':' + m_qop + ':' + HA2; + else + KD = HA1 + ':' + m_nonce + ':' + HA2; return QCryptographicHash::hash(KD, QCryptographicHash::Md5).toHex(); } -- cgit v1.2.3