diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-11-16 21:44:54 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-11-16 21:44:54 +0000 |
| commit | 9e86da76e5b881fa4cba6b170573793b9b83a343 (patch) | |
| tree | 8e38bd1e8a53cb29735b1b42b25d67a34e4ad7f3 /src/QXmppSaslAuth.cpp | |
| parent | 1c8faec60853260865bb3e9dbbc3afa2ec86cb8a (diff) | |
| download | qxmpp-9e86da76e5b881fa4cba6b170573793b9b83a343.tar.gz | |
make QXmppSaslDigestMd5 capable of generating old-style (no qop) digests
Diffstat (limited to 'src/QXmppSaslAuth.cpp')
| -rw-r--r-- | src/QXmppSaslAuth.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
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(); } |
