From ef9f9a57f1dd2e70d29afa26fa0d1ab38a5e3aca Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Wed, 18 Jul 2012 15:17:22 +0200 Subject: Make SASL mechanisms string based. Deprecate QXmppConfiguration::setSASLAuthMechanism(), replaced by the string-based QXmppConfiguration::setSaslAuthMechanism(). --- src/client/QXmppConfiguration.cpp | 58 ++++++++++++++++++++++++++++++--------- 1 file changed, 45 insertions(+), 13 deletions(-) (limited to 'src/client/QXmppConfiguration.cpp') diff --git a/src/client/QXmppConfiguration.cpp b/src/client/QXmppConfiguration.cpp index 544997be..62fa7a07 100644 --- a/src/client/QXmppConfiguration.cpp +++ b/src/client/QXmppConfiguration.cpp @@ -64,7 +64,7 @@ public: QXmppConfiguration::StreamSecurityMode streamSecurityMode; QXmppConfiguration::NonSASLAuthMechanism nonSASLAuthMechanism; - QXmppConfiguration::SASLAuthMechanism SASLAuthMechanism; + QString saslAuthMechanism; QNetworkProxy networkProxy; @@ -84,7 +84,7 @@ QXmppConfigurationPrivate::QXmppConfigurationPrivate() , ignoreSslErrors(true) , streamSecurityMode(QXmppConfiguration::TLSEnabled) , nonSASLAuthMechanism(QXmppConfiguration::NonSASLDigest) - , SASLAuthMechanism(QXmppConfiguration::SASLDigestMD5) + , saslAuthMechanism("DIGEST-MD5") { } @@ -447,25 +447,22 @@ void QXmppConfiguration::setNonSASLAuthMechanism( d->nonSASLAuthMechanism = mech; } -/// Returns the SASL authentication mechanism configuration. -/// -/// \return QXmppConfiguration::SASLAuthMechanism +/// Returns the preferred SASL authentication mechanism. /// +/// Default value: "DIGEST-MD5" -QXmppConfiguration::SASLAuthMechanism QXmppConfiguration::sASLAuthMechanism() const +QString QXmppConfiguration::saslAuthMechanism() const { - return d->SASLAuthMechanism; + return d->saslAuthMechanism; } -/// Hints the library the SASL authentication mechanism to be used for authentication. -/// -/// \param mech QXmppConfiguration::SASLAuthMechanism +/// Sets the preferred SASL authentication \a mechanism. /// +/// Valid values: "PLAIN", "DIGEST-MD5", "ANONYMOUS", "X-FACEBOOK-PLATFORM" -void QXmppConfiguration::setSASLAuthMechanism( - QXmppConfiguration::SASLAuthMechanism mech) +void QXmppConfiguration::setSaslAuthMechanism(const QString &mechanism) { - d->SASLAuthMechanism = mech; + d->saslAuthMechanism = mechanism; } /// Specifies the network proxy used for the connection made by QXmppClient. @@ -547,3 +544,38 @@ QList QXmppConfiguration::caCertificates() const return d->caCertificates; } +// obsolete + +QXmppConfiguration::SASLAuthMechanism QXmppConfiguration::sASLAuthMechanism() const +{ + if (d->saslAuthMechanism == "PLAIN") + return SASLPlain; + else if (d->saslAuthMechanism == "DIGEST-MD5") + return SASLDigestMD5; + else if (d->saslAuthMechanism == "ANONYMOUS") + return SASLAnonymous; + else if (d->saslAuthMechanism == "X-FACEBOOK-PLATFORM") + return SASLXFacebookPlatform; + else + return SASLDigestMD5; +} + +void QXmppConfiguration::setSASLAuthMechanism( + QXmppConfiguration::SASLAuthMechanism mech) +{ + switch (mech) { + case QXmppConfiguration::SASLPlain: + d->saslAuthMechanism = "PLAIN"; + break; + case QXmppConfiguration::SASLDigestMD5: + d->saslAuthMechanism = "DIGEST-MD5"; + break; + case QXmppConfiguration::SASLAnonymous: + d->saslAuthMechanism = "ANONYMOUS"; + break; + case QXmppConfiguration::SASLXFacebookPlatform: + d->saslAuthMechanism = "X-FACEBOOK-PLATFORM"; + break; + } +} + -- cgit v1.2.3