changeset 29406:fa8a25b46252

401/1014 is a bad signature (it's what I've been getting while testing startOSCARSession over https). This is also the error that Ubuntu/Debian/anyone who applied the hacky patch to fix clientLogin+SSL will be getting, so we really shouldn't print out the connecting/disconnecting too frequently error.
author Paul Aurich <paul@darkrain42.org>
date Fri, 19 Feb 2010 05:26:00 +0000
parents dfb7522f2a92
children 222a1654d9b9 93876452633b c180ff59632d 9a0990fd41ed
files libpurple/protocols/oscar/clientlogin.c
diffstat 1 files changed, 14 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/protocols/oscar/clientlogin.c	Fri Feb 19 03:10:31 2010 +0000
+++ b/libpurple/protocols/oscar/clientlogin.c	Fri Feb 19 05:26:00 2010 +0000
@@ -177,10 +177,23 @@
 	code = atoi(tmp);
 	if (code != 200)
 	{
+		xmlnode *status_detail_node;
+		guint status_detail = 0;
+
+		status_detail_node = xmlnode_get_child(response_node,
+		                                       "statusDetailCode");
+		if (status_detail_node) {
+			gchar *data = xmlnode_get_data(status_detail_node);
+			if (data) {
+				status_detail = atoi(data);
+				g_free(data);
+			}
+		}
+
 		purple_debug_error("oscar", "startOSCARSession response statusCode "
 				"was %s: %s\n", tmp, response);
 
-		if (code == 401 || code == 607)
+		if ((code == 401 && status_detail != 1014) || code == 607)
 			purple_connection_error_reason(gc,
 					PURPLE_CONNECTION_ERROR_OTHER_ERROR,
 					_("You have been connecting and disconnecting too "