summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/SASL/EXTERNALClientAuthenticator.cpp')
-rw-r--r--Swiften/SASL/EXTERNALClientAuthenticator.cpp24
1 files changed, 15 insertions, 9 deletions
diff --git a/Swiften/SASL/EXTERNALClientAuthenticator.cpp b/Swiften/SASL/EXTERNALClientAuthenticator.cpp
index a3016d1..027bc89 100644
--- a/Swiften/SASL/EXTERNALClientAuthenticator.cpp
+++ b/Swiften/SASL/EXTERNALClientAuthenticator.cpp
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2012 Remko Tronçon
- * Licensed under the GNU General Public License v3.
- * See Documentation/Licenses/GPLv3.txt for more information.
+ * Copyright (c) 2012 Isode Limited.
+ * All rights reserved.
+ * See the COPYING file for more information.
*/
#include <Swiften/SASL/EXTERNALClientAuthenticator.h>
@@ -12,15 +12,21 @@ EXTERNALClientAuthenticator::EXTERNALClientAuthenticator() : ClientAuthenticator
}
boost::optional<SafeByteArray> EXTERNALClientAuthenticator::getResponse() const {
- return boost::optional<SafeByteArray>();
+ const std::string& authorizationID = getAuthorizationID();
+
+ if (authorizationID.empty()) {
+ return boost::optional<SafeByteArray>();
+ } else {
+ return createSafeByteArray(authorizationID);
+ }
}
bool EXTERNALClientAuthenticator::setChallenge(const boost::optional<ByteArray>&) {
- if (finished) {
- return false;
- }
- finished = true;
- return true;
+ if (finished) {
+ return false;
+ }
+ finished = true;
+ return true;
}
}