Mercurial > pidgin
changeset 24590:c457c635eb8f
Two functional changes here:
1. The default error case for unknown errors on yahoo now uses
PURPLE_CONNECTION_ERROR_OTHER_ERROR instead of
PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED. This change was
made because it's logical.
2. The unknown yahoo error with error code "0" now uses
PURPLE_CONNECTION_ERROR_NETWORK_ERROR instead of
PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED. This change was
made because this error doesn't seem to be fatal, and we want the
account to be reconnected, but normally AUTHENTICATION_FAILED
errors are fatal and should not be reconnected
Specially this makes yahoo accounts auto-reconnect when we get the error
"Unknown error number 0. Logging into the Yahoo! website may fix this."
I know we think we fixed this with that change to send the timeout or
keepalive much less often, but I'm still seeing a lot of disconnects for
it and I have a strong suspicion that they're not actually fatal errors.
Refs #5223
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Thu, 04 Dec 2008 04:15:28 +0000 |
parents | 64c74659b6eb |
children | a05e9cf91efb fecedf6d9ee1 ef09497b1674 |
files | libpurple/protocols/yahoo/yahoo.c |
diffstat | 1 files changed, 7 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/protocols/yahoo/yahoo.c Thu Dec 04 03:40:31 2008 +0000 +++ b/libpurple/protocols/yahoo/yahoo.c Thu Dec 04 04:15:28 2008 +0000 @@ -2122,7 +2122,7 @@ char *url = NULL; char *fullmsg; PurpleAccount *account = gc->account; - PurpleConnectionError reason = PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED; + PurpleConnectionError reason = PURPLE_CONNECTION_ERROR_OTHER_ERROR; while (l) { struct yahoo_pair *pair = l->data; @@ -2136,6 +2136,10 @@ } switch (err) { + case 0: + msg = g_strdup(_("Unknown error.")); + reason = PURPLE_CONNECTION_ERROR_NETWORK_ERROR; + break; case 3: msg = g_strdup(_("Invalid username.")); reason = PURPLE_CONNECTION_ERROR_INVALID_USERNAME; @@ -2160,9 +2164,11 @@ purple_account_set_password(account, NULL); msg = g_strdup(_("Incorrect password.")); + reason = PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED; break; case 14: msg = g_strdup(_("Your account is locked, please log in to the Yahoo! website.")); + reason = PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED; break; default: msg = g_strdup_printf(_("Unknown error number %d. Logging into the Yahoo! website may fix this."), err);