diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2011-03-29 13:20:14 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2011-03-29 13:20:14 +0000 |
| commit | 75a0cb2036ebd6c1913caec6d4d9c4497481ec2f (patch) | |
| tree | 2119507630d04f09c90fe05138e866fa3c88ba69 /src/QXmppSaslAuth.cpp | |
| parent | 4f738fbb73b3b15b6022635b78dac71f91909cd0 (diff) | |
| download | qxmpp-75a0cb2036ebd6c1913caec6d4d9c4497481ec2f.tar.gz | |
refactor SASL authentication to allow server-side password checkers which natively support MD5
Diffstat (limited to 'src/QXmppSaslAuth.cpp')
| -rw-r--r-- | src/QXmppSaslAuth.cpp | 28 |
1 files changed, 3 insertions, 25 deletions
diff --git a/src/QXmppSaslAuth.cpp b/src/QXmppSaslAuth.cpp index c40ff1a2..9543ea02 100644 --- a/src/QXmppSaslAuth.cpp +++ b/src/QXmppSaslAuth.cpp @@ -89,29 +89,9 @@ void QXmppSaslDigestMd5::setQop(const QByteArray &qop) m_qop = qop; } -QByteArray QXmppSaslDigestMd5::realm() const +void QXmppSaslDigestMd5::setSecret(const QByteArray &secret) { - return m_realm; -} - -void QXmppSaslDigestMd5::setRealm(const QByteArray &realm) -{ - m_realm = realm; -} - -QByteArray QXmppSaslDigestMd5::username() const -{ - return m_username; -} - -void QXmppSaslDigestMd5::setUsername(const QByteArray &username) -{ - m_username = username; -} - -void QXmppSaslDigestMd5::setPassword(const QByteArray &password) -{ - m_password = password; + m_secret = secret; } QByteArray QXmppSaslDigestMd5::generateNonce() @@ -130,9 +110,7 @@ QByteArray QXmppSaslDigestMd5::generateNonce() QByteArray QXmppSaslDigestMd5::calculateDigest(const QByteArray &A2) const { - const QByteArray a1 = m_username + ':' + m_realm + ':' + m_password; - QByteArray ha1 = QCryptographicHash::hash(a1, QCryptographicHash::Md5); - ha1 += ':' + m_nonce + ':' + m_cnonce; + QByteArray ha1 = m_secret + ':' + m_nonce + ':' + m_cnonce; if (!m_authzid.isEmpty()) ha1 += ':' + m_authzid; |
