...
 
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)
============
......
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_minor_version], [6])
m4_define([empathy_micro_version], [3])
m4_define([empathy_nano_version], [0])
m4_define([empathy_micro_version], [4])
m4_define([empathy_nano_version], [1])
dnl Display the nano_version only if it's not '0'
m4_define([empathy_base_version],
......@@ -238,6 +238,7 @@ if test "x$enable_gst1" != "xno"; then
gstreamer-1.0
gstreamer-audio-1.0
gstreamer-video-1.0
cogl-1.0
], have_gst1="yes", have_gst1="no")
if test "x$have_gst1" = "xyes"; then
......
......@@ -504,16 +504,6 @@ search_text_notify_cb (EmpathyLiveSearch *search,
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
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_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 */
gtk_widget_set_size_request (GTK_WIDGET (self), -1, 300);
......@@ -613,6 +601,26 @@ empathy_irc_network_chooser_dialog_dispose (GObject *object)
EmpathyIrcNetworkManager *self = (EmpathyIrcNetworkManager *) object;
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->network);
tp_clear_object (&priv->network_manager);
......
......@@ -499,7 +499,9 @@ live_search_unmap (GtkWidget *widget)
gtk_widget_hide (widget);
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
......
......@@ -155,8 +155,7 @@ facebook_new_challenge_cb (TpChannel *channel,
GSimpleAsyncResult *result = user_data;
FacebookData *data;
GHashTable *h;
GHashTable *params;
gchar *response;
GString *response_string;
GArray *response_array;
DEBUG ("new challenge: %s", challenge->data);
......@@ -165,27 +164,29 @@ facebook_new_challenge_cb (TpChannel *channel,
h = soup_form_decode (challenge->data);
/* 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", data->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, data->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, generic_cb, g_object_ref (result), g_object_unref, NULL);
g_hash_table_unref (h);
g_hash_table_unref (params);
g_free (response);
g_string_free (response_string, TRUE);
g_array_unref (response_array);
}
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -14,6 +14,7 @@ AM_LDFLAGS = $(LIBM)
AM_CPPFLAGS = \
$(CPPFLAGS_COMMON) \
$(LIBCHAMPLAIN_CFLAGS) \
$(UOA_CFLAGS) \
$(NULL)
LDADD = \
......@@ -23,6 +24,7 @@ LDADD = \
$(GCR_LIBS) \
$(EMPATHY_LIBS) \
$(LIBCHAMPLAIN_LIBS) \
$(UOA_LIBS) \
$(NULL)
noinst_LTLIBRARIES = libempathy-accounts-common.la
......
EXTRA_DIST = \
collabora-ca.cer \
dhansak-collabora.cer
certificate-authority.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,
GError *error = NULL;
test->mock = mock_tls_certificate_new_and_register (test->dbus,
"dhansak-collabora.cer", NULL);
"server-cert.cer", NULL);
ensure_certificate_proxy (test);
......@@ -431,7 +431,7 @@ test_certificate_verify_success_with_pkcs11_lookup (Test *test,
GError *error = NULL;
EmpathyTLSVerifier *verifier;
const gchar *reference_identities[] = {
"www.collabora.co.uk",
"test-server.empathy.gnome.org",
NULL
};
......@@ -442,14 +442,14 @@ test_certificate_verify_success_with_pkcs11_lookup (Test *test,
*/
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 */
add_certificate_to_mock (test, "collabora-ca.cer", NULL);
add_certificate_to_mock (test, "certificate-authority.cer", NULL);
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);
empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test);
g_main_loop_run (test->loop);
......@@ -472,7 +472,7 @@ test_certificate_verify_success_with_full_chain (Test *test,
GError *error = NULL;
EmpathyTLSVerifier *verifier;
const gchar *reference_identities[] = {
"www.collabora.co.uk",
"test-server.empathy.gnome.org",
NULL
};
......@@ -482,14 +482,14 @@ test_certificate_verify_success_with_full_chain (Test *test,
*/
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 */
add_certificate_to_mock (test, "collabora-ca.cer", NULL);
add_certificate_to_mock (test, "certificate-authority.cer", NULL);
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);
empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test);
g_main_loop_run (test->loop);
......@@ -511,18 +511,18 @@ test_certificate_verify_root_not_found (Test *test,
GError *error = NULL;
EmpathyTLSVerifier *verifier;
const gchar *reference_identities[] = {
"www.collabora.co.uk",
"test-server.empathy.gnome.org",
NULL
};
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 */
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);
empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test);
g_main_loop_run (test->loop);
......@@ -546,18 +546,18 @@ test_certificate_verify_root_not_anchored (Test *test,
GError *error = NULL;
EmpathyTLSVerifier *verifier;
const gchar *reference_identities[] = {
"www.collabora.co.uk",
"test-server.empathy.gnome.org",
NULL
};
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 */
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);
empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test);
g_main_loop_run (test->loop);
......@@ -586,10 +586,10 @@ test_certificate_verify_identities_invalid (Test *test,
};
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 */
add_certificate_to_mock (test, "collabora-ca.cer", NULL);
add_certificate_to_mock (test, "certificate-authority.cer", NULL);
ensure_certificate_proxy (test);
......@@ -622,15 +622,15 @@ test_certificate_verify_uses_reference_identities (Test *test,
};
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 */
add_certificate_to_mock (test, "collabora-ca.cer", NULL);
add_certificate_to_mock (test, "certificate-authority.cer", NULL);
ensure_certificate_proxy (test);
/* 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);
empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test);
g_main_loop_run (test->loop);
......@@ -654,7 +654,7 @@ test_certificate_verify_success_with_pinned (Test *test,
GError *error = NULL;
EmpathyTLSVerifier *verifier;
const gchar *reference_identities[] = {
"www.collabora.co.uk",
"test-server.empathy.gnome.org",
NULL
};
......@@ -664,14 +664,14 @@ test_certificate_verify_success_with_pinned (Test *test,
*/
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 */
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);
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);
empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test);
g_main_loop_run (test->loop);
......@@ -693,18 +693,18 @@ test_certificate_verify_pinned_wrong_host (Test *test,
GError *error = NULL;
EmpathyTLSVerifier *verifier;
const gchar *reference_identities[] = {
"www.collabora.co.uk",
"test-server.empathy.gnome.org",
NULL
};
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 */
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);
empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test);
g_main_loop_run (test->loop);
......