# HG changeset patch # User Will Thompson # Date 1194816132 0 # Node ID 375d10e84c4b99f5b7206f8d291ee72abd87f46a # Parent 56a608b80fdad324c16e761cc9381d918e603dcf Consensus on #pidgin is that certificate errors and AUTHENTICATION_IMPOSSIBLE (which occurs, for example, when the server and Pidgin speak no common auth method on xmpp) should be fatal. This leaves us with exactly one non-fatal condition: network errors. diff -r 56a608b80fda -r 375d10e84c4b libpurple/connection.c --- a/libpurple/connection.c Sun Nov 11 19:09:49 2007 +0000 +++ b/libpurple/connection.c Sun Nov 11 21:22:12 2007 +0000 @@ -578,7 +578,16 @@ switch (reason) { case PURPLE_CONNECTION_ERROR_NETWORK_ERROR: + return FALSE; + case PURPLE_CONNECTION_ERROR_INVALID_USERNAME: + case PURPLE_CONNECTION_ERROR_INCORRECT_PASSWORD: + case PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED: case PURPLE_CONNECTION_ERROR_AUTHENTICATION_IMPOSSIBLE: + case PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT: + case PURPLE_CONNECTION_ERROR_ENCRYPTION_ERROR: + case PURPLE_CONNECTION_ERROR_NAME_IN_USE: + case PURPLE_CONNECTION_ERROR_INVALID_SETTINGS: + case PURPLE_CONNECTION_ERROR_OTHER_ERROR: case PURPLE_CONNECTION_ERROR_CERT_NOT_PROVIDED: case PURPLE_CONNECTION_ERROR_CERT_UNTRUSTED: case PURPLE_CONNECTION_ERROR_CERT_EXPIRED: @@ -587,15 +596,6 @@ case PURPLE_CONNECTION_ERROR_CERT_FINGERPRINT_MISMATCH: case PURPLE_CONNECTION_ERROR_CERT_SELF_SIGNED: case PURPLE_CONNECTION_ERROR_CERT_OTHER_ERROR: - return FALSE; - case PURPLE_CONNECTION_ERROR_INVALID_USERNAME: - case PURPLE_CONNECTION_ERROR_INCORRECT_PASSWORD: - case PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED: - case PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT: - case PURPLE_CONNECTION_ERROR_ENCRYPTION_ERROR: - case PURPLE_CONNECTION_ERROR_NAME_IN_USE: - case PURPLE_CONNECTION_ERROR_INVALID_SETTINGS: - case PURPLE_CONNECTION_ERROR_OTHER_ERROR: return TRUE; default: g_return_val_if_reached(TRUE);