diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-07-20 09:27:20 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-07-20 09:27:20 +0200 |
| commit | 4d7cfe1ba7ce004b04c1bb2ead9db5792bb22f89 (patch) | |
| tree | 48986a77dc320412c8e88f33371ed3eead0acc72 | |
| parent | fc010e259215f270c2c400c682feadf6d4d570c9 (diff) | |
| download | qxmpp-4d7cfe1ba7ce004b04c1bb2ead9db5792bb22f89.tar.gz | |
SASL: move definition of available mechanisms to QXmppSaslClient
| -rw-r--r-- | src/base/QXmppSaslAuth.cpp | 6 | ||||
| -rw-r--r-- | src/base/QXmppSaslAuth.h | 1 | ||||
| -rw-r--r-- | src/client/QXmppOutgoingClient.cpp | 2 | ||||
| -rw-r--r-- | tests/sasl.cpp | 5 | ||||
| -rw-r--r-- | tests/sasl.h | 1 |
5 files changed, 14 insertions, 1 deletions
diff --git a/src/base/QXmppSaslAuth.cpp b/src/base/QXmppSaslAuth.cpp index 9152d523..61ef7fa5 100644 --- a/src/base/QXmppSaslAuth.cpp +++ b/src/base/QXmppSaslAuth.cpp @@ -25,6 +25,7 @@ #include <cstdlib> #include <QCryptographicHash> +#include <QStringList> #include <QUrl> #include "QXmppSaslAuth.h" @@ -50,6 +51,11 @@ QXmppSaslClient::~QXmppSaslClient() delete d; } +QStringList QXmppSaslClient::availableMechanisms() +{ + return QStringList() << "PLAIN" << "DIGEST-MD5" << "ANONYMOUS" << "X-FACEBOOK-PLATFORM"; +} + QXmppSaslClient* QXmppSaslClient::create(const QString &mechanism) { if (mechanism == "PLAIN") { diff --git a/src/base/QXmppSaslAuth.h b/src/base/QXmppSaslAuth.h index ad8c78b5..a43229cc 100644 --- a/src/base/QXmppSaslAuth.h +++ b/src/base/QXmppSaslAuth.h @@ -97,6 +97,7 @@ public: virtual QString mechanism() const = 0; virtual bool respond(const QByteArray &challenge, QByteArray &response) = 0; + static QStringList availableMechanisms(); static QXmppSaslClient* create(const QString &mechanism); private: diff --git a/src/client/QXmppOutgoingClient.cpp b/src/client/QXmppOutgoingClient.cpp index 4177f0b2..5a9828b3 100644 --- a/src/client/QXmppOutgoingClient.cpp +++ b/src/client/QXmppOutgoingClient.cpp @@ -338,7 +338,7 @@ void QXmppOutgoingClient::handleStanza(const QDomElement &nodeRecv) else if(saslAvailable) { // supported and preferred SASL auth mechanisms - const QStringList supportedMechanisms = QStringList() << "PLAIN" << "DIGEST-MD5" << "ANONYMOUS" << "X-FACEBOOK-PLATFORM"; + const QStringList supportedMechanisms = QXmppSaslClient::availableMechanisms(); const QString preferredMechanism = configuration().saslAuthMechanism(); // determine SASL Authentication mechanism to use diff --git a/tests/sasl.cpp b/tests/sasl.cpp index 6d2e4244..4a0b78f8 100644 --- a/tests/sasl.cpp +++ b/tests/sasl.cpp @@ -26,6 +26,11 @@ #include "sasl.h" #include "tests.h" +void tst_QXmppSaslClient::testAvailableMechanisms() +{ + QCOMPARE(QXmppSaslClient::availableMechanisms(), QStringList() << "PLAIN" << "DIGEST-MD5" << "ANONYMOUS" << "X-FACEBOOK-PLATFORM"); +} + void tst_QXmppSaslClient::testAnonymous() { QXmppSaslClient *client = QXmppSaslClient::create("ANONYMOUS"); diff --git a/tests/sasl.h b/tests/sasl.h index d92169fc..e6db2b01 100644 --- a/tests/sasl.h +++ b/tests/sasl.h @@ -28,6 +28,7 @@ class tst_QXmppSaslClient : public QObject Q_OBJECT private slots: + void testAvailableMechanisms(); void testAnonymous(); void testDigestMd5(); void testDigestMd5_data(); |
