diff -Nru empathy-3.4.2.3/debian/changelog empathy-3.4.2.3/debian/changelog --- empathy-3.4.2.3/debian/changelog 2012-07-18 13:12:26.000000000 +0000 +++ empathy-3.4.2.3/debian/changelog 2013-10-31 19:03:50.000000000 +0000 @@ -1,3 +1,10 @@ +empathy (3.4.2.3-0ubuntu1.1) precise; urgency=low + + * debian/patches/git_facebook_login.patch: + backport git patch to fix facebook login (lp: #1246265) + + -- Sebastien Bacher Thu, 31 Oct 2013 11:43:50 -0700 + empathy (3.4.2.3-0ubuntu1) precise-proposed; urgency=low * New upstream release (LP: #1018784). diff -Nru empathy-3.4.2.3/debian/patches/git_facebook_login.patch empathy-3.4.2.3/debian/patches/git_facebook_login.patch --- empathy-3.4.2.3/debian/patches/git_facebook_login.patch 1970-01-01 00:00:00.000000000 +0000 +++ empathy-3.4.2.3/debian/patches/git_facebook_login.patch 2013-10-31 19:03:13.000000000 +0000 @@ -0,0 +1,71 @@ +From 8d18f84d631b3c89879a758f8203b89267b4ac3d Mon Sep 17 00:00:00 2001 +From: Xavier Claessens +Date: Thu, 31 Oct 2013 18:19:14 +0000 +Subject: SASL: fix facebook mechanism + +libsoup was escaping '_' and '.' in the challenge response but the +facebook server is not expecting that. + +https://bugzilla.gnome.org/show_bug.cgi?id=707747 +--- +diff --git a/libempathy/empathy-goa-auth-handler.c b/libempathy/empathy-goa-auth-handler.c +index a439c72..bae1258 100644 +--- a/libempathy/empathy-goa-auth-handler.c ++++ b/libempathy/empathy-goa-auth-handler.c +@@ -153,8 +153,7 @@ facebook_new_challenge_cb (TpChannel *channel, + GoaOAuth2Based *oauth2; + const gchar *client_id; + GHashTable *h; +- GHashTable *params; +- gchar *response; ++ GString *response_string; + GArray *response_array; + + DEBUG ("new challenge for %s:\n%s", +@@ -166,28 +165,30 @@ facebook_new_challenge_cb (TpChannel *channel, + oauth2 = goa_object_get_oauth2_based (data->goa_object); + client_id = goa_oauth2_based_get_client_id (oauth2); + +- /* See https://developers.facebook.com/docs/chat/#platauth */ +- params = g_hash_table_new (g_str_hash, g_str_equal); +- g_hash_table_insert (params, "method", g_hash_table_lookup (h, "method")); +- g_hash_table_insert (params, "nonce", g_hash_table_lookup (h, "nonce")); +- g_hash_table_insert (params, "access_token", data->access_token); +- g_hash_table_insert (params, "api_key", (gpointer) client_id); +- g_hash_table_insert (params, "call_id", "0"); +- g_hash_table_insert (params, "v", "1.0"); +- +- response = soup_form_encode_hash (params); +- DEBUG ("Response: %s", response); ++ /* See https://developers.facebook.com/docs/chat/#platauth. ++ * We don't use soup_form_encode() here because it would escape parameters ++ * and facebook server is not expecting that and would reject the response. */ ++ response_string = g_string_new ("v=1.0&call_id=0"); ++ g_string_append (response_string, "&access_token="); ++ g_string_append_uri_escaped (response_string, data->access_token, NULL, TRUE); ++ g_string_append (response_string, "&api_key="); ++ g_string_append_uri_escaped (response_string, client_id, NULL, TRUE); ++ g_string_append (response_string, "&method="); ++ g_string_append_uri_escaped (response_string, g_hash_table_lookup (h, "method"), NULL, TRUE); ++ g_string_append (response_string, "&nonce="); ++ g_string_append_uri_escaped (response_string, g_hash_table_lookup (h, "nonce"), NULL, TRUE); ++ ++ DEBUG ("Response: %s", response_string->str); + + response_array = g_array_new (FALSE, FALSE, sizeof (gchar)); +- g_array_append_vals (response_array, response, strlen (response)); ++ g_array_append_vals (response_array, response_string->str, response_string->len); + + tp_cli_channel_interface_sasl_authentication_call_respond (data->channel, -1, + response_array, NULL, NULL, NULL, NULL); + + g_hash_table_unref (h); +- g_hash_table_unref (params); + g_object_unref (oauth2); +- g_free (response); ++ g_string_free (response_string, TRUE); + g_array_unref (response_array); + } + +-- +cgit v0.9.2 diff -Nru empathy-3.4.2.3/debian/patches/series empathy-3.4.2.3/debian/patches/series --- empathy-3.4.2.3/debian/patches/series 2012-05-23 13:31:13.000000000 +0000 +++ empathy-3.4.2.3/debian/patches/series 2013-10-31 19:03:19.000000000 +0000 @@ -7,3 +7,4 @@ 41_unity_launcher_progress.patch 42_shell_running.patch 43_quicklists.patch +git_facebook_login.patch