pidgin: 4074575d: If SASL authentication fails, we general...
evands at pidgin.im
evands at pidgin.im
Mon May 3 22:15:33 EDT 2010
-----------------------------------------------------------------
Revision: 4074575d1418097eacac79c9b2cbef96cb788265
Ancestor: ce00ec5bb0ec76da8360bd2098fb23cf7ba3e0ad
Author: evands at pidgin.im
Date: 2010-05-04T01:46:40
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/4074575d1418097eacac79c9b2cbef96cb788265
Modified files:
libpurple/protocols/jabber/auth_cyrus.c
ChangeLog:
If SASL authentication fails, we generally shouldn't be setting an error
message, as the actual error was communicated via the
"urn:ietf:params:xml:ns:xmpp-sasl" failure stanza. Setting an error means that
jabber_auth_handle_failure() won't ever call jabber_parse_error() to extract
the actual error message and interpretation.
For example, if authentication fails, previously we would show "SASL
authentication failed" and think it was a PURPLE_CONNECTION_ERROR_NETWORK_ERROR
which is incorrect. Now, jabber_parse_error() gets a chance to return
"Not Authorized", clear the saved password, and return
PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED.
We should still set this error message if there is an internal SASL failure
leading to SASL_BADPARAM or SASL_NOMEM.
-------------- next part --------------
============================================================
--- libpurple/protocols/jabber/auth_cyrus.c 3936dda160a35b577d641d0cfaba9aeee31d4db0
+++ libpurple/protocols/jabber/auth_cyrus.c bdafea53026edbce0b354e9394f89c2f35e9e5fe
@@ -259,6 +259,7 @@ jabber_auth_start_cyrus(JabberStream *js
/* Fatal errors. Give up and go home */
case SASL_BADPARAM:
case SASL_NOMEM:
+ *error = g_strdup(_("SASL authentication failed"));
break;
/* For everything else, fail the mechanism and try again */
@@ -317,7 +318,6 @@ jabber_auth_start_cyrus(JabberStream *js
*reply = auth;
return JABBER_SASL_STATE_CONTINUE;
} else {
- *error = g_strdup(_("SASL authentication failed"));
return JABBER_SASL_STATE_FAIL;
}
}
More information about the Commits
mailing list