Code

make saslMd5Authenticate() error message a bit smarter
authorishmal <ishmal@users.sourceforge.net>
Sun, 13 Apr 2008 16:17:11 +0000 (16:17 +0000)
committerishmal <ishmal@users.sourceforge.net>
Sun, 13 Apr 2008 16:17:11 +0000 (16:17 +0000)
src/pedro/pedroxmpp.cpp

index 72a0cb832bff2b02794ead5efebb34e401d041de..757a883daa84305ee59ffbc382126d47becb5407 100644 (file)
@@ -4,7 +4,7 @@
  * Authors:
  *   Bob Jamison
  *
- * Copyright (C) 2005-2007 Bob Jamison
+ * Copyright (C) 2005-2008 Bob Jamison
  *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Lesser General Public
@@ -1738,6 +1738,20 @@ bool XmppClient::saslMd5Authenticate()
         delete elem;
         return true;
         }
+    else
+        {
+        std::vector<Element *> list = elem->findElements("failure");
+        if (list.size() > 0)
+            {
+            DOMString errmsg = "";
+            Element *errmsgElem = list[0]->getFirstChild();
+            if (errmsgElem)
+                errmsg = errmsgElem->getName();
+            error("login: initial md5 authentication failed: %s", errmsg.c_str());
+            delete elem;
+            return false;
+            }
+        }
     //# Continue for one more SASL cycle
     b64challenge = elem->getTagValue("challenge");
     delete elem;