adium.1-3: 6e99ed05: pidgin-facebook 1.5.0+ at r 462

evands at pidgin.im evands at pidgin.im
Thu Apr 23 15:45:50 EDT 2009


-----------------------------------------------------------------
Revision: 6e99ed054a78d30e18113c6e82da04c46bb4a6d6
Ancestor: 0abea35d4ed593a616bca769020b9f196d4853de
Author: evands at pidgin.im
Date: 2009-04-23T19:44:02
Branch: im.pidgin.adium.1-3
URL: http://d.pidgin.im/viewmtn/revision/info/6e99ed054a78d30e18113c6e82da04c46bb4a6d6

Modified files:
        libpurple/protocols/facebook/fb_blist.c
        libpurple/protocols/facebook/fb_connection.c
        libpurple/protocols/facebook/fb_managefriends.c
        libpurple/protocols/facebook/fb_messages.c
        libpurple/protocols/facebook/libfacebook.c
        libpurple/protocols/facebook/pidgin-facebookchat.rc
        libpurple/protocols/facebook/rss.xml

ChangeLog: 

pidgin-facebook 1.5.0+ at r 462

-------------- next part --------------
============================================================
--- libpurple/protocols/facebook/fb_blist.c	c8ae76955f130eb0d93fbea79efe34bf98007be3
+++ libpurple/protocols/facebook/fb_blist.c	4a02f018ba3dac7cc7bc76cac9921751dacf09f3
@@ -318,22 +318,26 @@ static void got_buddy_list_cb(FacebookAc
 			/* Turn the \/ into / */
 			tmp = g_strcompress(buddy_icon_url);
 
-			/* small icon at http://profile.ak.facebook.com/profile6/1845/74/q800753867_2878.jpg */
-			/* bigger icon at http://profile.ak.facebook.com/profile6/1845/74/n800753867_2878.jpg */
-			search_tmp = strstr(tmp, "/q");
-			if (search_tmp)
-				*(search_tmp + 1) = 'n';
-
 			if (g_str_equal(tmp, "http://static.ak.fbcdn.net/pics/q_silhouette.gif"))
+			{
 				/* User has no icon */
 				purple_buddy_icons_set_for_user(fba->account,
 						purple_buddy_get_name(buddy), NULL, 0, NULL);
+			}
 			else
+			{
+				/* small icon at http://profile.ak.facebook.com/profile6/1845/74/q800753867_2878.jpg */
+				/* bigger icon at http://profile.ak.facebook.com/profile6/1845/74/n800753867_2878.jpg */
+				search_tmp = strstr(tmp, "/q");
+				if (search_tmp)
+					*(search_tmp + 1) = 'n';
+				
 				/* Fetch their icon */
 				fb_post_or_get(fba, FB_METHOD_GET, "profile.ak.facebook.com",
 						tmp + strlen("http://profile.ak.facebook.com"), NULL,
 						buddy_icon_cb, g_strdup(purple_buddy_get_name(buddy)),
 					FALSE);
+			}
 			g_free(tmp);
 		}
 		g_free(buddy_icon_url);
