...
 
Commits (16)
NEW in 3.6.4 (28/02/2013)
============
Bugs fixed:
- Fixed #678983, Favorite rooms are not saved (Guillaume Desmottes)
- Fixed #693190, re-enable empathy-tls-test (Stef Walter)
Translations:
- Updated kn Translation (Shankar Prasad)
NEW in 3.6.3 (09/01/2013) NEW in 3.6.3 (09/01/2013)
============ ============
......
dnl If not 1, append datestamp to the version number dnl If not 1, append datestamp to the version number
m4_define(empathy_released, 0) m4_define(empathy_released, 1)
m4_define([empathy_major_version], [3]) m4_define([empathy_major_version], [3])
m4_define([empathy_minor_version], [6]) m4_define([empathy_minor_version], [6])
m4_define([empathy_micro_version], [3]) m4_define([empathy_micro_version], [4])
m4_define([empathy_nano_version], [0]) m4_define([empathy_nano_version], [1])
dnl Display the nano_version only if it's not '0' dnl Display the nano_version only if it's not '0'
m4_define([empathy_base_version], m4_define([empathy_base_version],
...@@ -238,6 +238,7 @@ if test "x$enable_gst1" != "xno"; then ...@@ -238,6 +238,7 @@ if test "x$enable_gst1" != "xno"; then
gstreamer-1.0 gstreamer-1.0
gstreamer-audio-1.0 gstreamer-audio-1.0
gstreamer-video-1.0 gstreamer-video-1.0
cogl-1.0
], have_gst1="yes", have_gst1="no") ], have_gst1="yes", have_gst1="no")
if test "x$have_gst1" = "xyes"; then if test "x$have_gst1" = "xyes"; then
......
...@@ -504,16 +504,6 @@ search_text_notify_cb (EmpathyLiveSearch *search, ...@@ -504,16 +504,6 @@ search_text_notify_cb (EmpathyLiveSearch *search,
gtk_widget_set_sensitive (priv->select_button, sensitive); gtk_widget_set_sensitive (priv->select_button, sensitive);
} }
static void
dialog_destroy_cb (GtkWidget *widget,
EmpathyIrcNetworkChooserDialog *self)
{
EmpathyIrcNetworkChooserDialogPriv *priv = GET_PRIV (self);
g_signal_handler_disconnect (priv->search, priv->search_sig);
g_signal_handler_disconnect (priv->search, priv->activate_sig);
}
static void static void
empathy_irc_network_chooser_dialog_constructed (GObject *object) empathy_irc_network_chooser_dialog_constructed (GObject *object)
{ {
...@@ -598,8 +588,6 @@ empathy_irc_network_chooser_dialog_constructed (GObject *object) ...@@ -598,8 +588,6 @@ empathy_irc_network_chooser_dialog_constructed (GObject *object)
g_signal_connect (self, "response", g_signal_connect (self, "response",
G_CALLBACK (dialog_response_cb), self); G_CALLBACK (dialog_response_cb), self);
g_signal_connect (self, "destroy",
G_CALLBACK (dialog_destroy_cb), self);
/* Request a side ensuring to display at least some networks */ /* Request a side ensuring to display at least some networks */
gtk_widget_set_size_request (GTK_WIDGET (self), -1, 300); gtk_widget_set_size_request (GTK_WIDGET (self), -1, 300);
...@@ -613,6 +601,26 @@ empathy_irc_network_chooser_dialog_dispose (GObject *object) ...@@ -613,6 +601,26 @@ empathy_irc_network_chooser_dialog_dispose (GObject *object)
EmpathyIrcNetworkManager *self = (EmpathyIrcNetworkManager *) object; EmpathyIrcNetworkManager *self = (EmpathyIrcNetworkManager *) object;
EmpathyIrcNetworkChooserDialogPriv *priv = GET_PRIV (self); EmpathyIrcNetworkChooserDialogPriv *priv = GET_PRIV (self);
if (priv->search_sig != 0)
{
g_signal_handler_disconnect (priv->search, priv->search_sig);
priv->search_sig = 0;
}
if (priv->activate_sig != 0)
{
g_signal_handler_disconnect (priv->search, priv->activate_sig);
priv->activate_sig = 0;
}
if (priv->search != NULL)
{
empathy_live_search_set_hook_widget (EMPATHY_LIVE_SEARCH (priv->search),
NULL);
priv->search = NULL;
}
tp_clear_object (&priv->settings); tp_clear_object (&priv->settings);
tp_clear_object (&priv->network); tp_clear_object (&priv->network);
tp_clear_object (&priv->network_manager); tp_clear_object (&priv->network_manager);
......
...@@ -499,7 +499,9 @@ live_search_unmap (GtkWidget *widget) ...@@ -499,7 +499,9 @@ live_search_unmap (GtkWidget *widget)
gtk_widget_hide (widget); gtk_widget_hide (widget);
gtk_entry_set_text (GTK_ENTRY (priv->search_entry), ""); gtk_entry_set_text (GTK_ENTRY (priv->search_entry), "");
gtk_widget_grab_focus (priv->hook_widget);
if (priv->hook_widget != NULL)
gtk_widget_grab_focus (priv->hook_widget);
} }
static void static void
......
...@@ -155,8 +155,7 @@ facebook_new_challenge_cb (TpChannel *channel, ...@@ -155,8 +155,7 @@ facebook_new_challenge_cb (TpChannel *channel,
GSimpleAsyncResult *result = user_data; GSimpleAsyncResult *result = user_data;
FacebookData *data; FacebookData *data;
GHashTable *h; GHashTable *h;
GHashTable *params; GString *response_string;
gchar *response;
GArray *response_array; GArray *response_array;
DEBUG ("new challenge: %s", challenge->data); DEBUG ("new challenge: %s", challenge->data);
...@@ -165,27 +164,29 @@ facebook_new_challenge_cb (TpChannel *channel, ...@@ -165,27 +164,29 @@ facebook_new_challenge_cb (TpChannel *channel,
h = soup_form_decode (challenge->data); h = soup_form_decode (challenge->data);
/* See https://developers.facebook.com/docs/chat/#platauth */ /* See https://developers.facebook.com/docs/chat/#platauth.
params = g_hash_table_new (g_str_hash, g_str_equal); * We don't use soup_form_encode() here because it would escape parameters
g_hash_table_insert (params, "method", g_hash_table_lookup (h, "method")); * and facebook server is not expecting that and would reject the response. */
g_hash_table_insert (params, "nonce", g_hash_table_lookup (h, "nonce")); response_string = g_string_new ("v=1.0&call_id=0");
g_hash_table_insert (params, "access_token", data->access_token); g_string_append (response_string, "&access_token=");
g_hash_table_insert (params, "api_key", data->client_id); g_string_append_uri_escaped (response_string, data->access_token, NULL, TRUE);
g_hash_table_insert (params, "call_id", "0"); g_string_append (response_string, "&api_key=");
g_hash_table_insert (params, "v", "1.0"); g_string_append_uri_escaped (response_string, data->client_id, NULL, TRUE);
g_string_append (response_string, "&method=");
response = soup_form_encode_hash (params); g_string_append_uri_escaped (response_string, g_hash_table_lookup (h, "method"), NULL, TRUE);
DEBUG ("Response: %s", response); 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)); 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, tp_cli_channel_interface_sasl_authentication_call_respond (data->channel, -1,
response_array, generic_cb, g_object_ref (result), g_object_unref, NULL); response_array, generic_cb, g_object_ref (result), g_object_unref, NULL);
g_hash_table_unref (h); g_hash_table_unref (h);
g_hash_table_unref (params); g_string_free (response_string, TRUE);
g_free (response);
g_array_unref (response_array); g_array_unref (response_array);
} }
......
This diff is collapsed.
This diff is collapsed.
...@@ -14,6 +14,7 @@ AM_LDFLAGS = $(LIBM) ...@@ -14,6 +14,7 @@ AM_LDFLAGS = $(LIBM)
AM_CPPFLAGS = \ AM_CPPFLAGS = \
$(CPPFLAGS_COMMON) \ $(CPPFLAGS_COMMON) \
$(LIBCHAMPLAIN_CFLAGS) \ $(LIBCHAMPLAIN_CFLAGS) \
$(UOA_CFLAGS) \
$(NULL) $(NULL)
LDADD = \ LDADD = \
...@@ -23,6 +24,7 @@ LDADD = \ ...@@ -23,6 +24,7 @@ LDADD = \
$(GCR_LIBS) \ $(GCR_LIBS) \
$(EMPATHY_LIBS) \ $(EMPATHY_LIBS) \
$(LIBCHAMPLAIN_LIBS) \ $(LIBCHAMPLAIN_LIBS) \
$(UOA_LIBS) \
$(NULL) $(NULL)
noinst_LTLIBRARIES = libempathy-accounts-common.la noinst_LTLIBRARIES = libempathy-accounts-common.la
......
EXTRA_DIST = \ EXTRA_DIST = \
collabora-ca.cer \ certificate-authority.cer \
dhansak-collabora.cer server-cert.cer
# Not part of the build, but so we can easily repeat the process
# of generating the testing certificates
rebuild-certs:
openssl req -new -x509 -out certificate-authority.pem \
-newkey rsa -keyout certificate-authority.key -nodes \
-subj /CN=test-ca.empathy.gnome.org -days 2000 \
-config cert-openssl.conf -set_serial 1 -extensions test_ca
openssl x509 -in certificate-authority.pem -outform DER \
-out certificate-authority.cer
openssl req -new -outform PEM -out server-cert.req \
-newkey rsa -keyout /dev/null -nodes \
-subj /CN=test-server.empathy.gnome.org \
-config cert-openssl.conf -extensions test_server
openssl x509 -req -in server-cert.req -days 2000 \
-CA certificate-authority.pem -CAkey certificate-authority.key \
-set_serial 888 -out server-cert.cer -outform DER
rm certificate-authority.key
rm certificate-authority.pem
rm server-cert.req
\ No newline at end of file
[ req ]
default_bits = 1024
distinguished_name = req_distinguished_name
x509_extensions = v3_ca
dirstring_type = nobmp
[ req_distinguished_name ]
commonName = Common Name
commonName_max = 64
[ test_ca ]
basicConstraints=CA:TRUE
[ test_server ]
basicConstraints=CA:FALSE
extendedKeyUsage=serverAuth
\ No newline at end of file
...@@ -411,7 +411,7 @@ test_certificate_mock_basics (Test *test, ...@@ -411,7 +411,7 @@ test_certificate_mock_basics (Test *test,
GError *error = NULL; GError *error = NULL;
test->mock = mock_tls_certificate_new_and_register (test->dbus, test->mock = mock_tls_certificate_new_and_register (test->dbus,
"dhansak-collabora.cer", NULL); "server-cert.cer", NULL);
ensure_certificate_proxy (test); ensure_certificate_proxy (test);
...@@ -431,7 +431,7 @@ test_certificate_verify_success_with_pkcs11_lookup (Test *test, ...@@ -431,7 +431,7 @@ test_certificate_verify_success_with_pkcs11_lookup (Test *test,
GError *error = NULL; GError *error = NULL;
EmpathyTLSVerifier *verifier; EmpathyTLSVerifier *verifier;
const gchar *reference_identities[] = { const gchar *reference_identities[] = {
"www.collabora.co.uk", "test-server.empathy.gnome.org",
NULL NULL
}; };
...@@ -442,14 +442,14 @@ test_certificate_verify_success_with_pkcs11_lookup (Test *test, ...@@ -442,14 +442,14 @@ test_certificate_verify_success_with_pkcs11_lookup (Test *test,
*/ */
test->mock = mock_tls_certificate_new_and_register (test->dbus, test->mock = mock_tls_certificate_new_and_register (test->dbus,
"dhansak-collabora.cer", NULL); "server-cert.cer", NULL);
/* We add the collabora directory with the collabora root */ /* We add the collabora directory with the collabora root */
add_certificate_to_mock (test, "collabora-ca.cer", NULL); add_certificate_to_mock (test, "certificate-authority.cer", NULL);
ensure_certificate_proxy (test); ensure_certificate_proxy (test);
verifier = empathy_tls_verifier_new (test->cert, "www.collabora.co.uk", verifier = empathy_tls_verifier_new (test->cert, "test-server.empathy.gnome.org",
reference_identities); reference_identities);
empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test); empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test);
g_main_loop_run (test->loop); g_main_loop_run (test->loop);
...@@ -472,7 +472,7 @@ test_certificate_verify_success_with_full_chain (Test *test, ...@@ -472,7 +472,7 @@ test_certificate_verify_success_with_full_chain (Test *test,
GError *error = NULL; GError *error = NULL;
EmpathyTLSVerifier *verifier; EmpathyTLSVerifier *verifier;
const gchar *reference_identities[] = { const gchar *reference_identities[] = {
"www.collabora.co.uk", "test-server.empathy.gnome.org",
NULL NULL
}; };
...@@ -482,14 +482,14 @@ test_certificate_verify_success_with_full_chain (Test *test, ...@@ -482,14 +482,14 @@ test_certificate_verify_success_with_full_chain (Test *test,
*/ */
test->mock = mock_tls_certificate_new_and_register (test->dbus, test->mock = mock_tls_certificate_new_and_register (test->dbus,
"dhansak-collabora.cer", "collabora-ca.cer", NULL); "server-cert.cer", "certificate-authority.cer", NULL);
/* We add the collabora directory with the collabora root */ /* We add the collabora directory with the collabora root */
add_certificate_to_mock (test, "collabora-ca.cer", NULL); add_certificate_to_mock (test, "certificate-authority.cer", NULL);
ensure_certificate_proxy (test); ensure_certificate_proxy (test);
verifier = empathy_tls_verifier_new (test->cert, "www.collabora.co.uk", verifier = empathy_tls_verifier_new (test->cert, "test-server.empathy.gnome.org",
reference_identities); reference_identities);
empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test); empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test);
g_main_loop_run (test->loop); g_main_loop_run (test->loop);
...@@ -511,18 +511,18 @@ test_certificate_verify_root_not_found (Test *test, ...@@ -511,18 +511,18 @@ test_certificate_verify_root_not_found (Test *test,
GError *error = NULL; GError *error = NULL;
EmpathyTLSVerifier *verifier; EmpathyTLSVerifier *verifier;
const gchar *reference_identities[] = { const gchar *reference_identities[] = {
"www.collabora.co.uk", "test-server.empathy.gnome.org",
NULL NULL
}; };
test->mock = mock_tls_certificate_new_and_register (test->dbus, test->mock = mock_tls_certificate_new_and_register (test->dbus,
"dhansak-collabora.cer", NULL); "server-cert.cer", NULL);
/* Note that we're not adding any place to find root certs */ /* Note that we're not adding any place to find root certs */
ensure_certificate_proxy (test); ensure_certificate_proxy (test);
verifier = empathy_tls_verifier_new (test->cert, "www.collabora.co.uk", verifier = empathy_tls_verifier_new (test->cert, "test-server.empathy.gnome.org",
reference_identities); reference_identities);
empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test); empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test);
g_main_loop_run (test->loop); g_main_loop_run (test->loop);
...@@ -546,18 +546,18 @@ test_certificate_verify_root_not_anchored (Test *test, ...@@ -546,18 +546,18 @@ test_certificate_verify_root_not_anchored (Test *test,
GError *error = NULL; GError *error = NULL;
EmpathyTLSVerifier *verifier; EmpathyTLSVerifier *verifier;
const gchar *reference_identities[] = { const gchar *reference_identities[] = {
"www.collabora.co.uk", "test-server.empathy.gnome.org",
NULL NULL
}; };
test->mock = mock_tls_certificate_new_and_register (test->dbus, test->mock = mock_tls_certificate_new_and_register (test->dbus,
"dhansak-collabora.cer", "collabora-ca.cer", NULL); "server-cert.cer", "certificate-authority.cer", NULL);
/* Note that we're not adding any place to find root certs */ /* Note that we're not adding any place to find root certs */
ensure_certificate_proxy (test); ensure_certificate_proxy (test);
verifier = empathy_tls_verifier_new (test->cert, "www.collabora.co.uk", verifier = empathy_tls_verifier_new (test->cert, "test-server.empathy.gnome.org",
reference_identities); reference_identities);
empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test); empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test);
g_main_loop_run (test->loop); g_main_loop_run (test->loop);
...@@ -586,10 +586,10 @@ test_certificate_verify_identities_invalid (Test *test, ...@@ -586,10 +586,10 @@ test_certificate_verify_identities_invalid (Test *test,
}; };
test->mock = mock_tls_certificate_new_and_register (test->dbus, test->mock = mock_tls_certificate_new_and_register (test->dbus,
"dhansak-collabora.cer", "collabora-ca.cer", NULL); "server-cert.cer", "certificate-authority.cer", NULL);
/* We add the collabora directory with the collabora root */ /* We add the collabora directory with the collabora root */
add_certificate_to_mock (test, "collabora-ca.cer", NULL); add_certificate_to_mock (test, "certificate-authority.cer", NULL);
ensure_certificate_proxy (test); ensure_certificate_proxy (test);
...@@ -622,15 +622,15 @@ test_certificate_verify_uses_reference_identities (Test *test, ...@@ -622,15 +622,15 @@ test_certificate_verify_uses_reference_identities (Test *test,
}; };
test->mock = mock_tls_certificate_new_and_register (test->dbus, test->mock = mock_tls_certificate_new_and_register (test->dbus,
"dhansak-collabora.cer", "collabora-ca.cer", NULL); "server-cert.cer", "certificate-authority.cer", NULL);
/* We add the collabora directory with the collabora root */ /* We add the collabora directory with the collabora root */
add_certificate_to_mock (test, "collabora-ca.cer", NULL); add_certificate_to_mock (test, "certificate-authority.cer", NULL);
ensure_certificate_proxy (test); ensure_certificate_proxy (test);
/* Should be using the reference_identities and not host name for checks */ /* Should be using the reference_identities and not host name for checks */
verifier = empathy_tls_verifier_new (test->cert, "www.collabora.co.uk", verifier = empathy_tls_verifier_new (test->cert, "test-server.empathy.gnome.org",
reference_identities); reference_identities);
empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test); empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test);
g_main_loop_run (test->loop); g_main_loop_run (test->loop);
...@@ -654,7 +654,7 @@ test_certificate_verify_success_with_pinned (Test *test, ...@@ -654,7 +654,7 @@ test_certificate_verify_success_with_pinned (Test *test,
GError *error = NULL; GError *error = NULL;
EmpathyTLSVerifier *verifier; EmpathyTLSVerifier *verifier;
const gchar *reference_identities[] = { const gchar *reference_identities[] = {
"www.collabora.co.uk", "test-server.empathy.gnome.org",
NULL NULL
}; };
...@@ -664,14 +664,14 @@ test_certificate_verify_success_with_pinned (Test *test, ...@@ -664,14 +664,14 @@ test_certificate_verify_success_with_pinned (Test *test,
*/ */
test->mock = mock_tls_certificate_new_and_register (test->dbus, test->mock = mock_tls_certificate_new_and_register (test->dbus,
"dhansak-collabora.cer", NULL); "server-cert.cer", NULL);
/* We add the collabora directory with the collabora root */ /* We add the collabora directory with the collabora root */
add_certificate_to_mock (test, "dhansak-collabora.cer", "www.collabora.co.uk"); add_certificate_to_mock (test, "server-cert.cer", "test-server.empathy.gnome.org");
ensure_certificate_proxy (test); ensure_certificate_proxy (test);
verifier = empathy_tls_verifier_new (test->cert, "www.collabora.co.uk", verifier = empathy_tls_verifier_new (test->cert, "test-server.empathy.gnome.org",
reference_identities); reference_identities);
empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test); empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test);
g_main_loop_run (test->loop); g_main_loop_run (test->loop);
...@@ -693,18 +693,18 @@ test_certificate_verify_pinned_wrong_host (Test *test, ...@@ -693,18 +693,18 @@ test_certificate_verify_pinned_wrong_host (Test *test,
GError *error = NULL; GError *error = NULL;
EmpathyTLSVerifier *verifier; EmpathyTLSVerifier *verifier;
const gchar *reference_identities[] = { const gchar *reference_identities[] = {
"www.collabora.co.uk", "test-server.empathy.gnome.org",
NULL NULL
}; };
test->mock = mock_tls_certificate_new_and_register (test->dbus, test->mock = mock_tls_certificate_new_and_register (test->dbus,
"dhansak-collabora.cer", NULL); "server-cert.cer", NULL);
/* Note that we're not adding any place to find root certs */ /* Note that we're not adding any place to find root certs */
ensure_certificate_proxy (test); ensure_certificate_proxy (test);
verifier = empathy_tls_verifier_new (test->cert, "another.collabora.co.uk", verifier = empathy_tls_verifier_new (test->cert, "another.gnome.org",
reference_identities); reference_identities);
empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test); empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test);
g_main_loop_run (test->loop); g_main_loop_run (test->loop);
......