diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-02-08 12:14:30 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-02-08 12:14:30 +0000 |
| commit | cea7ae1e702b82d2d0d0a851de1aae58270b14f6 (patch) | |
| tree | 7fb9d3bf62bed76f2bf5df4544952ce53a0003b3 /src/QXmppPasswordChecker.cpp | |
| parent | 0a07f25dfd859dcfaf27e89579a7e751865dc1ad (diff) | |
| download | qxmpp-cea7ae1e702b82d2d0d0a851de1aae58270b14f6.tar.gz | |
move QXmppPasswordChecker, it's server-only
Diffstat (limited to 'src/QXmppPasswordChecker.cpp')
| -rw-r--r-- | src/QXmppPasswordChecker.cpp | 224 |
1 files changed, 0 insertions, 224 deletions
diff --git a/src/QXmppPasswordChecker.cpp b/src/QXmppPasswordChecker.cpp deleted file mode 100644 index 9048d66c..00000000 --- a/src/QXmppPasswordChecker.cpp +++ /dev/null @@ -1,224 +0,0 @@ -/* - * Copyright (C) 2008-2011 The QXmpp developers - * - * Author: - * Jeremy Lainé - * - * Source: - * http://code.google.com/p/qxmpp - * - * This file is a part of QXmpp library. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - */ - -#include <QCryptographicHash> -#include <QString> -#include <QTimer> - -#include "QXmppPasswordChecker.h" - -/// Returns the requested domain. - -QString QXmppPasswordRequest::domain() const -{ - return m_domain; -} - -/// Sets the requested \a domain. -/// -/// \param domain - -void QXmppPasswordRequest::setDomain(const QString &domain) -{ - m_domain = domain; -} - -QString QXmppPasswordRequest::password() const -{ - return m_password; -} - -void QXmppPasswordRequest::setPassword(const QString &password) -{ - m_password = password; -} - -/// Returns the requested username. - -QString QXmppPasswordRequest::username() const -{ - return m_username; -} - -/// Sets the requested \a username. -/// -/// \param username - -void QXmppPasswordRequest::setUsername(const QString &username) -{ - m_username = username; -} - -/// Constructs a new QXmppPasswordReply. -/// -/// \param parent - -QXmppPasswordReply::QXmppPasswordReply(QObject *parent) - : QObject(parent), - m_error(QXmppPasswordReply::NoError), - m_isFinished(false) -{ -} - -/// Returns the received MD5 digest. - -QByteArray QXmppPasswordReply::digest() const -{ - return m_digest; -} - -/// Sets the received MD5 digest. -/// -/// \param digest - -void QXmppPasswordReply::setDigest(const QByteArray &digest) -{ - m_digest = digest; -} - -/// Returns the error that was found during the processing of this request. -/// -/// If no error was found, returns NoError. - -QXmppPasswordReply::Error QXmppPasswordReply::error() const -{ - return m_error; -} - -/// Returns the error that was found during the processing of this request. -/// -void QXmppPasswordReply::setError(QXmppPasswordReply::Error error) -{ - m_error = error; -} - -/// Mark reply as finished. - -void QXmppPasswordReply::finish() -{ - m_isFinished = true; - emit finished(); -} - -/// Delay marking reply as finished. - -void QXmppPasswordReply::finishLater() -{ - QTimer::singleShot(0, this, SLOT(finish())); -} - -/// Returns true when the reply has finished. - -bool QXmppPasswordReply::isFinished() const -{ - return m_isFinished; -} - -/// Returns the received password. - -QString QXmppPasswordReply::password() const -{ - return m_password; -} - -/// Sets the received password. -/// -/// \param password - -void QXmppPasswordReply::setPassword(const QString &password) -{ - m_password = password; -} - -/// Checks that the given credentials are valid. -/// -/// The base implementation requires that you reimplement getPassword(). -/// -/// \param request - -QXmppPasswordReply *QXmppPasswordChecker::checkPassword(const QXmppPasswordRequest &request) -{ - QXmppPasswordReply *reply = new QXmppPasswordReply; - - QString secret; - QXmppPasswordReply::Error error = getPassword(request, secret); - if (error == QXmppPasswordReply::NoError) { - if (request.password() != secret) - reply->setError(QXmppPasswordReply::AuthorizationError); - } else { - reply->setError(error); - } - - // reply is finished - reply->finishLater(); - return reply; -} - -/// Retrieves the MD5 digest for the given username. -/// -/// Reimplement this method if your backend natively supports -/// retrieving MD5 digests. -/// -/// \param request - -QXmppPasswordReply *QXmppPasswordChecker::getDigest(const QXmppPasswordRequest &request) -{ - QXmppPasswordReply *reply = new QXmppPasswordReply; - - QString secret; - QXmppPasswordReply::Error error = getPassword(request, secret); - if (error == QXmppPasswordReply::NoError) { - reply->setDigest(QCryptographicHash::hash( - (request.username() + ":" + request.domain() + ":" + secret).toUtf8(), - QCryptographicHash::Md5)); - } else { - reply->setError(error); - } - - // reply is finished - reply->finishLater(); - return reply; -} - -/// Retrieves the password for the given username. -/// -/// The simplest way to write a password checker is to reimplement this method. -/// -/// \param request -/// \param password - -QXmppPasswordReply::Error QXmppPasswordChecker::getPassword(const QXmppPasswordRequest &request, QString &password) -{ - Q_UNUSED(request); - Q_UNUSED(password); - return QXmppPasswordReply::TemporaryError; -} - -/// Returns true if the getPassword() method is implemented. -/// - -bool QXmppPasswordChecker::hasGetPassword() const -{ - return false; -} - |
