Sat, 07 Jun 2008 06:21:09 +0000
Update MSN Contact tokens when an invalid token error is returned.
| 5309 | 1 | /** |
| 2 | * @file session.c MSN session functions | |
| 3 | * | |
| 15884 | 4 | * purple |
| 5309 | 5 | * |
| 15884 | 6 | * Purple is the legal property of its developers, whose names are too numerous |
|
9198
e8eb6d5eb9eb
[gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents:
9193
diff
changeset
|
7 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
e8eb6d5eb9eb
[gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents:
9193
diff
changeset
|
8 | * source distribution. |
|
6701
7e2db9273748
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
5564
diff
changeset
|
9 | * |
| 5309 | 10 | * This program is free software; you can redistribute it and/or modify |
| 11 | * it under the terms of the GNU General Public License as published by | |
| 12 | * the Free Software Foundation; either version 2 of the License, or | |
| 13 | * (at your option) any later version. | |
| 14 | * | |
| 15 | * This program is distributed in the hope that it will be useful, | |
| 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 18 | * GNU General Public License for more details. | |
| 19 | * | |
| 20 | * You should have received a copy of the GNU General Public License | |
| 21 | * along with this program; if not, write to the Free Software | |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
17686
diff
changeset
|
22 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
| 5309 | 23 | */ |
| 24 | #include "msn.h" | |
| 25 | #include "session.h" | |
|
7288
486e8b44a14b
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
6827
diff
changeset
|
26 | #include "notification.h" |
|
21361
f890366c8ec6
oim migrated to new soap code, quadruply duplicated message!
Ka-Hing Cheung <khc@pidgin.im>
parents:
21360
diff
changeset
|
27 | #include "oim.h" |
| 5309 | 28 | |
|
10044
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
29 | #include "dialog.h" |
|
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
30 | |
| 5309 | 31 | MsnSession * |
| 15884 | 32 | msn_session_new(PurpleAccount *account) |
| 5309 | 33 | { |
| 34 | MsnSession *session; | |
| 35 | ||
| 36 | g_return_val_if_fail(account != NULL, NULL); | |
| 37 | ||
| 38 | session = g_new0(MsnSession, 1); | |
| 39 | ||
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
40 | session->account = account; |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
41 | session->notification = msn_notification_new(session); |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
42 | session->userlist = msn_userlist_new(session); |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
43 | |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
44 | session->user = msn_user_new(session->userlist, |
| 15884 | 45 | purple_account_get_username(account), NULL); |
|
21361
f890366c8ec6
oim migrated to new soap code, quadruply duplicated message!
Ka-Hing Cheung <khc@pidgin.im>
parents:
21360
diff
changeset
|
46 | session->oim = msn_oim_new(session); |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
47 | |
| 13853 | 48 | session->protocol_ver = WLM_PROT_VER; |
|
6701
7e2db9273748
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
5564
diff
changeset
|
49 | |
| 5309 | 50 | return session; |
| 51 | } | |
| 52 | ||
| 53 | void | |
| 54 | msn_session_destroy(MsnSession *session) | |
| 55 | { | |
| 56 | g_return_if_fail(session != NULL); | |
| 57 | ||
|
10296
9badf1cedc6e
[gaim-migrate @ 11476]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10284
diff
changeset
|
58 | session->destroying = TRUE; |
|
9badf1cedc6e
[gaim-migrate @ 11476]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10284
diff
changeset
|
59 | |
| 5309 | 60 | if (session->connected) |
| 61 | msn_session_disconnect(session); | |
| 62 | ||
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
63 | if (session->notification != NULL) |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
64 | msn_notification_destroy(session->notification); |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
65 | |
| 5309 | 66 | while (session->switches != NULL) |
| 67 | msn_switchboard_destroy(session->switches->data); | |
| 68 | ||
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
69 | while (session->slplinks != NULL) |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
70 | msn_slplink_destroy(session->slplinks->data); |
| 5309 | 71 | |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
72 | msn_userlist_destroy(session->userlist); |
| 5309 | 73 | |
| 21906 | 74 | g_free(session->psm); |
|
13695
64da09d24cbe
[gaim-migrate @ 16096]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13635
diff
changeset
|
75 | g_free(session->passport_info.kv); |
|
64da09d24cbe
[gaim-migrate @ 16096]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13635
diff
changeset
|
76 | g_free(session->passport_info.sid); |
|
64da09d24cbe
[gaim-migrate @ 16096]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13635
diff
changeset
|
77 | g_free(session->passport_info.mspauth); |
|
64da09d24cbe
[gaim-migrate @ 16096]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13635
diff
changeset
|
78 | g_free(session->passport_info.client_ip); |
|
10284
257978b5df5b
[gaim-migrate @ 11454]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10275
diff
changeset
|
79 | |
|
6827
df4411142ece
[gaim-migrate @ 7372]
Christian Hammond <chipx86@chipx86.com>
parents:
6779
diff
changeset
|
80 | if (session->passport_info.file != NULL) |
|
10275
186d84a66cc3
[gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10225
diff
changeset
|
81 | { |
|
10589
4e10236e06d4
[gaim-migrate @ 11994]
Daniel Atallah <datallah@pidgin.im>
parents:
10582
diff
changeset
|
82 | g_unlink(session->passport_info.file); |
|
6827
df4411142ece
[gaim-migrate @ 7372]
Christian Hammond <chipx86@chipx86.com>
parents:
6779
diff
changeset
|
83 | g_free(session->passport_info.file); |
|
10275
186d84a66cc3
[gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10225
diff
changeset
|
84 | } |
|
5427
a45fa07ef20d
[gaim-migrate @ 5806]
Mark Doliner <markdoliner@pidgin.im>
parents:
5354
diff
changeset
|
85 | |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
86 | if (session->sync != NULL) |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
87 | msn_sync_destroy(session->sync); |
|
7590
54b26062c7e0
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
7288
diff
changeset
|
88 | |
|
8171
c3c43a25caec
[gaim-migrate @ 8884]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
7590
diff
changeset
|
89 | if (session->nexus != NULL) |
|
c3c43a25caec
[gaim-migrate @ 8884]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
7590
diff
changeset
|
90 | msn_nexus_destroy(session->nexus); |
|
c3c43a25caec
[gaim-migrate @ 8884]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
7590
diff
changeset
|
91 | |
| 13858 | 92 | if (session->oim != NULL) |
| 93 | msn_oim_destroy(session->oim); | |
| 94 | ||
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
95 | if (session->user != NULL) |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
96 | msn_user_destroy(session->user); |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
97 | |
|
23762
8bb3533742fd
fixed a memleak or 3, or maybe 4, or 5. Some of these applies to the p14
Ka-Hing Cheung <khc@pidgin.im>
parents:
23755
diff
changeset
|
98 | if (session->soap_table != NULL) |
|
21355
500740852250
removes public handle to soap connection, instead a connection is looked up
Ka-Hing Cheung <khc@pidgin.im>
parents:
20597
diff
changeset
|
99 | g_hash_table_destroy(session->soap_table); |
|
500740852250
removes public handle to soap connection, instead a connection is looked up
Ka-Hing Cheung <khc@pidgin.im>
parents:
20597
diff
changeset
|
100 | |
|
21360
92d5c6c58c85
cleanup soap connection with a timeout
Ka-Hing Cheung <khc@pidgin.im>
parents:
21357
diff
changeset
|
101 | if (session->soap_cleanup_handle) |
|
92d5c6c58c85
cleanup soap connection with a timeout
Ka-Hing Cheung <khc@pidgin.im>
parents:
21357
diff
changeset
|
102 | purple_timeout_remove(session->soap_cleanup_handle); |
|
92d5c6c58c85
cleanup soap connection with a timeout
Ka-Hing Cheung <khc@pidgin.im>
parents:
21357
diff
changeset
|
103 | |
| 5309 | 104 | g_free(session); |
| 105 | } | |
| 106 | ||
| 107 | gboolean | |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
108 | msn_session_connect(MsnSession *session, const char *host, int port, |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
109 | gboolean http_method) |
| 5309 | 110 | { |
| 111 | g_return_val_if_fail(session != NULL, FALSE); | |
| 112 | g_return_val_if_fail(!session->connected, TRUE); | |
| 113 | ||
| 114 | session->connected = TRUE; | |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
115 | session->http_method = http_method; |
| 5309 | 116 | |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10345
diff
changeset
|
117 | if (session->notification == NULL) |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10345
diff
changeset
|
118 | { |
| 15884 | 119 | purple_debug_error("msn", "This shouldn't happen\n"); |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10345
diff
changeset
|
120 | g_return_val_if_reached(FALSE); |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10345
diff
changeset
|
121 | } |
|
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10345
diff
changeset
|
122 | |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
123 | if (msn_notification_connect(session->notification, host, port)) |
| 8831 | 124 | { |
| 125 | return TRUE; | |
|
7288
486e8b44a14b
[gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents:
6827
diff
changeset
|
126 | } |
| 5309 | 127 | |
| 128 | return FALSE; | |
| 129 | } | |
| 130 | ||
| 131 | void | |
| 132 | msn_session_disconnect(MsnSession *session) | |
| 133 | { | |
| 134 | g_return_if_fail(session != NULL); | |
|
20843
6d796c938192
Prevent an assertion (w/ G_DEBUG=fatal_warnings) when the connection drops.
Daniel Atallah <datallah@pidgin.im>
parents:
20658
diff
changeset
|
135 | |
|
6d796c938192
Prevent an assertion (w/ G_DEBUG=fatal_warnings) when the connection drops.
Daniel Atallah <datallah@pidgin.im>
parents:
20658
diff
changeset
|
136 | if (!session->connected) |
|
6d796c938192
Prevent an assertion (w/ G_DEBUG=fatal_warnings) when the connection drops.
Daniel Atallah <datallah@pidgin.im>
parents:
20658
diff
changeset
|
137 | return; |
| 5309 | 138 | |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
139 | session->connected = FALSE; |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
140 | |
|
9158
f8dab42adeaf
[gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8831
diff
changeset
|
141 | while (session->switches != NULL) |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10345
diff
changeset
|
142 | msn_switchboard_close(session->switches->data); |
| 5309 | 143 | |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
144 | if (session->notification != NULL) |
|
10463
f2f97738b401
[gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10345
diff
changeset
|
145 | msn_notification_close(session->notification); |
| 5309 | 146 | } |
| 147 | ||
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
148 | /* TODO: This must go away when conversation is redesigned */ |
| 5309 | 149 | MsnSwitchBoard * |
|
10621
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
150 | msn_session_find_swboard(MsnSession *session, const char *username) |
| 5309 | 151 | { |
| 152 | GList *l; | |
| 153 | ||
|
9158
f8dab42adeaf
[gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8831
diff
changeset
|
154 | g_return_val_if_fail(session != NULL, NULL); |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
155 | g_return_val_if_fail(username != NULL, NULL); |
| 5309 | 156 | |
| 8499 | 157 | for (l = session->switches; l != NULL; l = l->next) |
| 158 | { | |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
159 | MsnSwitchBoard *swboard; |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
160 | |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
161 | swboard = l->data; |
| 5309 | 162 | |
|
10621
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
163 | if ((swboard->im_user != NULL) && !strcmp(username, swboard->im_user)) |
|
10602
111ed237f509
[gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10589
diff
changeset
|
164 | return swboard; |
| 5309 | 165 | } |
| 166 | ||
| 167 | return NULL; | |
| 168 | } | |
| 169 | ||
|
20516
3093ff8b5f97
use serv_got_im to report received oim's
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
20515
diff
changeset
|
170 | static PurpleConversation * |
| 13871 | 171 | msn_session_get_conv(MsnSession *session,const char *passport) |
| 172 | { | |
|
20478
46933dc62880
propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
173 | PurpleAccount *account; |
|
46933dc62880
propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
174 | PurpleConversation * conv; |
| 13871 | 175 | |
| 176 | g_return_val_if_fail(session != NULL, NULL); | |
| 177 | account = session->account; | |
| 178 | ||
|
20478
46933dc62880
propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
179 | conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, |
| 13871 | 180 | passport, account); |
| 181 | if(conv == NULL){ | |
|
20478
46933dc62880
propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
182 | conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, passport); |
| 13871 | 183 | } |
| 184 | return conv; | |
| 185 | } | |
| 186 | ||
| 187 | /* put Message to User Conversation | |
| 188 | * | |
| 189 | * passport - the one want to talk to you | |
| 190 | */ | |
| 191 | void | |
|
20478
46933dc62880
propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
192 | msn_session_report_user(MsnSession *session,const char *passport,char *msg,PurpleMessageFlags flags) |
| 13871 | 193 | { |
|
20478
46933dc62880
propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
194 | PurpleConversation * conv; |
| 13871 | 195 | |
| 196 | if ((conv = msn_session_get_conv(session,passport)) != NULL){ | |
|
20478
46933dc62880
propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
197 | purple_conversation_write(conv, NULL, msg, flags, time(NULL)); |
| 13871 | 198 | } |
| 199 | } | |
| 200 | ||
| 5309 | 201 | MsnSwitchBoard * |
| 15884 | 202 | msn_session_find_swboard_with_conv(MsnSession *session, PurpleConversation *conv) |
|
10621
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
203 | { |
|
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
204 | GList *l; |
|
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
205 | |
|
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
206 | g_return_val_if_fail(session != NULL, NULL); |
|
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
207 | g_return_val_if_fail(conv != NULL, NULL); |
|
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
208 | |
|
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
209 | for (l = session->switches; l != NULL; l = l->next) |
|
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
210 | { |
|
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
211 | MsnSwitchBoard *swboard; |
|
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
212 | |
|
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
213 | swboard = l->data; |
|
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
214 | |
|
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
215 | if (swboard->conv == conv) |
|
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
216 | return swboard; |
|
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
217 | } |
|
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
218 | |
|
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
219 | return NULL; |
|
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
220 | } |
|
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
221 | |
|
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
222 | MsnSwitchBoard * |
|
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
223 | msn_session_find_swboard_with_id(const MsnSession *session, int chat_id) |
| 5309 | 224 | { |
| 225 | GList *l; | |
| 226 | ||
| 227 | g_return_val_if_fail(session != NULL, NULL); | |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
228 | g_return_val_if_fail(chat_id >= 0, NULL); |
| 5309 | 229 | |
|
9158
f8dab42adeaf
[gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8831
diff
changeset
|
230 | for (l = session->switches; l != NULL; l = l->next) |
|
f8dab42adeaf
[gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8831
diff
changeset
|
231 | { |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
232 | MsnSwitchBoard *swboard; |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
233 | |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
234 | swboard = l->data; |
| 5309 | 235 | |
|
10621
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
236 | if (swboard->chat_id == chat_id) |
| 5309 | 237 | return swboard; |
| 238 | } | |
| 239 | ||
| 240 | return NULL; | |
| 241 | } | |
| 242 | ||
| 243 | MsnSwitchBoard * | |
|
10773
ef88ffed66eb
[gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10751
diff
changeset
|
244 | msn_session_get_swboard(MsnSession *session, const char *username, |
|
ef88ffed66eb
[gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10751
diff
changeset
|
245 | MsnSBFlag flag) |
| 5309 | 246 | { |
| 247 | MsnSwitchBoard *swboard; | |
| 248 | ||
|
13635
dcbce56b7713
[gaim-migrate @ 16032]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11992
diff
changeset
|
249 | g_return_val_if_fail(session != NULL, NULL); |
|
dcbce56b7713
[gaim-migrate @ 16032]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11992
diff
changeset
|
250 | |
|
10621
2b214ffb112b
[gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10602
diff
changeset
|
251 | swboard = msn_session_find_swboard(session, username); |
| 5309 | 252 | |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
253 | if (swboard == NULL) |
|
9158
f8dab42adeaf
[gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
8831
diff
changeset
|
254 | { |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
255 | swboard = msn_switchboard_new(session); |
|
10225
0dfea1bc8695
[gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10112
diff
changeset
|
256 | swboard->im_user = g_strdup(username); |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
257 | msn_switchboard_request(swboard); |
|
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
258 | msn_switchboard_request_add_user(swboard, username); |
| 5309 | 259 | } |
| 260 | ||
|
10773
ef88ffed66eb
[gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10751
diff
changeset
|
261 | swboard->flag |= flag; |
|
ef88ffed66eb
[gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10751
diff
changeset
|
262 | |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9158
diff
changeset
|
263 | return swboard; |
| 5309 | 264 | } |
|
10044
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
265 | |
|
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
266 | static void |
|
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
267 | msn_session_sync_users(MsnSession *session) |
|
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
268 | { |
| 15884 | 269 | PurpleBlistNode *gnode, *cnode, *bnode; |
| 270 | PurpleConnection *gc = purple_account_get_connection(session->account); | |
|
23090
9a987bea8364
Make MSN buddy list synchronization more forgiving, only ask about
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22164
diff
changeset
|
271 | GList *to_remove = NULL; |
|
10044
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
272 | |
|
11992
906176cc9b22
[gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11303
diff
changeset
|
273 | g_return_if_fail(gc != NULL); |
|
10044
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
274 | |
|
11992
906176cc9b22
[gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11303
diff
changeset
|
275 | /* The core used to use msn_add_buddy to add all buddies before |
|
906176cc9b22
[gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11303
diff
changeset
|
276 | * being logged in. This no longer happens, so we manually iterate |
|
20658
91594d39738c
Clear the password consistently when we get a "Signed-On elsewhere" or a "Invalid Password" disconnection. Disconnection reason codes will take care of this in the core, but until then, this is ok. Fixes #3204.
Daniel Atallah <datallah@pidgin.im>
parents:
20597
diff
changeset
|
277 | * over the whole buddy list to identify sync issues. |
| 13899 | 278 | */ |
|
20478
46933dc62880
propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
279 | for (gnode = purple_get_blist()->root; gnode; gnode = gnode->next) { |
| 15884 | 280 | PurpleGroup *group = (PurpleGroup *)gnode; |
|
20522
177cad886d4c
A bunch of MSNP14 stuff:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
20517
diff
changeset
|
281 | const char *group_name; |
| 15884 | 282 | if(!PURPLE_BLIST_NODE_IS_GROUP(gnode)) |
|
11992
906176cc9b22
[gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11303
diff
changeset
|
283 | continue; |
|
20522
177cad886d4c
A bunch of MSNP14 stuff:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
20517
diff
changeset
|
284 | group_name = group->name; |
|
11992
906176cc9b22
[gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11303
diff
changeset
|
285 | for(cnode = gnode->child; cnode; cnode = cnode->next) { |
| 15884 | 286 | if(!PURPLE_BLIST_NODE_IS_CONTACT(cnode)) |
|
11992
906176cc9b22
[gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11303
diff
changeset
|
287 | continue; |
|
906176cc9b22
[gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11303
diff
changeset
|
288 | for(bnode = cnode->child; bnode; bnode = bnode->next) { |
| 15884 | 289 | PurpleBuddy *b; |
| 290 | if(!PURPLE_BLIST_NODE_IS_BUDDY(bnode)) | |
|
11992
906176cc9b22
[gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11303
diff
changeset
|
291 | continue; |
| 15884 | 292 | b = (PurpleBuddy *)bnode; |
| 293 | if(purple_buddy_get_account(b) == purple_connection_get_account(gc)) { | |
|
11992
906176cc9b22
[gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11303
diff
changeset
|
294 | MsnUser *remote_user; |
|
10044
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
295 | gboolean found = FALSE; |
|
11992
906176cc9b22
[gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11303
diff
changeset
|
296 | |
| 15884 | 297 | remote_user = msn_userlist_find_user(session->userlist, purple_buddy_get_name(b)); |
|
10044
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
298 | |
|
11992
906176cc9b22
[gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11303
diff
changeset
|
299 | if ((remote_user != NULL) && (remote_user->list_op & MSN_LIST_FL_OP)) |
|
906176cc9b22
[gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11303
diff
changeset
|
300 | { |
|
906176cc9b22
[gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11303
diff
changeset
|
301 | GList *l; |
|
10044
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
302 | |
|
11992
906176cc9b22
[gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11303
diff
changeset
|
303 | for (l = remote_user->group_ids; l != NULL; l = l->next) |
|
10044
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
304 | { |
|
20582
edd27909081a
Make the buddylist sync issue a little less worse.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20564
diff
changeset
|
305 | const char *name = msn_userlist_find_group_name(remote_user->userlist, l->data); |
|
edd27909081a
Make the buddylist sync issue a little less worse.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20564
diff
changeset
|
306 | if (name && !g_strcasecmp(group_name, name)) |
|
11992
906176cc9b22
[gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11303
diff
changeset
|
307 | { |
|
906176cc9b22
[gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11303
diff
changeset
|
308 | found = TRUE; |
|
906176cc9b22
[gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11303
diff
changeset
|
309 | break; |
|
906176cc9b22
[gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11303
diff
changeset
|
310 | } |
|
10044
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
311 | } |
|
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
312 | } |
|
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
313 | |
|
23090
9a987bea8364
Make MSN buddy list synchronization more forgiving, only ask about
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22164
diff
changeset
|
314 | /* We don't care if they're in a different group, as long as they're on the |
|
9a987bea8364
Make MSN buddy list synchronization more forgiving, only ask about
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22164
diff
changeset
|
315 | * list somewhere. If we check for the group, we cause pain, agony and |
|
9a987bea8364
Make MSN buddy list synchronization more forgiving, only ask about
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22164
diff
changeset
|
316 | * suffering for people who decide to re-arrange their buddy list elsewhere. |
|
9a987bea8364
Make MSN buddy list synchronization more forgiving, only ask about
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22164
diff
changeset
|
317 | */ |
|
10044
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
318 | if (!found) |
|
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
319 | { |
|
23090
9a987bea8364
Make MSN buddy list synchronization more forgiving, only ask about
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22164
diff
changeset
|
320 | if ((remote_user == NULL) || !(remote_user->list_op & MSN_LIST_FL_OP)) { |
|
9a987bea8364
Make MSN buddy list synchronization more forgiving, only ask about
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22164
diff
changeset
|
321 | /* The user is not on the server list */ |
|
9a987bea8364
Make MSN buddy list synchronization more forgiving, only ask about
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22164
diff
changeset
|
322 | msn_show_sync_issue(session, purple_buddy_get_name(b), group_name); |
|
9a987bea8364
Make MSN buddy list synchronization more forgiving, only ask about
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22164
diff
changeset
|
323 | } else { |
|
9a987bea8364
Make MSN buddy list synchronization more forgiving, only ask about
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22164
diff
changeset
|
324 | /* The user is not in that group on the server list */ |
|
9a987bea8364
Make MSN buddy list synchronization more forgiving, only ask about
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22164
diff
changeset
|
325 | to_remove = g_list_prepend(to_remove, b); |
|
9a987bea8364
Make MSN buddy list synchronization more forgiving, only ask about
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22164
diff
changeset
|
326 | } |
|
10044
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
327 | } |
|
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
328 | } |
|
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
329 | } |
|
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
330 | } |
|
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
331 | } |
|
23090
9a987bea8364
Make MSN buddy list synchronization more forgiving, only ask about
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22164
diff
changeset
|
332 | |
|
9a987bea8364
Make MSN buddy list synchronization more forgiving, only ask about
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22164
diff
changeset
|
333 | if (to_remove != NULL) { |
|
9a987bea8364
Make MSN buddy list synchronization more forgiving, only ask about
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22164
diff
changeset
|
334 | g_list_foreach(to_remove, (GFunc)purple_blist_remove_buddy, NULL); |
|
23092
7e1f02514b9c
unleak (thanks sadrul!)
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
23090
diff
changeset
|
335 | g_list_free(to_remove); |
|
23090
9a987bea8364
Make MSN buddy list synchronization more forgiving, only ask about
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22164
diff
changeset
|
336 | } |
|
10044
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
337 | } |
|
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
338 | |
|
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
339 | void |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
340 | msn_session_set_error(MsnSession *session, MsnErrorType error, |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
341 | const char *info) |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
342 | { |
| 15884 | 343 | PurpleConnection *gc; |
| 21279 | 344 | PurpleConnectionError reason; |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
345 | char *msg; |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
346 | |
| 15884 | 347 | gc = purple_account_get_connection(session->account); |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
348 | |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
349 | switch (error) |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
350 | { |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
351 | case MSN_ERROR_SERVCONN: |
| 21279 | 352 | reason = PURPLE_CONNECTION_ERROR_NETWORK_ERROR; |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
353 | msg = g_strdup(info); |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
354 | break; |
|
10519
80801a34a246
[gaim-migrate @ 11833]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10514
diff
changeset
|
355 | case MSN_ERROR_UNSUPPORTED_PROTOCOL: |
| 21279 | 356 | reason = PURPLE_CONNECTION_ERROR_NETWORK_ERROR; |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
357 | msg = g_strdup(_("Our protocol is not supported by the " |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
358 | "server.")); |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
359 | break; |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
360 | case MSN_ERROR_HTTP_MALFORMED: |
| 21279 | 361 | reason = PURPLE_CONNECTION_ERROR_NETWORK_ERROR; |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
362 | msg = g_strdup(_("Error parsing HTTP.")); |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
363 | break; |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
364 | case MSN_ERROR_SIGN_OTHER: |
| 21279 | 365 | reason = PURPLE_CONNECTION_ERROR_NAME_IN_USE; |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
366 | msg = g_strdup(_("You have signed on from another location.")); |
|
20658
91594d39738c
Clear the password consistently when we get a "Signed-On elsewhere" or a "Invalid Password" disconnection. Disconnection reason codes will take care of this in the core, but until then, this is ok. Fixes #3204.
Daniel Atallah <datallah@pidgin.im>
parents:
20597
diff
changeset
|
367 | if (!purple_account_get_remember_password(session->account)) |
|
91594d39738c
Clear the password consistently when we get a "Signed-On elsewhere" or a "Invalid Password" disconnection. Disconnection reason codes will take care of this in the core, but until then, this is ok. Fixes #3204.
Daniel Atallah <datallah@pidgin.im>
parents:
20597
diff
changeset
|
368 | purple_account_set_password(session->account, NULL); |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
369 | break; |
|
10568
15f02c0e7fc1
[gaim-migrate @ 11954]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10533
diff
changeset
|
370 | case MSN_ERROR_SERV_UNAVAILABLE: |
| 21279 | 371 | reason = PURPLE_CONNECTION_ERROR_NETWORK_ERROR; |
|
10568
15f02c0e7fc1
[gaim-migrate @ 11954]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10533
diff
changeset
|
372 | msg = g_strdup(_("The MSN servers are temporarily " |
|
15f02c0e7fc1
[gaim-migrate @ 11954]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10533
diff
changeset
|
373 | "unavailable. Please wait and try " |
|
15f02c0e7fc1
[gaim-migrate @ 11954]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10533
diff
changeset
|
374 | "again.")); |
|
15f02c0e7fc1
[gaim-migrate @ 11954]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10533
diff
changeset
|
375 | break; |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
376 | case MSN_ERROR_SERV_DOWN: |
| 21279 | 377 | reason = PURPLE_CONNECTION_ERROR_NETWORK_ERROR; |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
378 | msg = g_strdup(_("The MSN servers are going down " |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
379 | "temporarily.")); |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
380 | break; |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
381 | case MSN_ERROR_AUTH: |
| 21279 | 382 | reason = PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED; |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
383 | msg = g_strdup_printf(_("Unable to authenticate: %s"), |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
384 | (info == NULL ) ? |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
385 | _("Unknown error") : info); |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
386 | break; |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
387 | case MSN_ERROR_BAD_BLIST: |
| 21279 | 388 | reason = PURPLE_CONNECTION_ERROR_NETWORK_ERROR; |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
389 | msg = g_strdup(_("Your MSN buddy list is temporarily " |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
390 | "unavailable. Please wait and try " |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
391 | "again.")); |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
392 | break; |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
393 | default: |
| 21279 | 394 | reason = PURPLE_CONNECTION_ERROR_NETWORK_ERROR; |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
395 | msg = g_strdup(_("Unknown error.")); |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
396 | break; |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
397 | } |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
398 | |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
399 | msn_session_disconnect(session); |
|
10533
4c2ad22fad20
[gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10519
diff
changeset
|
400 | |
|
20448
7ad9785266ea
Use purple_connection_error_reason in prpl-msn.
Will Thompson <resiak@pidgin.im>
parents:
19859
diff
changeset
|
401 | purple_connection_error_reason (gc, reason, msg); |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
402 | |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
403 | g_free(msg); |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
404 | } |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
405 | |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
406 | static const char * |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
407 | get_login_step_text(MsnSession *session) |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
408 | { |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
409 | const char *steps_text[] = { |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
410 | _("Connecting"), |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
411 | _("Handshaking"), |
|
10514
3d6cb5d53e97
[gaim-migrate @ 11814]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10504
diff
changeset
|
412 | _("Transferring"), |
|
3d6cb5d53e97
[gaim-migrate @ 11814]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10504
diff
changeset
|
413 | _("Handshaking"), |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
414 | _("Starting authentication"), |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
415 | _("Getting cookie"), |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
416 | _("Authenticating"), |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
417 | _("Sending cookie"), |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
418 | _("Retrieving buddy list") |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
419 | }; |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
420 | |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
421 | return steps_text[session->login_step]; |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
422 | } |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
423 | |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
424 | void |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
425 | msn_session_set_login_step(MsnSession *session, MsnLoginStep step) |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
426 | { |
| 15884 | 427 | PurpleConnection *gc; |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
428 | |
|
10519
80801a34a246
[gaim-migrate @ 11833]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10514
diff
changeset
|
429 | /* Prevent the connection progress going backwards, eg. if we get |
|
80801a34a246
[gaim-migrate @ 11833]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10514
diff
changeset
|
430 | * transferred several times during login */ |
|
10582
19bf2c0b3e63
[gaim-migrate @ 11983]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10568
diff
changeset
|
431 | if (session->login_step > step) |
|
10519
80801a34a246
[gaim-migrate @ 11833]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10514
diff
changeset
|
432 | return; |
|
80801a34a246
[gaim-migrate @ 11833]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10514
diff
changeset
|
433 | |
|
80801a34a246
[gaim-migrate @ 11833]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10514
diff
changeset
|
434 | /* If we're already logged in, we're probably here because of a |
|
80801a34a246
[gaim-migrate @ 11833]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10514
diff
changeset
|
435 | * mid-session XFR from the notification server, so we don't want to |
|
80801a34a246
[gaim-migrate @ 11833]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10514
diff
changeset
|
436 | * popup the connection progress dialog */ |
|
80801a34a246
[gaim-migrate @ 11833]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10514
diff
changeset
|
437 | if (session->logged_in) |
|
80801a34a246
[gaim-migrate @ 11833]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10514
diff
changeset
|
438 | return; |
|
80801a34a246
[gaim-migrate @ 11833]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10514
diff
changeset
|
439 | |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
440 | gc = session->account->gc; |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
441 | |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
442 | session->login_step = step; |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
443 | |
| 15884 | 444 | purple_connection_update_progress(gc, get_login_step_text(session), step, |
|
10481
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
445 | MSN_LOGIN_STEPS); |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
446 | } |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
447 | |
|
a5d6b8e1717d
[gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10463
diff
changeset
|
448 | void |
|
10044
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
449 | msn_session_finish_login(MsnSession *session) |
|
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
450 | { |
| 15884 | 451 | PurpleAccount *account; |
| 452 | PurpleConnection *gc; | |
|
16538
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
15884
diff
changeset
|
453 | PurpleStoredImage *img; |
|
17686
b9a99ae92f2a
Don't retrieve hotmail authorization info for non-hotmail accounts. Fixes #1580
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17528
diff
changeset
|
454 | const char *passport; |
|
10044
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
455 | |
|
10533
4c2ad22fad20
[gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10519
diff
changeset
|
456 | if (session->logged_in) |
|
4c2ad22fad20
[gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10519
diff
changeset
|
457 | return; |
|
4c2ad22fad20
[gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
10519
diff
changeset
|
458 | |
|
10044
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
459 | account = session->account; |
| 15884 | 460 | gc = purple_account_get_connection(account); |
|
10044
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
461 | |
|
16538
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
15884
diff
changeset
|
462 | img = purple_buddy_icons_find_account_icon(session->account); |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
15884
diff
changeset
|
463 | msn_user_set_buddy_icon(session->user, img); |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
15884
diff
changeset
|
464 | purple_imgstore_unref(img); |
|
10044
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
465 | |
|
10908
15694532c3c6
[gaim-migrate @ 12640]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10773
diff
changeset
|
466 | session->logged_in = TRUE; |
|
15694532c3c6
[gaim-migrate @ 12640]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10773
diff
changeset
|
467 | |
|
11992
906176cc9b22
[gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11303
diff
changeset
|
468 | msn_change_status(session); |
|
10044
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
469 | |
| 15884 | 470 | purple_connection_set_state(gc, PURPLE_CONNECTED); |
|
10044
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
471 | |
|
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
472 | /* Sync users */ |
|
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
473 | msn_session_sync_users(session); |
|
17255
a4f1d0f9b81b
Support for @msn.com accounts when opening Inbox, and unconditioanlly request
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16538
diff
changeset
|
474 | /* It seems that some accounts that haven't accessed hotmail for a while |
|
a4f1d0f9b81b
Support for @msn.com accounts when opening Inbox, and unconditioanlly request
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16538
diff
changeset
|
475 | * and @msn.com accounts don't automatically get the initial email |
|
a4f1d0f9b81b
Support for @msn.com accounts when opening Inbox, and unconditioanlly request
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16538
diff
changeset
|
476 | * notification so we always request it on login |
|
a4f1d0f9b81b
Support for @msn.com accounts when opening Inbox, and unconditioanlly request
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16538
diff
changeset
|
477 | */ |
|
17686
b9a99ae92f2a
Don't retrieve hotmail authorization info for non-hotmail accounts. Fixes #1580
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17528
diff
changeset
|
478 | |
|
b9a99ae92f2a
Don't retrieve hotmail authorization info for non-hotmail accounts. Fixes #1580
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17528
diff
changeset
|
479 | passport = purple_normalize(account, purple_account_get_username(account)); |
|
b9a99ae92f2a
Don't retrieve hotmail authorization info for non-hotmail accounts. Fixes #1580
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17528
diff
changeset
|
480 | |
|
b9a99ae92f2a
Don't retrieve hotmail authorization info for non-hotmail accounts. Fixes #1580
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17528
diff
changeset
|
481 | if ((strstr(passport, "@hotmail.") != NULL) || |
|
b9a99ae92f2a
Don't retrieve hotmail authorization info for non-hotmail accounts. Fixes #1580
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17528
diff
changeset
|
482 | (strstr(passport, "@msn.com") != NULL)) |
|
b9a99ae92f2a
Don't retrieve hotmail authorization info for non-hotmail accounts. Fixes #1580
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17528
diff
changeset
|
483 | { |
|
b9a99ae92f2a
Don't retrieve hotmail authorization info for non-hotmail accounts. Fixes #1580
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17528
diff
changeset
|
484 | msn_cmdproc_send(session->notification->cmdproc, "URL", "%s", "INBOX"); |
|
b9a99ae92f2a
Don't retrieve hotmail authorization info for non-hotmail accounts. Fixes #1580
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17528
diff
changeset
|
485 | } |
|
10044
884c09b189e6
[gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
9198
diff
changeset
|
486 | } |
|
20473
91e1b3a49d10
msn.tgz from SF Patch #1621854 from Ka-Hing Cheung
Ka-Hing Cheung <khc@pidgin.im>
parents:
20472
diff
changeset
|
487 |