pidgin: 302c5609: 401/1014 is a bad signature (it's what I..

darkrain42 at pidgin.im darkrain42 at pidgin.im
Fri Feb 19 00:31:48 EST 2010


-----------------------------------------------------------------
Revision: 302c560990dbae6b00f9ca0ef36b3c160b190bdb
Ancestor: 3b94809046a4d058e79ac12a3120fa945cf609bc
Author: darkrain42 at pidgin.im
Date: 2010-02-19T05:26:00
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/302c560990dbae6b00f9ca0ef36b3c160b190bdb

Modified files:
        libpurple/protocols/oscar/clientlogin.c

ChangeLog: 

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.

-------------- next part --------------
============================================================
--- libpurple/protocols/oscar/clientlogin.c	2218cfaa1f1341b9db55d780c9cb5b738a57c81c
+++ libpurple/protocols/oscar/clientlogin.c	d0cadb891abb127afc87d7ace6bd21745b70c340
@@ -177,10 +177,23 @@ static gboolean parse_start_oscar_sessio
 	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 "


More information about the Commits mailing list