Sun, 11 Nov 2007 12:57:52 +0000
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
old fools like me who prefer the stability of our MSNP9 code over the
features of MSNP14 can enable this using the --disable-msnp14 ./configure
option.
If we want to release from i.p.p and MSN stability is the only blocker, we
can trivially flick the default to use MSNP9 in configure.ac
|
21481
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1 | /** |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
2 | * @file notification.c Notification server functions |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
3 | * |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
4 | * purple |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
5 | * |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
6 | * Purple is the legal property of its developers, whose names are too numerous |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
7 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
8 | * source distribution. |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
9 | * |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
10 | * This program is free software; you can redistribute it and/or modify |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
11 | * it under the terms of the GNU General Public License as published by |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
12 | * the Free Software Foundation; either version 2 of the License, or |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
13 | * (at your option) any later version. |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
14 | * |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
15 | * This program is distributed in the hope that it will be useful, |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
18 | * GNU General Public License for more details. |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
19 | * |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
20 | * You should have received a copy of the GNU General Public License |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
21 | * along with this program; if not, write to the Free Software |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
22 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
23 | */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
24 | #include "msn.h" |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
25 | #include "notification.h" |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
26 | #include "state.h" |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
27 | #include "error.h" |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
28 | #include "msn-utils.h" |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
29 | #include "page.h" |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
30 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
31 | #include "userlist.h" |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
32 | #include "sync.h" |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
33 | #include "slplink.h" |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
34 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
35 | static MsnTable *cbs_table; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
36 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
37 | /************************************************************************** |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
38 | * Main |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
39 | **************************************************************************/ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
40 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
41 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
42 | destroy_cb(MsnServConn *servconn) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
43 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
44 | MsnNotification *notification; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
45 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
46 | notification = servconn->cmdproc->data; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
47 | g_return_if_fail(notification != NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
48 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
49 | msn_notification_destroy(notification); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
50 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
51 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
52 | MsnNotification * |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
53 | msn_notification_new(MsnSession *session) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
54 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
55 | MsnNotification *notification; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
56 | MsnServConn *servconn; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
57 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
58 | g_return_val_if_fail(session != NULL, NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
59 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
60 | notification = g_new0(MsnNotification, 1); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
61 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
62 | notification->session = session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
63 | notification->servconn = servconn = msn_servconn_new(session, MSN_SERVCONN_NS); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
64 | msn_servconn_set_destroy_cb(servconn, destroy_cb); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
65 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
66 | notification->cmdproc = servconn->cmdproc; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
67 | notification->cmdproc->data = notification; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
68 | notification->cmdproc->cbs_table = cbs_table; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
69 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
70 | return notification; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
71 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
72 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
73 | void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
74 | msn_notification_destroy(MsnNotification *notification) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
75 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
76 | notification->cmdproc->data = NULL; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
77 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
78 | msn_servconn_set_destroy_cb(notification->servconn, NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
79 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
80 | msn_servconn_destroy(notification->servconn); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
81 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
82 | g_free(notification); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
83 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
84 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
85 | /************************************************************************** |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
86 | * Connect |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
87 | **************************************************************************/ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
88 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
89 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
90 | connect_cb(MsnServConn *servconn) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
91 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
92 | MsnCmdProc *cmdproc; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
93 | MsnSession *session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
94 | PurpleAccount *account; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
95 | char **a, **c, *vers; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
96 | int i; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
97 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
98 | g_return_if_fail(servconn != NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
99 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
100 | cmdproc = servconn->cmdproc; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
101 | session = servconn->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
102 | account = session->account; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
103 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
104 | /* Allocate an array for CVR0, NULL, and all the versions */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
105 | a = c = g_new0(char *, session->protocol_ver - 8 + 3); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
106 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
107 | for (i = session->protocol_ver; i >= 8; i--) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
108 | *c++ = g_strdup_printf("MSNP%d", i); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
109 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
110 | *c++ = g_strdup("CVR0"); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
111 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
112 | vers = g_strjoinv(" ", a); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
113 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
114 | if (session->login_step == MSN_LOGIN_STEP_START) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
115 | msn_session_set_login_step(session, MSN_LOGIN_STEP_HANDSHAKE); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
116 | else |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
117 | msn_session_set_login_step(session, MSN_LOGIN_STEP_HANDSHAKE2); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
118 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
119 | msn_cmdproc_send(cmdproc, "VER", "%s", vers); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
120 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
121 | g_strfreev(a); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
122 | g_free(vers); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
123 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
124 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
125 | gboolean |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
126 | msn_notification_connect(MsnNotification *notification, const char *host, int port) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
127 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
128 | MsnServConn *servconn; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
129 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
130 | g_return_val_if_fail(notification != NULL, FALSE); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
131 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
132 | servconn = notification->servconn; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
133 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
134 | msn_servconn_set_connect_cb(servconn, connect_cb); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
135 | notification->in_use = msn_servconn_connect(servconn, host, port); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
136 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
137 | return notification->in_use; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
138 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
139 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
140 | void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
141 | msn_notification_disconnect(MsnNotification *notification) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
142 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
143 | g_return_if_fail(notification != NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
144 | g_return_if_fail(notification->in_use); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
145 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
146 | msn_servconn_disconnect(notification->servconn); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
147 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
148 | notification->in_use = FALSE; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
149 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
150 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
151 | /************************************************************************** |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
152 | * Util |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
153 | **************************************************************************/ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
154 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
155 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
156 | group_error_helper(MsnSession *session, const char *msg, int group_id, int error) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
157 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
158 | PurpleAccount *account; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
159 | PurpleConnection *gc; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
160 | char *reason = NULL; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
161 | char *title = NULL; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
162 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
163 | account = session->account; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
164 | gc = purple_account_get_connection(account); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
165 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
166 | if (error == 224) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
167 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
168 | if (group_id == 0) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
169 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
170 | return; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
171 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
172 | else |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
173 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
174 | const char *group_name; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
175 | group_name = |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
176 | msn_userlist_find_group_name(session->userlist, |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
177 | group_id); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
178 | reason = g_strdup_printf(_("%s is not a valid group."), |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
179 | group_name); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
180 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
181 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
182 | else |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
183 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
184 | reason = g_strdup(_("Unknown error.")); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
185 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
186 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
187 | title = g_strdup_printf(_("%s on %s (%s)"), msg, |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
188 | purple_account_get_username(account), |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
189 | purple_account_get_protocol_name(account)); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
190 | purple_notify_error(gc, NULL, title, reason); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
191 | g_free(title); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
192 | g_free(reason); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
193 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
194 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
195 | /************************************************************************** |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
196 | * Login |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
197 | **************************************************************************/ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
198 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
199 | void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
200 | msn_got_login_params(MsnSession *session, const char *login_params) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
201 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
202 | MsnCmdProc *cmdproc; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
203 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
204 | cmdproc = session->notification->cmdproc; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
205 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
206 | msn_session_set_login_step(session, MSN_LOGIN_STEP_AUTH_END); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
207 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
208 | msn_cmdproc_send(cmdproc, "USR", "TWN S %s", login_params); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
209 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
210 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
211 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
212 | cvr_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
213 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
214 | PurpleAccount *account; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
215 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
216 | account = cmdproc->session->account; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
217 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
218 | msn_cmdproc_send(cmdproc, "USR", "TWN I %s", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
219 | purple_account_get_username(account)); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
220 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
221 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
222 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
223 | usr_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
224 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
225 | MsnSession *session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
226 | PurpleAccount *account; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
227 | PurpleConnection *gc; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
228 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
229 | session = cmdproc->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
230 | account = session->account; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
231 | gc = purple_account_get_connection(account); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
232 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
233 | if (!g_ascii_strcasecmp(cmd->params[1], "OK")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
234 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
235 | /* OK */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
236 | const char *friendly = purple_url_decode(cmd->params[3]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
237 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
238 | purple_connection_set_display_name(gc, friendly); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
239 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
240 | msn_session_set_login_step(session, MSN_LOGIN_STEP_SYN); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
241 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
242 | msn_cmdproc_send(cmdproc, "SYN", "%s", "0"); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
243 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
244 | else if (!g_ascii_strcasecmp(cmd->params[1], "TWN")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
245 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
246 | /* Passport authentication */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
247 | char **elems, **cur, **tokens; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
248 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
249 | session->nexus = msn_nexus_new(session); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
250 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
251 | /* Parse the challenge data. */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
252 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
253 | elems = g_strsplit(cmd->params[3], ",", 0); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
254 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
255 | for (cur = elems; *cur != NULL; cur++) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
256 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
257 | tokens = g_strsplit(*cur, "=", 2); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
258 | g_hash_table_insert(session->nexus->challenge_data, tokens[0], tokens[1]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
259 | /* Don't free each of the tokens, only the array. */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
260 | g_free(tokens); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
261 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
262 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
263 | g_strfreev(elems); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
264 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
265 | msn_session_set_login_step(session, MSN_LOGIN_STEP_AUTH_START); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
266 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
267 | msn_nexus_connect(session->nexus); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
268 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
269 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
270 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
271 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
272 | usr_error(MsnCmdProc *cmdproc, MsnTransaction *trans, int error) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
273 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
274 | MsnErrorType msnerr = 0; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
275 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
276 | switch (error) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
277 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
278 | case 500: |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
279 | case 601: |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
280 | case 910: |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
281 | case 921: |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
282 | msnerr = MSN_ERROR_SERV_UNAVAILABLE; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
283 | break; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
284 | case 911: |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
285 | msnerr = MSN_ERROR_AUTH; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
286 | break; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
287 | default: |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
288 | return; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
289 | break; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
290 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
291 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
292 | msn_session_set_error(cmdproc->session, msnerr, NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
293 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
294 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
295 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
296 | ver_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
297 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
298 | MsnSession *session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
299 | PurpleAccount *account; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
300 | gboolean protocol_supported = FALSE; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
301 | char proto_str[8]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
302 | size_t i; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
303 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
304 | session = cmdproc->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
305 | account = session->account; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
306 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
307 | g_snprintf(proto_str, sizeof(proto_str), "MSNP%d", session->protocol_ver); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
308 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
309 | for (i = 1; i < cmd->param_count; i++) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
310 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
311 | if (!strcmp(cmd->params[i], proto_str)) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
312 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
313 | protocol_supported = TRUE; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
314 | break; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
315 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
316 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
317 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
318 | if (!protocol_supported) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
319 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
320 | msn_session_set_error(session, MSN_ERROR_UNSUPPORTED_PROTOCOL, |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
321 | NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
322 | return; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
323 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
324 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
325 | msn_cmdproc_send(cmdproc, "CVR", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
326 | "0x0409 winnt 5.1 i386 MSNMSGR 6.0.0602 MSMSGS %s", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
327 | purple_account_get_username(account)); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
328 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
329 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
330 | /************************************************************************** |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
331 | * Log out |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
332 | **************************************************************************/ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
333 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
334 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
335 | out_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
336 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
337 | if (!g_ascii_strcasecmp(cmd->params[0], "OTH")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
338 | msn_session_set_error(cmdproc->session, MSN_ERROR_SIGN_OTHER, |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
339 | NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
340 | else if (!g_ascii_strcasecmp(cmd->params[0], "SSD")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
341 | msn_session_set_error(cmdproc->session, MSN_ERROR_SERV_DOWN, NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
342 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
343 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
344 | void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
345 | msn_notification_close(MsnNotification *notification) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
346 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
347 | g_return_if_fail(notification != NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
348 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
349 | if (!notification->in_use) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
350 | return; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
351 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
352 | msn_cmdproc_send_quick(notification->cmdproc, "OUT", NULL, NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
353 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
354 | msn_notification_disconnect(notification); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
355 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
356 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
357 | /************************************************************************** |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
358 | * Messages |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
359 | **************************************************************************/ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
360 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
361 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
362 | msg_cmd_post(MsnCmdProc *cmdproc, MsnCommand *cmd, char *payload, |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
363 | size_t len) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
364 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
365 | MsnMessage *msg; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
366 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
367 | msg = msn_message_new_from_cmd(cmdproc->session, cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
368 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
369 | msn_message_parse_payload(msg, payload, len); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
370 | #ifdef MSN_DEBUG_NS |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
371 | msn_message_show_readable(msg, "Notification", TRUE); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
372 | #endif |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
373 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
374 | msn_cmdproc_process_msg(cmdproc, msg); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
375 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
376 | msn_message_destroy(msg); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
377 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
378 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
379 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
380 | msg_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
381 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
382 | /* NOTE: cmd is not always cmdproc->last_cmd, sometimes cmd is a queued |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
383 | * command and we are processing it */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
384 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
385 | if (cmd->payload == NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
386 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
387 | cmdproc->last_cmd->payload_cb = msg_cmd_post; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
388 | cmdproc->servconn->payload_len = atoi(cmd->params[2]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
389 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
390 | else |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
391 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
392 | g_return_if_fail(cmd->payload_cb != NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
393 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
394 | cmd->payload_cb(cmdproc, cmd, cmd->payload, cmd->payload_len); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
395 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
396 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
397 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
398 | /************************************************************************** |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
399 | * Challenges |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
400 | **************************************************************************/ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
401 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
402 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
403 | chl_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
404 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
405 | MsnTransaction *trans; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
406 | char buf[33]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
407 | const char *challenge_resp; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
408 | PurpleCipher *cipher; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
409 | PurpleCipherContext *context; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
410 | guchar digest[16]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
411 | int i; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
412 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
413 | cipher = purple_ciphers_find_cipher("md5"); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
414 | context = purple_cipher_context_new(cipher, NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
415 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
416 | purple_cipher_context_append(context, (const guchar *)cmd->params[1], |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
417 | strlen(cmd->params[1])); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
418 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
419 | challenge_resp = "VT6PX?UQTM4WM%YR"; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
420 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
421 | purple_cipher_context_append(context, (const guchar *)challenge_resp, |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
422 | strlen(challenge_resp)); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
423 | purple_cipher_context_digest(context, sizeof(digest), digest, NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
424 | purple_cipher_context_destroy(context); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
425 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
426 | for (i = 0; i < 16; i++) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
427 | g_snprintf(buf + (i*2), 3, "%02x", digest[i]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
428 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
429 | trans = msn_transaction_new(cmdproc, "QRY", "%s 32", "PROD0038W!61ZTF9"); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
430 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
431 | msn_transaction_set_payload(trans, buf, 32); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
432 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
433 | msn_cmdproc_send_trans(cmdproc, trans); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
434 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
435 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
436 | /************************************************************************** |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
437 | * Buddy Lists |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
438 | **************************************************************************/ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
439 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
440 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
441 | add_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
442 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
443 | MsnSession *session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
444 | MsnUser *user; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
445 | const char *list; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
446 | const char *passport; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
447 | const char *friendly; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
448 | MsnListId list_id; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
449 | int group_id; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
450 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
451 | list = cmd->params[1]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
452 | passport = cmd->params[3]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
453 | friendly = purple_url_decode(cmd->params[4]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
454 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
455 | session = cmdproc->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
456 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
457 | user = msn_userlist_find_user(session->userlist, passport); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
458 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
459 | if (user == NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
460 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
461 | user = msn_user_new(session->userlist, passport, friendly); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
462 | msn_userlist_add_user(session->userlist, user); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
463 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
464 | else |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
465 | msn_user_set_friendly_name(user, friendly); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
466 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
467 | list_id = msn_get_list_id(list); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
468 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
469 | if (cmd->param_count >= 6) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
470 | group_id = atoi(cmd->params[5]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
471 | else |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
472 | group_id = -1; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
473 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
474 | msn_got_add_user(session, user, list_id, group_id); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
475 | msn_user_update(user); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
476 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
477 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
478 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
479 | add_error(MsnCmdProc *cmdproc, MsnTransaction *trans, int error) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
480 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
481 | MsnSession *session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
482 | PurpleAccount *account; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
483 | PurpleConnection *gc; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
484 | const char *list, *passport; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
485 | char *reason = NULL; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
486 | char *msg = NULL; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
487 | char **params; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
488 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
489 | session = cmdproc->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
490 | account = session->account; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
491 | gc = purple_account_get_connection(account); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
492 | params = g_strsplit(trans->params, " ", 0); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
493 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
494 | list = params[0]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
495 | passport = params[1]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
496 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
497 | if (!strcmp(list, "FL")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
498 | msg = g_strdup_printf(_("Unable to add user on %s (%s)"), |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
499 | purple_account_get_username(account), |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
500 | purple_account_get_protocol_name(account)); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
501 | else if (!strcmp(list, "BL")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
502 | msg = g_strdup_printf(_("Unable to block user on %s (%s)"), |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
503 | purple_account_get_username(account), |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
504 | purple_account_get_protocol_name(account)); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
505 | else if (!strcmp(list, "AL")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
506 | msg = g_strdup_printf(_("Unable to permit user on %s (%s)"), |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
507 | purple_account_get_username(account), |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
508 | purple_account_get_protocol_name(account)); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
509 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
510 | if (!strcmp(list, "FL")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
511 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
512 | if (error == 210) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
513 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
514 | reason = g_strdup_printf(_("%s could not be added because " |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
515 | "your buddy list is full."), passport); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
516 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
517 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
518 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
519 | if (reason == NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
520 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
521 | if (error == 208) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
522 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
523 | reason = g_strdup_printf(_("%s is not a valid passport account."), |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
524 | passport); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
525 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
526 | else if (error == 500) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
527 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
528 | reason = g_strdup(_("Service Temporarily Unavailable.")); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
529 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
530 | else |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
531 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
532 | reason = g_strdup(_("Unknown error.")); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
533 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
534 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
535 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
536 | if (msg != NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
537 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
538 | purple_notify_error(gc, NULL, msg, reason); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
539 | g_free(msg); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
540 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
541 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
542 | if (!strcmp(list, "FL")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
543 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
544 | PurpleBuddy *buddy; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
545 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
546 | buddy = purple_find_buddy(account, passport); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
547 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
548 | if (buddy != NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
549 | purple_blist_remove_buddy(buddy); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
550 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
551 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
552 | g_free(reason); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
553 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
554 | g_strfreev(params); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
555 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
556 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
557 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
558 | adg_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
559 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
560 | MsnSession *session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
561 | gint group_id; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
562 | const char *group_name; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
563 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
564 | session = cmdproc->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
565 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
566 | group_id = atoi(cmd->params[3]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
567 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
568 | group_name = purple_url_decode(cmd->params[2]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
569 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
570 | msn_group_new(session->userlist, group_id, group_name); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
571 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
572 | /* There is a user that must me moved to this group */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
573 | if (cmd->trans->data) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
574 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
575 | /* msn_userlist_move_buddy(); */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
576 | MsnUserList *userlist = cmdproc->session->userlist; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
577 | MsnMoveBuddy *data = cmd->trans->data; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
578 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
579 | if (data->old_group_name != NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
580 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
581 | msn_userlist_rem_buddy(userlist, data->who, MSN_LIST_FL, data->old_group_name); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
582 | g_free(data->old_group_name); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
583 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
584 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
585 | msn_userlist_add_buddy(userlist, data->who, MSN_LIST_FL, group_name); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
586 | g_free(data->who); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
587 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
588 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
589 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
590 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
591 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
592 | qng_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
593 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
594 | MsnSession *session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
595 | static int count = 0; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
596 | const char *passport; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
597 | PurpleAccount *account; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
598 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
599 | session = cmdproc->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
600 | account = session->account; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
601 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
602 | if (session->passport_info.file == NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
603 | return; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
604 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
605 | passport = purple_normalize(account, purple_account_get_username(account)); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
606 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
607 | if ((strstr(passport, "@hotmail.") != NULL) || |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
608 | (strstr(passport, "@msn.com") != NULL)) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
609 | return; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
610 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
611 | if (count++ < 26) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
612 | return; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
613 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
614 | count = 0; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
615 | msn_cmdproc_send(cmdproc, "URL", "%s", "INBOX"); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
616 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
617 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
618 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
619 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
620 | fln_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
621 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
622 | MsnSlpLink *slplink; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
623 | MsnUser *user; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
624 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
625 | user = msn_userlist_find_user(cmdproc->session->userlist, cmd->params[0]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
626 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
627 | user->status = "offline"; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
628 | msn_user_update(user); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
629 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
630 | slplink = msn_session_find_slplink(cmdproc->session, cmd->params[0]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
631 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
632 | if (slplink != NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
633 | msn_slplink_destroy(slplink); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
634 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
635 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
636 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
637 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
638 | iln_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
639 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
640 | MsnSession *session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
641 | PurpleAccount *account; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
642 | PurpleConnection *gc; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
643 | MsnUser *user; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
644 | MsnObject *msnobj; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
645 | const char *state, *passport, *friendly; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
646 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
647 | session = cmdproc->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
648 | account = session->account; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
649 | gc = purple_account_get_connection(account); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
650 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
651 | state = cmd->params[1]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
652 | passport = cmd->params[2]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
653 | friendly = purple_url_decode(cmd->params[3]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
654 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
655 | user = msn_userlist_find_user(session->userlist, passport); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
656 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
657 | serv_got_alias(gc, passport, friendly); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
658 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
659 | msn_user_set_friendly_name(user, friendly); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
660 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
661 | if (session->protocol_ver >= 9 && cmd->param_count == 6) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
662 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
663 | msnobj = msn_object_new_from_string(purple_url_decode(cmd->params[5])); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
664 | msn_user_set_object(user, msnobj); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
665 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
666 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
667 | msn_user_set_state(user, state); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
668 | msn_user_update(user); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
669 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
670 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
671 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
672 | ipg_cmd_post(MsnCmdProc *cmdproc, MsnCommand *cmd, char *payload, size_t len) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
673 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
674 | #if 0 |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
675 | purple_debug_misc("msn", "Incoming Page: {%s}\n", payload); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
676 | #endif |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
677 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
678 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
679 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
680 | ipg_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
681 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
682 | cmdproc->servconn->payload_len = atoi(cmd->params[0]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
683 | cmdproc->last_cmd->payload_cb = ipg_cmd_post; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
684 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
685 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
686 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
687 | nln_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
688 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
689 | MsnSession *session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
690 | PurpleAccount *account; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
691 | PurpleConnection *gc; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
692 | MsnUser *user; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
693 | MsnObject *msnobj; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
694 | int clientid; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
695 | const char *state, *passport, *friendly, *old_friendly; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
696 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
697 | session = cmdproc->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
698 | account = session->account; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
699 | gc = purple_account_get_connection(account); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
700 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
701 | state = cmd->params[0]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
702 | passport = cmd->params[1]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
703 | friendly = purple_url_decode(cmd->params[2]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
704 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
705 | user = msn_userlist_find_user(session->userlist, passport); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
706 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
707 | old_friendly = msn_user_get_friendly_name(user); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
708 | if (!old_friendly || (old_friendly && (!friendly || strcmp(old_friendly, friendly)))) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
709 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
710 | serv_got_alias(gc, passport, friendly); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
711 | msn_user_set_friendly_name(user, friendly); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
712 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
713 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
714 | if (session->protocol_ver >= 9) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
715 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
716 | if (cmd->param_count == 5) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
717 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
718 | msnobj = |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
719 | msn_object_new_from_string(purple_url_decode(cmd->params[4])); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
720 | msn_user_set_object(user, msnobj); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
721 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
722 | else |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
723 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
724 | msn_user_set_object(user, NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
725 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
726 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
727 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
728 | clientid = atoi(cmd->params[3]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
729 | user->mobile = (clientid & MSN_CLIENT_CAP_MSNMOBILE); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
730 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
731 | msn_user_set_state(user, state); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
732 | msn_user_update(user); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
733 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
734 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
735 | #if 0 |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
736 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
737 | chg_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
738 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
739 | char *state = cmd->params[1]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
740 | int state_id = 0; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
741 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
742 | if (!strcmp(state, "NLN")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
743 | state_id = MSN_ONLINE; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
744 | else if (!strcmp(state, "BSY")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
745 | state_id = MSN_BUSY; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
746 | else if (!strcmp(state, "IDL")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
747 | state_id = MSN_IDLE; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
748 | else if (!strcmp(state, "BRB")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
749 | state_id = MSN_BRB; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
750 | else if (!strcmp(state, "AWY")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
751 | state_id = MSN_AWAY; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
752 | else if (!strcmp(state, "PHN")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
753 | state_id = MSN_PHONE; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
754 | else if (!strcmp(state, "LUN")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
755 | state_id = MSN_LUNCH; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
756 | else if (!strcmp(state, "HDN")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
757 | state_id = MSN_HIDDEN; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
758 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
759 | cmdproc->session->state = state_id; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
760 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
761 | #endif |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
762 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
763 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
764 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
765 | not_cmd_post(MsnCmdProc *cmdproc, MsnCommand *cmd, char *payload, size_t len) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
766 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
767 | #if 0 |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
768 | MSN_SET_PARAMS("NOT %d\r\n%s", cmdproc->servconn->payload, payload); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
769 | purple_debug_misc("msn", "Notification: {%s}\n", payload); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
770 | #endif |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
771 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
772 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
773 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
774 | not_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
775 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
776 | cmdproc->servconn->payload_len = atoi(cmd->params[0]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
777 | cmdproc->last_cmd->payload_cb = not_cmd_post; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
778 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
779 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
780 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
781 | rea_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
782 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
783 | /* TODO: This might be for us too */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
784 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
785 | MsnSession *session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
786 | PurpleConnection *gc; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
787 | const char *friendly; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
788 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
789 | session = cmdproc->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
790 | gc = session->account->gc; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
791 | friendly = purple_url_decode(cmd->params[3]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
792 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
793 | purple_connection_set_display_name(gc, friendly); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
794 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
795 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
796 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
797 | prp_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
798 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
799 | MsnSession *session = cmdproc->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
800 | const char *type, *value; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
801 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
802 | g_return_if_fail(cmd->param_count >= 3); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
803 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
804 | type = cmd->params[2]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
805 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
806 | if (cmd->param_count == 4) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
807 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
808 | value = cmd->params[3]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
809 | if (!strcmp(type, "PHH")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
810 | msn_user_set_home_phone(session->user, purple_url_decode(value)); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
811 | else if (!strcmp(type, "PHW")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
812 | msn_user_set_work_phone(session->user, purple_url_decode(value)); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
813 | else if (!strcmp(type, "PHM")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
814 | msn_user_set_mobile_phone(session->user, purple_url_decode(value)); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
815 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
816 | else |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
817 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
818 | if (!strcmp(type, "PHH")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
819 | msn_user_set_home_phone(session->user, NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
820 | else if (!strcmp(type, "PHW")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
821 | msn_user_set_work_phone(session->user, NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
822 | else if (!strcmp(type, "PHM")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
823 | msn_user_set_mobile_phone(session->user, NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
824 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
825 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
826 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
827 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
828 | reg_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
829 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
830 | MsnSession *session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
831 | int group_id; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
832 | const char *group_name; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
833 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
834 | session = cmdproc->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
835 | group_id = atoi(cmd->params[2]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
836 | group_name = purple_url_decode(cmd->params[3]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
837 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
838 | msn_userlist_rename_group_id(session->userlist, group_id, group_name); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
839 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
840 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
841 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
842 | reg_error(MsnCmdProc *cmdproc, MsnTransaction *trans, int error) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
843 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
844 | int group_id; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
845 | char **params; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
846 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
847 | params = g_strsplit(trans->params, " ", 0); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
848 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
849 | group_id = atoi(params[0]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
850 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
851 | group_error_helper(cmdproc->session, _("Unable to rename group"), group_id, error); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
852 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
853 | g_strfreev(params); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
854 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
855 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
856 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
857 | rem_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
858 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
859 | MsnSession *session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
860 | MsnUser *user; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
861 | const char *list; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
862 | const char *passport; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
863 | MsnListId list_id; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
864 | int group_id; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
865 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
866 | session = cmdproc->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
867 | list = cmd->params[1]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
868 | passport = cmd->params[3]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
869 | user = msn_userlist_find_user(session->userlist, passport); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
870 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
871 | g_return_if_fail(user != NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
872 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
873 | list_id = msn_get_list_id(list); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
874 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
875 | if (cmd->param_count == 5) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
876 | group_id = atoi(cmd->params[4]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
877 | else |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
878 | group_id = -1; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
879 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
880 | msn_got_rem_user(session, user, list_id, group_id); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
881 | msn_user_update(user); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
882 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
883 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
884 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
885 | rmg_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
886 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
887 | MsnSession *session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
888 | int group_id; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
889 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
890 | session = cmdproc->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
891 | group_id = atoi(cmd->params[2]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
892 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
893 | msn_userlist_remove_group_id(session->userlist, group_id); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
894 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
895 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
896 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
897 | rmg_error(MsnCmdProc *cmdproc, MsnTransaction *trans, int error) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
898 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
899 | int group_id; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
900 | char **params; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
901 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
902 | params = g_strsplit(trans->params, " ", 0); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
903 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
904 | group_id = atoi(params[0]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
905 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
906 | group_error_helper(cmdproc->session, _("Unable to delete group"), group_id, error); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
907 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
908 | g_strfreev(params); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
909 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
910 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
911 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
912 | syn_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
913 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
914 | MsnSession *session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
915 | MsnSync *sync; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
916 | int total_users; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
917 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
918 | session = cmdproc->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
919 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
920 | if (cmd->param_count == 2) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
921 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
922 | /* |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
923 | * This can happen if we sent a SYN with an up-to-date |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
924 | * buddy list revision, but we send 0 to get a full list. |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
925 | * So, error out. |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
926 | */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
927 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
928 | msn_session_set_error(cmdproc->session, MSN_ERROR_BAD_BLIST, NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
929 | return; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
930 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
931 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
932 | total_users = atoi(cmd->params[2]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
933 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
934 | sync = msn_sync_new(session); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
935 | sync->total_users = total_users; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
936 | sync->old_cbs_table = cmdproc->cbs_table; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
937 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
938 | session->sync = sync; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
939 | cmdproc->cbs_table = sync->cbs_table; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
940 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
941 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
942 | /************************************************************************** |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
943 | * Misc commands |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
944 | **************************************************************************/ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
945 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
946 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
947 | url_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
948 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
949 | MsnSession *session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
950 | PurpleAccount *account; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
951 | const char *rru; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
952 | const char *url; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
953 | PurpleCipher *cipher; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
954 | PurpleCipherContext *context; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
955 | guchar digest[16]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
956 | FILE *fd; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
957 | char *buf; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
958 | char buf2[3]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
959 | char sendbuf[64]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
960 | int i; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
961 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
962 | session = cmdproc->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
963 | account = session->account; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
964 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
965 | rru = cmd->params[1]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
966 | url = cmd->params[2]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
967 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
968 | buf = g_strdup_printf("%s%lu%s", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
969 | session->passport_info.mspauth ? session->passport_info.mspauth : "BOGUS", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
970 | time(NULL) - session->passport_info.sl, |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
971 | purple_connection_get_password(account->gc)); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
972 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
973 | cipher = purple_ciphers_find_cipher("md5"); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
974 | context = purple_cipher_context_new(cipher, NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
975 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
976 | purple_cipher_context_append(context, (const guchar *)buf, strlen(buf)); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
977 | purple_cipher_context_digest(context, sizeof(digest), digest, NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
978 | purple_cipher_context_destroy(context); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
979 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
980 | g_free(buf); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
981 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
982 | memset(sendbuf, 0, sizeof(sendbuf)); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
983 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
984 | for (i = 0; i < 16; i++) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
985 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
986 | g_snprintf(buf2, sizeof(buf2), "%02x", digest[i]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
987 | strcat(sendbuf, buf2); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
988 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
989 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
990 | if (session->passport_info.file != NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
991 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
992 | g_unlink(session->passport_info.file); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
993 | g_free(session->passport_info.file); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
994 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
995 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
996 | if ((fd = purple_mkstemp(&session->passport_info.file, FALSE)) == NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
997 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
998 | purple_debug_error("msn", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
999 | "Error opening temp passport file: %s\n", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1000 | strerror(errno)); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1001 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1002 | else |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1003 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1004 | #ifdef _WIN32 |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1005 | fputs("<!-- saved from url=(0013)about:internet -->\n", fd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1006 | #endif |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1007 | fputs("<html>\n" |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1008 | "<head>\n" |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1009 | "<noscript>\n" |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1010 | "<meta http-equiv=\"Refresh\" content=\"0; " |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1011 | "url=http://www.hotmail.com\">\n" |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1012 | "</noscript>\n" |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1013 | "</head>\n\n", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1014 | fd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1015 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1016 | fprintf(fd, "<body onload=\"document.pform.submit(); \">\n"); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1017 | fprintf(fd, "<form name=\"pform\" action=\"%s\" method=\"POST\">\n\n", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1018 | url); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1019 | fprintf(fd, "<input type=\"hidden\" name=\"mode\" value=\"ttl\">\n"); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1020 | fprintf(fd, "<input type=\"hidden\" name=\"login\" value=\"%s\">\n", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1021 | purple_account_get_username(account)); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1022 | fprintf(fd, "<input type=\"hidden\" name=\"username\" value=\"%s\">\n", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1023 | purple_account_get_username(account)); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1024 | if (session->passport_info.sid != NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1025 | fprintf(fd, "<input type=\"hidden\" name=\"sid\" value=\"%s\">\n", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1026 | session->passport_info.sid); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1027 | if (session->passport_info.kv != NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1028 | fprintf(fd, "<input type=\"hidden\" name=\"kv\" value=\"%s\">\n", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1029 | session->passport_info.kv); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1030 | fprintf(fd, "<input type=\"hidden\" name=\"id\" value=\"2\">\n"); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1031 | fprintf(fd, "<input type=\"hidden\" name=\"sl\" value=\"%ld\">\n", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1032 | time(NULL) - session->passport_info.sl); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1033 | fprintf(fd, "<input type=\"hidden\" name=\"rru\" value=\"%s\">\n", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1034 | rru); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1035 | if (session->passport_info.mspauth != NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1036 | fprintf(fd, "<input type=\"hidden\" name=\"auth\" value=\"%s\">\n", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1037 | session->passport_info.mspauth); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1038 | fprintf(fd, "<input type=\"hidden\" name=\"creds\" value=\"%s\">\n", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1039 | sendbuf); /* TODO Digest me (huh? -- ChipX86) */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1040 | fprintf(fd, "<input type=\"hidden\" name=\"svc\" value=\"mail\">\n"); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1041 | fprintf(fd, "<input type=\"hidden\" name=\"js\" value=\"yes\">\n"); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1042 | fprintf(fd, "</form></body>\n"); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1043 | fprintf(fd, "</html>\n"); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1044 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1045 | if (fclose(fd)) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1046 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1047 | purple_debug_error("msn", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1048 | "Error closing temp passport file: %s\n", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1049 | strerror(errno)); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1050 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1051 | g_unlink(session->passport_info.file); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1052 | g_free(session->passport_info.file); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1053 | session->passport_info.file = NULL; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1054 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1055 | #ifdef _WIN32 |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1056 | else |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1057 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1058 | /* |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1059 | * Renaming file with .html extension, so that the |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1060 | * win32 open_url will work. |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1061 | */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1062 | char *tmp; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1063 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1064 | if ((tmp = |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1065 | g_strdup_printf("%s.html", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1066 | session->passport_info.file)) != NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1067 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1068 | if (g_rename(session->passport_info.file, |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1069 | tmp) == 0) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1070 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1071 | g_free(session->passport_info.file); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1072 | session->passport_info.file = tmp; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1073 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1074 | else |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1075 | g_free(tmp); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1076 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1077 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1078 | #endif |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1079 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1080 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1081 | /************************************************************************** |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1082 | * Switchboards |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1083 | **************************************************************************/ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1084 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1085 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1086 | rng_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1087 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1088 | MsnSession *session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1089 | MsnSwitchBoard *swboard; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1090 | const char *session_id; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1091 | char *host; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1092 | int port; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1093 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1094 | session = cmdproc->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1095 | session_id = cmd->params[0]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1096 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1097 | msn_parse_socket(cmd->params[1], &host, &port); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1098 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1099 | if (session->http_method) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1100 | port = 80; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1101 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1102 | swboard = msn_switchboard_new(session); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1103 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1104 | msn_switchboard_set_invited(swboard, TRUE); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1105 | msn_switchboard_set_session_id(swboard, cmd->params[0]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1106 | msn_switchboard_set_auth_key(swboard, cmd->params[3]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1107 | swboard->im_user = g_strdup(cmd->params[4]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1108 | /* msn_switchboard_add_user(swboard, cmd->params[4]); */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1109 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1110 | if (!msn_switchboard_connect(swboard, host, port)) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1111 | msn_switchboard_destroy(swboard); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1112 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1113 | g_free(host); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1114 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1115 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1116 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1117 | xfr_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1118 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1119 | char *host; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1120 | int port; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1121 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1122 | if (strcmp(cmd->params[1], "SB") && strcmp(cmd->params[1], "NS")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1123 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1124 | /* Maybe we can have a generic bad command error. */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1125 | purple_debug_error("msn", "Bad XFR command (%s)\n", cmd->params[1]); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1126 | return; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1127 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1128 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1129 | msn_parse_socket(cmd->params[2], &host, &port); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1130 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1131 | if (!strcmp(cmd->params[1], "SB")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1132 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1133 | purple_debug_error("msn", "This shouldn't be handled here.\n"); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1134 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1135 | else if (!strcmp(cmd->params[1], "NS")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1136 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1137 | MsnSession *session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1138 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1139 | session = cmdproc->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1140 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1141 | msn_session_set_login_step(session, MSN_LOGIN_STEP_TRANSFER); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1142 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1143 | msn_notification_connect(session->notification, host, port); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1144 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1145 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1146 | g_free(host); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1147 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1148 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1149 | /************************************************************************** |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1150 | * Message Types |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1151 | **************************************************************************/ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1152 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1153 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1154 | profile_msg(MsnCmdProc *cmdproc, MsnMessage *msg) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1155 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1156 | MsnSession *session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1157 | const char *value; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1158 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1159 | session = cmdproc->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1160 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1161 | if (strcmp(msg->remote_user, "Hotmail")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1162 | /* This isn't an official message. */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1163 | return; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1164 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1165 | if ((value = msn_message_get_attr(msg, "kv")) != NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1166 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1167 | g_free(session->passport_info.kv); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1168 | session->passport_info.kv = g_strdup(value); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1169 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1170 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1171 | if ((value = msn_message_get_attr(msg, "sid")) != NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1172 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1173 | g_free(session->passport_info.sid); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1174 | session->passport_info.sid = g_strdup(value); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1175 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1176 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1177 | if ((value = msn_message_get_attr(msg, "MSPAuth")) != NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1178 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1179 | g_free(session->passport_info.mspauth); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1180 | session->passport_info.mspauth = g_strdup(value); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1181 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1182 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1183 | if ((value = msn_message_get_attr(msg, "ClientIP")) != NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1184 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1185 | g_free(session->passport_info.client_ip); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1186 | session->passport_info.client_ip = g_strdup(value); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1187 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1188 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1189 | if ((value = msn_message_get_attr(msg, "ClientPort")) != NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1190 | session->passport_info.client_port = ntohs(atoi(value)); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1191 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1192 | if ((value = msn_message_get_attr(msg, "LoginTime")) != NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1193 | session->passport_info.sl = atol(value); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1194 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1195 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1196 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1197 | initial_email_msg(MsnCmdProc *cmdproc, MsnMessage *msg) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1198 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1199 | MsnSession *session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1200 | PurpleConnection *gc; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1201 | GHashTable *table; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1202 | const char *unread; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1203 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1204 | session = cmdproc->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1205 | gc = session->account->gc; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1206 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1207 | if (strcmp(msg->remote_user, "Hotmail")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1208 | /* This isn't an official message. */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1209 | return; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1210 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1211 | if (session->passport_info.file == NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1212 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1213 | MsnTransaction *trans; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1214 | trans = msn_transaction_new(cmdproc, "URL", "%s", "INBOX"); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1215 | msn_transaction_queue_cmd(trans, msg->cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1216 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1217 | msn_cmdproc_send_trans(cmdproc, trans); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1218 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1219 | return; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1220 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1221 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1222 | if (!purple_account_get_check_mail(session->account)) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1223 | return; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1224 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1225 | table = msn_message_get_hashtable_from_body(msg); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1226 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1227 | unread = g_hash_table_lookup(table, "Inbox-Unread"); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1228 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1229 | if (unread != NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1230 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1231 | int count = atoi(unread); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1232 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1233 | if (count > 0) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1234 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1235 | const char *passport; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1236 | const char *url; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1237 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1238 | passport = msn_user_get_passport(session->user); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1239 | url = session->passport_info.file; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1240 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1241 | purple_notify_emails(gc, atoi(unread), FALSE, NULL, NULL, |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1242 | &passport, &url, NULL, NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1243 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1244 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1245 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1246 | g_hash_table_destroy(table); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1247 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1248 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1249 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1250 | email_msg(MsnCmdProc *cmdproc, MsnMessage *msg) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1251 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1252 | MsnSession *session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1253 | PurpleConnection *gc; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1254 | GHashTable *table; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1255 | char *from, *subject, *tmp; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1256 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1257 | session = cmdproc->session; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1258 | gc = session->account->gc; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1259 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1260 | if (strcmp(msg->remote_user, "Hotmail")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1261 | /* This isn't an official message. */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1262 | return; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1263 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1264 | if (session->passport_info.file == NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1265 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1266 | MsnTransaction *trans; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1267 | trans = msn_transaction_new(cmdproc, "URL", "%s", "INBOX"); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1268 | msn_transaction_queue_cmd(trans, msg->cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1269 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1270 | msn_cmdproc_send_trans(cmdproc, trans); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1271 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1272 | return; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1273 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1274 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1275 | if (!purple_account_get_check_mail(session->account)) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1276 | return; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1277 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1278 | table = msn_message_get_hashtable_from_body(msg); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1279 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1280 | from = subject = NULL; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1281 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1282 | tmp = g_hash_table_lookup(table, "From"); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1283 | if (tmp != NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1284 | from = purple_mime_decode_field(tmp); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1285 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1286 | tmp = g_hash_table_lookup(table, "Subject"); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1287 | if (tmp != NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1288 | subject = purple_mime_decode_field(tmp); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1289 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1290 | purple_notify_email(gc, |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1291 | (subject != NULL ? subject : ""), |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1292 | (from != NULL ? from : ""), |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1293 | msn_user_get_passport(session->user), |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1294 | session->passport_info.file, NULL, NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1295 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1296 | g_free(from); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1297 | g_free(subject); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1298 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1299 | g_hash_table_destroy(table); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1300 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1301 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1302 | static void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1303 | system_msg(MsnCmdProc *cmdproc, MsnMessage *msg) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1304 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1305 | GHashTable *table; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1306 | const char *type_s; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1307 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1308 | if (strcmp(msg->remote_user, "Hotmail")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1309 | /* This isn't an official message. */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1310 | return; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1311 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1312 | table = msn_message_get_hashtable_from_body(msg); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1313 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1314 | if ((type_s = g_hash_table_lookup(table, "Type")) != NULL) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1315 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1316 | int type = atoi(type_s); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1317 | char buf[MSN_BUF_LEN]; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1318 | int minutes; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1319 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1320 | switch (type) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1321 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1322 | case 1: |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1323 | minutes = atoi(g_hash_table_lookup(table, "Arg1")); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1324 | g_snprintf(buf, sizeof(buf), dngettext(PACKAGE, |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1325 | "The MSN server will shut down for maintenance " |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1326 | "in %d minute. You will automatically be " |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1327 | "signed out at that time. Please finish any " |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1328 | "conversations in progress.\n\nAfter the " |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1329 | "maintenance has been completed, you will be " |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1330 | "able to successfully sign in.", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1331 | "The MSN server will shut down for maintenance " |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1332 | "in %d minutes. You will automatically be " |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1333 | "signed out at that time. Please finish any " |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1334 | "conversations in progress.\n\nAfter the " |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1335 | "maintenance has been completed, you will be " |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1336 | "able to successfully sign in.", minutes), |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1337 | minutes); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1338 | default: |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1339 | break; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1340 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1341 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1342 | if (*buf != '\0') |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1343 | purple_notify_info(cmdproc->session->account->gc, NULL, buf, NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1344 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1345 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1346 | g_hash_table_destroy(table); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1347 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1348 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1349 | void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1350 | msn_notification_add_buddy(MsnNotification *notification, const char *list, |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1351 | const char *who, const char *store_name, |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1352 | int group_id) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1353 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1354 | MsnCmdProc *cmdproc; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1355 | cmdproc = notification->servconn->cmdproc; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1356 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1357 | if (group_id < 0 && !strcmp(list, "FL")) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1358 | group_id = 0; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1359 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1360 | if (group_id >= 0) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1361 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1362 | msn_cmdproc_send(cmdproc, "ADD", "%s %s %s %d", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1363 | list, who, store_name, group_id); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1364 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1365 | else |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1366 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1367 | msn_cmdproc_send(cmdproc, "ADD", "%s %s %s", list, who, store_name); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1368 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1369 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1370 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1371 | void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1372 | msn_notification_rem_buddy(MsnNotification *notification, const char *list, |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1373 | const char *who, int group_id) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1374 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1375 | MsnCmdProc *cmdproc; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1376 | cmdproc = notification->servconn->cmdproc; |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1377 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1378 | if (group_id >= 0) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1379 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1380 | msn_cmdproc_send(cmdproc, "REM", "%s %s %d", list, who, group_id); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1381 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1382 | else |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1383 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1384 | msn_cmdproc_send(cmdproc, "REM", "%s %s", list, who); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1385 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1386 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1387 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1388 | /************************************************************************** |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1389 | * Init |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1390 | **************************************************************************/ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1391 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1392 | void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1393 | msn_notification_init(void) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1394 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1395 | /* TODO: check prp, blp */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1396 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1397 | cbs_table = msn_table_new(); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1398 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1399 | /* Synchronous */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1400 | msn_table_add_cmd(cbs_table, "CHG", "CHG", NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1401 | msn_table_add_cmd(cbs_table, "CHG", "ILN", iln_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1402 | msn_table_add_cmd(cbs_table, "ADD", "ADD", add_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1403 | msn_table_add_cmd(cbs_table, "ADD", "ILN", iln_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1404 | msn_table_add_cmd(cbs_table, "REM", "REM", rem_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1405 | msn_table_add_cmd(cbs_table, "USR", "USR", usr_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1406 | msn_table_add_cmd(cbs_table, "USR", "XFR", xfr_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1407 | msn_table_add_cmd(cbs_table, "SYN", "SYN", syn_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1408 | msn_table_add_cmd(cbs_table, "CVR", "CVR", cvr_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1409 | msn_table_add_cmd(cbs_table, "VER", "VER", ver_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1410 | msn_table_add_cmd(cbs_table, "REA", "REA", rea_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1411 | msn_table_add_cmd(cbs_table, "PRP", "PRP", prp_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1412 | /* msn_table_add_cmd(cbs_table, "BLP", "BLP", blp_cmd); */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1413 | msn_table_add_cmd(cbs_table, "BLP", "BLP", NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1414 | msn_table_add_cmd(cbs_table, "REG", "REG", reg_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1415 | msn_table_add_cmd(cbs_table, "ADG", "ADG", adg_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1416 | msn_table_add_cmd(cbs_table, "RMG", "RMG", rmg_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1417 | msn_table_add_cmd(cbs_table, "XFR", "XFR", xfr_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1418 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1419 | /* Asynchronous */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1420 | msn_table_add_cmd(cbs_table, NULL, "IPG", ipg_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1421 | msn_table_add_cmd(cbs_table, NULL, "MSG", msg_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1422 | msn_table_add_cmd(cbs_table, NULL, "NOT", not_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1423 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1424 | msn_table_add_cmd(cbs_table, NULL, "CHL", chl_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1425 | msn_table_add_cmd(cbs_table, NULL, "REM", rem_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1426 | msn_table_add_cmd(cbs_table, NULL, "ADD", add_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1427 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1428 | msn_table_add_cmd(cbs_table, NULL, "QRY", NULL); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1429 | msn_table_add_cmd(cbs_table, NULL, "QNG", qng_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1430 | msn_table_add_cmd(cbs_table, NULL, "FLN", fln_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1431 | msn_table_add_cmd(cbs_table, NULL, "NLN", nln_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1432 | msn_table_add_cmd(cbs_table, NULL, "ILN", iln_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1433 | msn_table_add_cmd(cbs_table, NULL, "OUT", out_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1434 | msn_table_add_cmd(cbs_table, NULL, "RNG", rng_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1435 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1436 | msn_table_add_cmd(cbs_table, NULL, "URL", url_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1437 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1438 | msn_table_add_cmd(cbs_table, "fallback", "XFR", xfr_cmd); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1439 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1440 | msn_table_add_error(cbs_table, "ADD", add_error); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1441 | msn_table_add_error(cbs_table, "REG", reg_error); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1442 | msn_table_add_error(cbs_table, "RMG", rmg_error); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1443 | /* msn_table_add_error(cbs_table, "REA", rea_error); */ |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1444 | msn_table_add_error(cbs_table, "USR", usr_error); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1445 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1446 | msn_table_add_msg_type(cbs_table, |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1447 | "text/x-msmsgsprofile", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1448 | profile_msg); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1449 | msn_table_add_msg_type(cbs_table, |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1450 | "text/x-msmsgsinitialemailnotification", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1451 | initial_email_msg); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1452 | msn_table_add_msg_type(cbs_table, |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1453 | "text/x-msmsgsemailnotification", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1454 | email_msg); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1455 | msn_table_add_msg_type(cbs_table, |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1456 | "application/x-msmsgssystemmessage", |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1457 | system_msg); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1458 | } |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1459 | |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1460 | void |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1461 | msn_notification_end(void) |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1462 | { |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1463 | msn_table_destroy(cbs_table); |
|
d52b697eaae7
Add MSNP9 back as an alternative alongside the existing MSN prpl. Cowardly
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
diff
changeset
|
1464 | } |