summaryrefslogtreecommitdiffstats
path: root/src/pedro/pedroxmpp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/pedro/pedroxmpp.cpp')
-rw-r--r--src/pedro/pedroxmpp.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/pedro/pedroxmpp.cpp b/src/pedro/pedroxmpp.cpp
index 408288187..2dc20deba 100644
--- a/src/pedro/pedroxmpp.cpp
+++ b/src/pedro/pedroxmpp.cpp
@@ -1726,6 +1726,13 @@ bool XmppClient::saslMd5Authenticate()
status("server says:: '%s'", recbuf.c_str());
elem = parser.parse(recbuf);
//elem->print();
+ //# Early success?
+ if (elem->findElements("success").size() > 0)
+ {
+ delete elem;
+ return true;
+ }
+ //# Continue for one more SASL cycle
b64challenge = elem->getTagValue("challenge");
delete elem;