diff options
author | John Bailey <rekkanoryo@rekkanoryo.org> | 2010-10-31 23:08:10 +0000 |
---|---|---|
committer | John Bailey <rekkanoryo@rekkanoryo.org> | 2010-10-31 23:08:10 +0000 |
commit | 8ab471690f75139eb1d1b0173cdcc949d96e6d0a (patch) | |
tree | dd12102ed38b0572a59dddbb6b65a275a5cb119e /libpurple/account.c | |
parent | abc9535859f5b3d3722747e69f1cde6f2ff62467 (diff) | |
download | pidgin-8ab471690f75139eb1d1b0173cdcc949d96e6d0a.tar.gz |
Implement a migration for ICQ login servers.
Diffstat (limited to 'libpurple/account.c')
-rw-r--r-- | libpurple/account.c | 25 |
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); |