summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-06-03 20:11:32 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-06-03 20:11:32 (GMT)
commitdd2d1fbbce68afda9b9857a84564924f05935c4a (patch)
tree1b5462f2699ec65342097e39b70c72b6ab0ce1de /Swiften/Client/ClientSession.cpp
parent66da202f765c8843bf61bc83fb5e7f81c2cb0a65 (diff)
downloadswift-dd2d1fbbce68afda9b9857a84564924f05935c4a.zip
swift-dd2d1fbbce68afda9b9857a84564924f05935c4a.tar.bz2
Use SASL EXTERNAL for authenticating in Slimber.
Diffstat (limited to 'Swiften/Client/ClientSession.cpp')
-rw-r--r--Swiften/Client/ClientSession.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/Swiften/Client/ClientSession.cpp b/Swiften/Client/ClientSession.cpp
index 5e2cd84..88b3d5a 100644
--- a/Swiften/Client/ClientSession.cpp
+++ b/Swiften/Client/ClientSession.cpp
@@ -101,6 +101,10 @@ void ClientSession::handleElement(boost::shared_ptr<Element> element) {
finishSession(Error::TLSClientCertificateError);
}
}
+ else if (streamFeatures->hasAuthenticationMechanism("EXTERNAL")) {
+ state = Authenticating;
+ stream->writeElement(boost::shared_ptr<Element>(new AuthRequest("EXTERNAL", "")));
+ }
else if (streamFeatures->hasAuthenticationMechanism("SCRAM-SHA-1")) {
// FIXME: Use a real nonce
std::ostringstream s;