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