aboutsummaryrefslogtreecommitdiff
path: root/src/QXmppSaslAuth.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2011-03-29 13:20:14 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2011-03-29 13:20:14 +0000
commit75a0cb2036ebd6c1913caec6d4d9c4497481ec2f (patch)
tree2119507630d04f09c90fe05138e866fa3c88ba69 /src/QXmppSaslAuth.cpp
parent4f738fbb73b3b15b6022635b78dac71f91909cd0 (diff)
downloadqxmpp-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.cpp28
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;