From 75a0cb2036ebd6c1913caec6d4d9c4497481ec2f Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Tue, 29 Mar 2011 13:20:14 +0000 Subject: refactor SASL authentication to allow server-side password checkers which natively support MD5 --- src/QXmppSaslAuth.cpp | 28 +++------------------------- 1 file changed, 3 insertions(+), 25 deletions(-) (limited to 'src/QXmppSaslAuth.cpp') 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; -- cgit v1.2.3