im.pidgin.cpw.resiak.disconnectreason: 316ef0de73d77863904568b8eb44781ee0f6ada2

resiak at soc.pidgin.im resiak at soc.pidgin.im
Sun Nov 11 17:00:41 EST 2007


-----------------------------------------------------------------
Revision: 316ef0de73d77863904568b8eb44781ee0f6ada2
Ancestor: 1097e5cce225d8c22fc9905a8bd87b7b0f8dabbf
Author: resiak at soc.pidgin.im
Date: 2007-11-11T21:22:12
Branch: im.pidgin.cpw.resiak.disconnectreason

Modified files:
        libpurple/connection.c

ChangeLog: 

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.

-------------- next part --------------
============================================================
--- libpurple/connection.c	0c12c7f2d006f4eebf507c4273a0fd92976d4928
+++ libpurple/connection.c	749a89a3ae7d6503b98dc0147f35098ce609f5a2
@@ -578,7 +578,16 @@ purple_connection_error_is_fatal (Purple
 	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 @@ purple_connection_error_is_fatal (Purple
 		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);


More information about the Commits mailing list