summaryrefslogtreecommitdiff
path: root/libpurple/account.c
diff options
context:
space:
mode:
authorJohn Bailey <rekkanoryo@rekkanoryo.org>2010-10-31 23:08:10 +0000
committerJohn Bailey <rekkanoryo@rekkanoryo.org>2010-10-31 23:08:10 +0000
commit8ab471690f75139eb1d1b0173cdcc949d96e6d0a (patch)
treedd12102ed38b0572a59dddbb6b65a275a5cb119e /libpurple/account.c
parentabc9535859f5b3d3722747e69f1cde6f2ff62467 (diff)
downloadpidgin-8ab471690f75139eb1d1b0173cdcc949d96e6d0a.tar.gz
Implement a migration for ICQ login servers.
Diffstat (limited to 'libpurple/account.c')
-rw-r--r--libpurple/account.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/libpurple/account.c b/libpurple/account.c
index 4d500dec94..33e9d93c7c 100644
--- a/libpurple/account.c
+++ b/libpurple/account.c
@@ -513,6 +513,28 @@ migrate_yahoo_japan(PurpleAccount *account)
}
static void
+migrate_icq_server(PurpleAccount *account)
+{
+ /* Migrate the login server setting for ICQ accounts. See
+ * 'mtn log --last 1 --no-graph --from b6d7712e90b68610df3bd2d8cbaf46d94c8b3794'
+ * for details on the change. */
+
+ if(purple_strequal(purple_account_get_protocol_id(account), "prpl-icq")) {
+ /* Non-secure server */
+ if(purple_strequal(purple_account_get_string(account, "server", NULL),
+ "login.messaging.aol.com"))
+ purple_account_set_string(account, "server", "login.icq.com");
+
+ /* Secure server */
+ if(purple_strequal(purple_account_get_string(account, "server", NULL),
+ "slogin.messaging.aol.com"))
+ purple_account_set_string(account, "server", "slogin.icq.com");
+ }
+
+ return;
+}
+
+static void
migrate_xmpp_encryption(PurpleAccount *account)
{
/* When this is removed, nuke the "old_ssl" and "require_tls" settings */
@@ -598,6 +620,9 @@ parse_settings(xmlnode *node, PurpleAccount *account)
/* we do this here because we need access to account settings to determine
* if we can/should migrate an old Yahoo! JAPAN account */
migrate_yahoo_japan(account);
+ /* we do this here because we need access to account settings to determine
+ * if we can/should migrate an ICQ account's server setting */
+ migrate_icq_server(account);
/* we do this here because we need to do it before the user views the
* Edit Account dialog. */
migrate_xmpp_encryption(account);