[empathy] Enable server fallback for GTalk account
- From: Nicolas Dufresne <nicolasd src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy] Enable server fallback for GTalk account
- Date: Wed, 8 Sep 2010 21:25:50 +0000 (UTC)
commit 3e97317d56f9ae49a8424c679fc6e489483da8d1
Author: Nicolas Dufresne <nicolas dufresne collabora co uk>
Date: Fri Sep 3 16:45:45 2010 -0400
Enable server fallback for GTalk account
Instead of hardcoding one server, let the connection manager try doing
SRV resolution and if the resolution fails, let it try a list of fallback
servers. Note that talkx.l.google.com is now used instead of
talk.google.com. This is the DNS used in the Windows client, this DNS
returns a list of IPs instead of 1. This also enable usage of HTTPS
proxy when falling back to port 443 with old_ssl.
Reviewed-by: Guillaume Desmottes <guillaume desmottes collabora co uk>
src/empathy-account-assistant.c | 14 ++++++++++----
src/empathy-accounts-dialog.c | 14 ++++++++++----
2 files changed, 20 insertions(+), 8 deletions(-)
---
diff --git a/src/empathy-account-assistant.c b/src/empathy-account-assistant.c
index 4e615e8..0f7bf4d 100644
--- a/src/empathy-account-assistant.c
+++ b/src/empathy-account-assistant.c
@@ -416,12 +416,18 @@ account_assistant_protocol_changed_cb (GtkComboBox *chooser,
if (is_gtalk)
{
+ gchar *fallback_servers[] = {
+ "talkx.l.google.com",
+ "talkx.l.google.com:443,oldssl",
+ "talkx.l.google.com:80",
+ NULL};
+
empathy_account_settings_set_icon_name_async (settings, "im-google-talk",
NULL, NULL);
- /* We should not have to set the server but that may cause issue with
- * buggy router. */
- empathy_account_settings_set_string (settings, "server",
- "talk.google.com");
+
+ empathy_account_settings_set_string (settings, "server", NULL);
+ empathy_account_settings_set_strv (settings, "fallback-servers",
+ fallback_servers);
}
else if (is_facebook)
{
diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c
index 2ad2fb7..98301a4 100644
--- a/src/empathy-accounts-dialog.c
+++ b/src/empathy-accounts-dialog.c
@@ -618,12 +618,18 @@ accounts_dialog_setup_ui_to_add_account (EmpathyAccountsDialog *dialog)
if (is_gtalk)
{
+ gchar *fallback_servers[] = {
+ "talkx.l.google.com",
+ "talkx.l.google.com:443,oldssl",
+ "talkx.l.google.com:80",
+ NULL};
+
empathy_account_settings_set_icon_name_async (settings, "im-google-talk",
NULL, NULL);
- /* We should not have to set the server but that may cause issue with
- * buggy router. */
- empathy_account_settings_set_string (settings, "server",
- "talk.google.com");
+
+ empathy_account_settings_set_string (settings, "server", NULL);
+ empathy_account_settings_set_strv (settings, "fallback-servers",
+ fallback_servers);
}
else if (is_facebook)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]