diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-07-20 17:37:38 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-07-20 17:37:38 +0200 |
| commit | 51eef84fd4104f19228ebd85fce89658b64464a2 (patch) | |
| tree | 31db52023ae0a063714140897bcbbfb6010ba04a /src | |
| parent | db4fe78387247ff039602030d964e4c0d6e39f46 (diff) | |
| download | qxmpp-51eef84fd4104f19228ebd85fce89658b64464a2.tar.gz | |
make SASL code fully private
Diffstat (limited to 'src')
| -rw-r--r-- | src/base/QXmppSasl.cpp (renamed from src/base/QXmppSaslAuth.cpp) | 3 | ||||
| -rw-r--r-- | src/base/QXmppSaslAuth.h | 102 | ||||
| -rw-r--r-- | src/base/QXmppSasl_p.h (renamed from src/base/QXmppSaslAuth_p.h) | 81 | ||||
| -rw-r--r-- | src/base/base.pri | 3 | ||||
| -rw-r--r-- | src/client/QXmppOutgoingClient.cpp | 3 | ||||
| -rw-r--r-- | src/server/QXmppIncomingClient.cpp | 3 |
6 files changed, 81 insertions, 114 deletions
diff --git a/src/base/QXmppSaslAuth.cpp b/src/base/QXmppSasl.cpp index 1c15ae02..d37644ca 100644 --- a/src/base/QXmppSaslAuth.cpp +++ b/src/base/QXmppSasl.cpp @@ -29,8 +29,7 @@ #include <QStringList> #include <QUrl> -#include "QXmppSaslAuth.h" -#include "QXmppSaslAuth_p.h" +#include "QXmppSasl_p.h" #include "QXmppUtils.h" const char *ns_xmpp_sasl = "urn:ietf:params:xml:ns:xmpp-sasl"; diff --git a/src/base/QXmppSaslAuth.h b/src/base/QXmppSaslAuth.h deleted file mode 100644 index f436cdf3..00000000 --- a/src/base/QXmppSaslAuth.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (C) 2008-2012 The QXmpp developers - * - * Authors: - * Manjeet Dahiya - * 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. - * - */ - -#ifndef QXMPPSASLAUTH_H -#define QXMPPSASLAUTH_H - -#include "QXmppGlobal.h" -#include "QXmppLogger.h" - -class QXmppSaslClientPrivate; -class QXmppSaslServerPrivate; - -/// The QXmppSaslClient class is the base class for all SASL client -/// authentication methods. - -class QXMPP_EXPORT QXmppSaslClient : public QXmppLoggable -{ -public: - QXmppSaslClient(QObject *parent = 0); - virtual ~QXmppSaslClient(); - - QString host() const; - void setHost(const QString &host); - - QString serviceType() const; - void setServiceType(const QString &serviceType); - - QString username() const; - void setUsername(const QString &username); - - QString password() const; - void setPassword(const QString &password); - - virtual QString mechanism() const = 0; - virtual bool respond(const QByteArray &challenge, QByteArray &response) = 0; - - static QStringList availableMechanisms(); - static QXmppSaslClient* create(const QString &mechanism, QObject *parent = 0); - -private: - QXmppSaslClientPrivate *d; -}; - -/// The QXmppServerClient class is the base class for all SASL server -/// authentication methods. - -class QXMPP_EXPORT QXmppSaslServer : public QXmppLoggable -{ -public: - enum Response { - Challenge = 0, - Succeeded = 1, - Failed = 2, - InputNeeded = 3 - }; - - QXmppSaslServer(QObject *parent = 0); - virtual ~QXmppSaslServer(); - - QString username() const; - void setUsername(const QString &username); - - QString password() const; - void setPassword(const QString &password); - - QByteArray passwordDigest() const; - void setPasswordDigest(const QByteArray &digest); - - QString realm() const; - void setRealm(const QString &realm); - - virtual QString mechanism() const = 0; - virtual Response respond(const QByteArray &challenge, QByteArray &response) = 0; - - static QXmppSaslServer* create(const QString &mechanism, QObject *parent = 0); - -private: - QXmppSaslServerPrivate *d; -}; - -#endif diff --git a/src/base/QXmppSaslAuth_p.h b/src/base/QXmppSasl_p.h index 783e8b9b..636385ef 100644 --- a/src/base/QXmppSaslAuth_p.h +++ b/src/base/QXmppSasl_p.h @@ -22,25 +22,98 @@ * */ -#ifndef QXMPPSASLAUTH_P_H -#define QXMPPSASLAUTH_P_H +#ifndef QXMPPSASL_P_H +#define QXMPPSASL_P_H #include <QByteArray> #include <QMap> +#include "QXmppGlobal.h" +#include "QXmppLogger.h" #include "QXmppStanza.h" +class QXmppSaslClientPrivate; +class QXmppSaslServerPrivate; + // // W A R N I N G // ------------- // // This file is not part of the QXmpp API. It exists for the convenience -// of the QXmppSaslClient class. This header file may change from -// version to version without notice, or even be removed. +// of the QXmppIncomingClient and QXmppOutgoingClient classes. +// +// This header file may change from version to version without notice, +// or even be removed. // // We mean it. // +class QXmppSaslClient : public QXmppLoggable +{ +public: + QXmppSaslClient(QObject *parent = 0); + virtual ~QXmppSaslClient(); + + QString host() const; + void setHost(const QString &host); + + QString serviceType() const; + void setServiceType(const QString &serviceType); + + QString username() const; + void setUsername(const QString &username); + + QString password() const; + void setPassword(const QString &password); + + virtual QString mechanism() const = 0; + virtual bool respond(const QByteArray &challenge, QByteArray &response) = 0; + + static QStringList availableMechanisms(); + static QXmppSaslClient* create(const QString &mechanism, QObject *parent = 0); + +private: + QXmppSaslClientPrivate *d; +}; + +/// The QXmppServerClient class is the base class for all SASL server +/// authentication methods. + +class QXmppSaslServer : public QXmppLoggable +{ +public: + enum Response { + Challenge = 0, + Succeeded = 1, + Failed = 2, + InputNeeded = 3 + }; + + QXmppSaslServer(QObject *parent = 0); + virtual ~QXmppSaslServer(); + + QString username() const; + void setUsername(const QString &username); + + QString password() const; + void setPassword(const QString &password); + + QByteArray passwordDigest() const; + void setPasswordDigest(const QByteArray &digest); + + QString realm() const; + void setRealm(const QString &realm); + + virtual QString mechanism() const = 0; + virtual Response respond(const QByteArray &challenge, QByteArray &response) = 0; + + static QXmppSaslServer* create(const QString &mechanism, QObject *parent = 0); + +private: + QXmppSaslServerPrivate *d; +}; + + class QXmppSaslDigestMd5 { public: diff --git a/src/base/base.pri b/src/base/base.pri index c50c49a6..21c3e138 100644 --- a/src/base/base.pri +++ b/src/base/base.pri @@ -28,7 +28,6 @@ INSTALL_HEADERS += \ base/QXmppRosterIq.h \ base/QXmppRpcIq.h \ base/QXmppRtpChannel.h \ - base/QXmppSaslAuth.h \ base/QXmppSessionIq.h \ base/QXmppSocks.h \ base/QXmppStanza.h \ @@ -68,7 +67,7 @@ SOURCES += \ base/QXmppRosterIq.cpp \ base/QXmppRpcIq.cpp \ base/QXmppRtpChannel.cpp \ - base/QXmppSaslAuth.cpp \ + base/QXmppSasl.cpp \ base/QXmppSessionIq.cpp \ base/QXmppSocks.cpp \ base/QXmppStanza.cpp \ diff --git a/src/client/QXmppOutgoingClient.cpp b/src/client/QXmppOutgoingClient.cpp index 61ddf335..c8faf64d 100644 --- a/src/client/QXmppOutgoingClient.cpp +++ b/src/client/QXmppOutgoingClient.cpp @@ -37,8 +37,7 @@ #include "QXmppOutgoingClient.h" #include "QXmppStreamFeatures.h" #include "QXmppNonSASLAuth.h" -#include "QXmppSaslAuth.h" -#include "QXmppSaslAuth_p.h" +#include "QXmppSasl_p.h" #include "QXmppUtils.h" // IQ types diff --git a/src/server/QXmppIncomingClient.cpp b/src/server/QXmppIncomingClient.cpp index fd6fce18..6065dda8 100644 --- a/src/server/QXmppIncomingClient.cpp +++ b/src/server/QXmppIncomingClient.cpp @@ -31,8 +31,7 @@ #include "QXmppConstants.h" #include "QXmppMessage.h" #include "QXmppPasswordChecker.h" -#include "QXmppSaslAuth.h" -#include "QXmppSaslAuth_p.h" +#include "QXmppSasl_p.h" #include "QXmppSessionIq.h" #include "QXmppStreamFeatures.h" #include "QXmppUtils.h" |