============================================================
--- libpurple/protocols/facebook/fb_connection.c	404289452b1ede585959c8ae9561b9e730af6af9
+++ libpurple/protocols/facebook/fb_connection.c	9a80b89fd6fe38724437f7ac53723b107442e459
@@ -103,7 +103,7 @@ static void fb_update_cookies(FacebookAc
 	/* grab the data up until ';' */
 	cookie_start = headers;
 	while ((cookie_start = strstr(cookie_start, "\r\nSet-Cookie: ")) &&
-			(headers-cookie_start) < header_len)
+			(cookie_start - headers) < header_len)
 	{
 		cookie_start += 14;
 		cookie_end = strchr(cookie_start, '=');
============================================================
--- libpurple/protocols/facebook/fb_managefriends.c	bdd64e0ef56c78433fafd7899367bbf0b9e32cdb
+++ libpurple/protocols/facebook/fb_managefriends.c	13711a39b329088119005f6dd7c6ec6617de8f26
@@ -130,9 +130,10 @@ static void fb_check_friend_request_cb(F
 				name, msg_plain, TRUE,
 				fb_auth_accept_cb, fb_auth_reject_cb, buddy);
 
+		g_free(name);
 		g_free(uid);
-		/* TODO: msg_plain might be leaking here? */
-
+		g_free(msg_plain);
+		
 		/* Don't display an auth request for this buddy again */
 		fba->auth_buddies = g_slist_prepend(
 				fba->auth_buddies, GINT_TO_POINTER(uid_int));
============================================================
--- libpurple/protocols/facebook/fb_messages.c	6831ce6a6068eedeba1fe863b4610515b3394807
+++ libpurple/protocols/facebook/fb_messages.c	09af6820f46c993c5874e2765e3d40831096b7ee
@@ -341,13 +341,7 @@ static gboolean fb_get_new_messages(Face
 
 	if (fba->channel_number == NULL)
 	{
-		channel_number = purple_account_get_string(fba->account, "last_channel_number", NULL);
-		if (channel_number == NULL)
-		{
-			/* channel number is probably updating */
-			fba->new_messages_check_timer = purple_timeout_add_seconds(3 - (now - fba->last_messages_download_time), (GSourceFunc)fb_get_new_messages, fba);
-			return FALSE;
-		}
+		return FALSE;
 	} else {
 		channel_number = fba->channel_number;
 	}
@@ -499,44 +493,31 @@ static void got_form_id_page(FacebookAcc
 	g_free(fba->post_form_id);
 	fba->post_form_id = post_form_id;
 
-	/* dodgy as search for channel server number */
-	if (!fba->channel_number)
+	/* search for channel server number. we might want to use
+         * /ajax/presence/reconnect.php in the future */
+	start_text = "\", \"channel";
+	tmp = g_strstr_len(data, data_len, start_text);
+	if (tmp == NULL)
 	{
-		start_text = "\", \"channel";
+		/* Some proxies strip whitepsace */
+		start_text = "\",\"channel";
 		tmp = g_strstr_len(data, data_len, start_text);
 		if (tmp == NULL)
 		{
-			/* Some proxies strip whitepsace */
-			start_text = "\",\"channel";
-			tmp = g_strstr_len(data, data_len, start_text);
-			if (tmp == NULL)
-			{
-				/* TODO: Is it better to pick a random channel number or to disconnect? */
-				/* MARKCONFLICT (r283,r286) */
-				channel_number = g_strdup(purple_account_get_string(fba->account, "last_channel_number", ""));
-				if (channel_number[0] == '\0')
-				{
-					purple_debug_error("facebook", "couldn't find channel\n");
-					purple_debug_misc("facebook", "page content: %s\n", data);
-					purple_connection_error_reason(fba->pc,
-							PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
-							_("Chat service currently unavailable."));
-					return;
-				}
-			}
+			purple_debug_error("facebook", "couldn't find channel\n");
+			purple_debug_misc("facebook", "page content: %s\n", data);
+			purple_connection_error_reason(fba->pc,
+				PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
+				_("Chat service currently unavailable."));
+			return;
 		}
-
-		if (tmp != NULL)
-		{
-			tmp += strlen(start_text);
-			channel_number = g_strndup(tmp, strchr(tmp, '"') - tmp);
-		}
-
-		purple_account_set_string(fba->account, "last_channel_number", channel_number);
-
-		g_free(fba->channel_number);
-		fba->channel_number = channel_number;
 	}
+	
+	tmp += strlen(start_text);
+	channel_number = g_strndup(tmp, strchr(tmp, '"') - tmp);
+	
+	g_free(fba->channel_number);
+	fba->channel_number = channel_number;
 
 	tmp = g_strdup_printf("visibility=true&post_form_id=%s", post_form_id);
 	fb_post_or_get(fba, FB_METHOD_POST, "apps.facebook.com", "/ajax/chat/settings.php", tmp, NULL, NULL, FALSE);
============================================================
--- libpurple/protocols/facebook/libfacebook.c	845e5f8dd761ecab24105b9ccd26ea8b052cdc58
+++ libpurple/protocols/facebook/libfacebook.c	171834be239f664301869ffb3a517a1cc548fa56
@@ -261,7 +261,7 @@ static void fb_login(PurpleAccount *acco
 {
 	FacebookAccount *fba;
 	guint16 i;
-	gchar *postdata, *encoded_username, *encoded_password;
+	gchar *postdata, *encoded_username, *encoded_password, *encoded_charset_test;
 
 	/* Create account and initialize state */
 	fba = g_new0(FacebookAccount, 1);
@@ -297,12 +297,14 @@ static void fb_login(PurpleAccount *acco
 			purple_account_get_username(fba->account)));
 	encoded_password = g_strdup(purple_url_encode(
 			purple_account_get_password(fba->account)));
+	encoded_charset_test = g_strdup(purple_url_encode("EUR,?,EUR,?,?,?,?"));
 
 	postdata = g_strdup_printf(
-			"email=%s&pass=%s&persistent=1&login=Login&charset_test=%%E2%%AC%%C2%%B4%%E2%%82%%AC%%C2%%B4%%E6%%B0%%B4%%D0%%94%%D0%%84",
-			encoded_username, encoded_password);
+			"email=%s&pass=%s&persistent=1&login=Login&charset_test=%s",
+			encoded_username, encoded_password, encoded_charset_test);
 	g_free(encoded_username);
 	g_free(encoded_password);
+	g_free(encoded_charset_test);
 
 	fb_post_or_get(fba, FB_METHOD_POST | FB_METHOD_SSL, "login.facebook.com",
 			"/login.php", postdata, fb_login_cb, NULL, FALSE);
============================================================
--- libpurple/protocols/facebook/pidgin-facebookchat.rc	69d4e8083a8b82a2ecc42c286cc3b47243d38a75
+++ libpurple/protocols/facebook/pidgin-facebookchat.rc	18e43509de2ce09ee5a4fde52ac334a133eb2d02
@@ -1,7 +1,7 @@ 1 VERSIONINFO
 
 1 VERSIONINFO
-FILEVERSION 1,47,0,0
-PRODUCTVERSION 1,47,0,0
+FILEVERSION 1,50,0,0
+PRODUCTVERSION 1,50,0,0
 FILEOS 0x40004 // VOS_NT_WINDOWS32
 FILETYPE 0x2 // VFT_DLL
 {
@@ -9,14 +9,14 @@ BLOCK "StringFileInfo"
 {
 	BLOCK "040904B0" // U.S. English, Unicode
 	{
-		VALUE "CompanyName", "Pidgin-facebookchat Developers\0"
+		VALUE "CompanyName", "Eion Robb\0"
 		VALUE "FileDescription",  "Facebook Chat plugin for Pidgin\0"
 		VALUE "ProductName", "pidgin-facebookchat\0"
-		VALUE "FileVersion", "1.47\0"
-		VALUE "ProductVersion", "1.47\0"
+		VALUE "FileVersion", "1.50\0"
+		VALUE "ProductVersion", "1.50\0"
 		VALUE "InternalName", "pidgin-facebookchat\0"
 		VALUE "OriginalFilename", "pidgin-facebookchat.dll\0"
-		VALUE "Comments", "http://code.google.com/p/pidgin-facebookchat\0"
+		VALUE "Comments", "http://pidgin-facebookchat.googlecode.com/\0"
 	}
 }
 
============================================================
--- libpurple/protocols/facebook/rss.xml	2d2064433f85019ffe97cd0d86665437ecdcaa50
+++ libpurple/protocols/facebook/rss.xml	d62ddd39ac317b8409bc64d84a3c848dafeb23b7
@@ -13,6 +13,20 @@
 			<width>48</width><height>48</height>
 		</image>
 		<item>
+			<title>Version 1.50</title>
+			<link>http://code.google.com/p/pidgin-facebookchat/issues/detail?id=24#c42</link>
+			<description><![CDATA[So its been a while since the last version so I've bumped it up to v1.50.
+			<br/><br/>
+			This version should (hopefully) fix the bandwidth issues that people are having, as well as a crash-on-quit issue.			
+			<br/><br/>
+			Oh, and some people may be interested to try setting their status to 'idle' when they set their status to 'away'.  Maybe.  Haven't tried it :)
+			<br/><br/>
+			Download v1.50 of the plugin from:<br/>
+<a href="http://code.google.com/p/pidgin-facebookchat/downloads/list">http://code.google.com/p/pidgin-facebookchat/downloads/list</a>]]></description>
+			<pubDate>Mon, 13 Apr 2009 00:03:29 +1200</pubDate>
+			<guid isPermaLink="true">http://code.google.com/p/pidgin-facebookchat/issues/detail?id=24#c42</guid>
+		</item>	
+		<item>
 			<title>Version 1.47</title>
 			<link>http://code.google.com/p/pidgin-facebookchat/issues/detail?id=24#c41</link>
 			<description><![CDATA[v1.47 Gets rid of the "(via Pidgin)" but when setting status message and fixes some rare crashes


More information about the Commits mailing list