Mercurial > pidgin.yaz
annotate src/protocols/msn/msn.h @ 13905:4e44ecb866bd
[gaim-migrate @ 16394]
msn_session_sync_users() iterates over the buddy list, following the ->next pointers of the groups, contacts, and buddies. msn_show_sync_issue(), if called, removed the buddy for which it was called, in preparation for the buddy either being added to the server list or confirmed-to-be-removed. This could lead to the buddy pointer being released and ->next therefore being junk.
The buddy is now not removed until the user responds to the action dialog presented via msn_show_sync_issue(). I'm unclear why gtkgaim got away with this exercise in memory stomping but Adium/libgaim crashed every time, but it's safer in any case.
I also changed some foo->bar to gaim_foo_get_bar().
committer: Tailor Script <tailor@pidgin.im>
author | Evan Schoenberg <evan.s@dreskin.net> |
---|---|
date | Sun, 02 Jul 2006 09:37:25 +0000 |
parents | cf1139f1ea01 |
children | 995aea35b05c |
rev | line source |
---|---|
4542 | 1 /** |
2 * @file msn.h The MSN protocol plugin | |
3 * | |
4 * gaim | |
5 * | |
9198
ab6636c5a136
[gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents:
9193
diff
changeset
|
6 * Gaim is the legal property of its developers, whose names are too numerous |
ab6636c5a136
[gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents:
9193
diff
changeset
|
7 * to list here. Please refer to the COPYRIGHT file distributed with this |
ab6636c5a136
[gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents:
9193
diff
changeset
|
8 * source distribution. |
6701
b7e113a59b51
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
6516
diff
changeset
|
9 * |
4542 | 10 * This program is free software; you can redistribute it and/or modify |
11 * it under the terms of the GNU General Public License as published by | |
12 * the Free Software Foundation; either version 2 of the License, or | |
13 * (at your option) any later version. | |
14 * | |
15 * This program is distributed in the hope that it will be useful, | |
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
18 * GNU General Public License for more details. | |
19 * | |
20 * You should have received a copy of the GNU General Public License | |
21 * along with this program; if not, write to the Free Software | |
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
23 */ | |
24 #ifndef _MSN_H_ | |
25 #define _MSN_H_ | |
26 | |
10519 | 27 /* #define MSN_DEBUG_MSG 1 */ |
28 /* #define MSN_DEBUG_SLPMSG 1 */ | |
29 /* #define MSN_DEBUG_HTTP 1 */ | |
30 | |
31 /* #define MSN_DEBUG_SLP 1 */ | |
32 /* #define MSN_DEBUG_SLP_VERBOSE 1 */ | |
33 /* #define MSN_DEBUG_SLP_FILES 1 */ | |
34 | |
11321 | 35 /* #define MSN_DEBUG_NS 1 */ |
36 /* #define MSN_DEBUG_SB 1 */ | |
37 | |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
38 #include "internal.h" |
4542 | 39 |
5717 | 40 #include "account.h" |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
41 #include "accountopt.h" |
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
42 #include "blist.h" |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
43 #include "connection.h" |
5717 | 44 #include "conversation.h" |
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
45 #include "debug.h" |
10684
72a5babfa8b4
[gaim-migrate @ 12231]
Luke Schierer <lschiere@pidgin.im>
parents:
10519
diff
changeset
|
46 #include "cipher.h" |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
47 #include "notify.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
48 #include "privacy.h" |
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
49 #include "proxy.h" |
4542 | 50 #include "prpl.h" |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
51 #include "request.h" |
9193
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
8886
diff
changeset
|
52 #include "servconn.h" |
6701
b7e113a59b51
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
6516
diff
changeset
|
53 #include "sslconn.h" |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
54 #include "util.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
55 |
9193
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
8886
diff
changeset
|
56 #include "ft.h" |
502707ca1836
[gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents:
8886
diff
changeset
|
57 |
4542 | 58 #define MSN_BUF_LEN 8192 |
59 | |
60 #define USEROPT_MSNSERVER 3 | |
61 #define MSN_SERVER "messenger.hotmail.com" | |
62 #define USEROPT_MSNPORT 4 | |
63 #define MSN_PORT 1863 | |
64 | |
65 #define MSN_TYPING_RECV_TIMEOUT 6 | |
66 #define MSN_TYPING_SEND_TIMEOUT 4 | |
67 | |
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
68 #define HOTMAIL_URL "http://www.hotmail.com/cgi-bin/folders" |
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
69 #define PASSPORT_URL "http://lc1.law13.hotmail.passport.com/cgi-bin/dologin?login=" |
13368
cf1139f1ea01
[gaim-migrate @ 15741]
Richard Laager <rlaager@wiktel.com>
parents:
11622
diff
changeset
|
70 #define PROFILE_URL "http://spaces.msn.com/profile.aspx?mem=" |
4542 | 71 |
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
72 #define USEROPT_HOTMAIL 0 |
4542 | 73 |
10504 | 74 #define BUDDY_ALIAS_MAXLEN 387 |
4542 | 75 |
5309
e2e53316a21d
[gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents:
5166
diff
changeset
|
76 #define MSN_FT_GUID "{5D3E02AB-6190-11d3-BBBB-00C04F795683}" |
4542 | 77 |
5316
d5690ed70085
[gaim-migrate @ 5688]
Christian Hammond <chipx86@chipx86.com>
parents:
5309
diff
changeset
|
78 #define MSN_CLIENTINFO \ |
5475
ad9887c91a59
[gaim-migrate @ 5871]
Christian Hammond <chipx86@chipx86.com>
parents:
5316
diff
changeset
|
79 "Client-Name: Gaim/" VERSION "\r\n" \ |
6786
8efafdc38718
[gaim-migrate @ 7325]
Christian Hammond <chipx86@chipx86.com>
parents:
6701
diff
changeset
|
80 "Chat-Logging: Y\r\n" |
5316
d5690ed70085
[gaim-migrate @ 5688]
Christian Hammond <chipx86@chipx86.com>
parents:
5309
diff
changeset
|
81 |
6701
b7e113a59b51
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
6516
diff
changeset
|
82 |
b7e113a59b51
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
6516
diff
changeset
|
83 typedef enum |
b7e113a59b51
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
6516
diff
changeset
|
84 { |
b7e113a59b51
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
6516
diff
changeset
|
85 MSN_LIST_FL_OP = 0x01, |
b7e113a59b51
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
6516
diff
changeset
|
86 MSN_LIST_AL_OP = 0x02, |
b7e113a59b51
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
6516
diff
changeset
|
87 MSN_LIST_BL_OP = 0x04, |
b7e113a59b51
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
6516
diff
changeset
|
88 MSN_LIST_RL_OP = 0x08 |
b7e113a59b51
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
6516
diff
changeset
|
89 |
b7e113a59b51
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
6516
diff
changeset
|
90 } MsnListOp; |
b7e113a59b51
[gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents:
6516
diff
changeset
|
91 |
7590
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
6832
diff
changeset
|
92 typedef enum |
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
6832
diff
changeset
|
93 { |
11622
32287ea1fce0
[gaim-migrate @ 13897]
Richard Laager <rlaager@wiktel.com>
parents:
11321
diff
changeset
|
94 MSN_CLIENT_CAP_WIN_MOBILE = 0x00001, |
32287ea1fce0
[gaim-migrate @ 13897]
Richard Laager <rlaager@wiktel.com>
parents:
11321
diff
changeset
|
95 MSN_CLIENT_CAP_UNKNOWN_1 = 0x00002, |
32287ea1fce0
[gaim-migrate @ 13897]
Richard Laager <rlaager@wiktel.com>
parents:
11321
diff
changeset
|
96 MSN_CLIENT_CAP_INK_GIF = 0x00004, |
32287ea1fce0
[gaim-migrate @ 13897]
Richard Laager <rlaager@wiktel.com>
parents:
11321
diff
changeset
|
97 MSN_CLIENT_CAP_INK_ISF = 0x00008, |
32287ea1fce0
[gaim-migrate @ 13897]
Richard Laager <rlaager@wiktel.com>
parents:
11321
diff
changeset
|
98 MSN_CLIENT_CAP_VIDEO_CHAT = 0x00010, |
32287ea1fce0
[gaim-migrate @ 13897]
Richard Laager <rlaager@wiktel.com>
parents:
11321
diff
changeset
|
99 MSN_CLIENT_CAP_BASE = 0x00020, |
32287ea1fce0
[gaim-migrate @ 13897]
Richard Laager <rlaager@wiktel.com>
parents:
11321
diff
changeset
|
100 MSN_CLIENT_CAP_MSNMOBILE = 0x00040, |
32287ea1fce0
[gaim-migrate @ 13897]
Richard Laager <rlaager@wiktel.com>
parents:
11321
diff
changeset
|
101 MSN_CLIENT_CAP_MSNDIRECT = 0x00080, |
32287ea1fce0
[gaim-migrate @ 13897]
Richard Laager <rlaager@wiktel.com>
parents:
11321
diff
changeset
|
102 MSN_CLIENT_CAP_WEBMSGR = 0x00100, |
32287ea1fce0
[gaim-migrate @ 13897]
Richard Laager <rlaager@wiktel.com>
parents:
11321
diff
changeset
|
103 MSN_CLIENT_CAP_DIRECTIM = 0x04000, |
32287ea1fce0
[gaim-migrate @ 13897]
Richard Laager <rlaager@wiktel.com>
parents:
11321
diff
changeset
|
104 MSN_CLIENT_CAP_WINKS = 0x08000, |
32287ea1fce0
[gaim-migrate @ 13897]
Richard Laager <rlaager@wiktel.com>
parents:
11321
diff
changeset
|
105 MSN_CLIENT_CAP_SEARCH = 0x10000 |
7590
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
6832
diff
changeset
|
106 |
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
6832
diff
changeset
|
107 } MsnClientCaps; |
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
6832
diff
changeset
|
108 |
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
6832
diff
changeset
|
109 typedef enum |
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
6832
diff
changeset
|
110 { |
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
6832
diff
changeset
|
111 MSN_CLIENT_VER_5_0 = 0x00, |
11321 | 112 MSN_CLIENT_VER_6_0 = 0x10, /* MSNC1 */ |
113 MSN_CLIENT_VER_6_1 = 0x20, /* MSNC2 */ | |
114 MSN_CLIENT_VER_6_2 = 0x30, /* MSNC3 */ | |
115 MSN_CLIENT_VER_7_0 = 0x40, /* MSNC4 */ | |
116 MSN_CLIENT_VER_7_5 = 0x50 /* MSNC5 */ | |
7590
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
6832
diff
changeset
|
117 |
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
6832
diff
changeset
|
118 } MsnClientVerId; |
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
6832
diff
changeset
|
119 |
11321 | 120 #define MSN_CLIENT_ID_VERSION MSN_CLIENT_VER_7_0 |
7590
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
6832
diff
changeset
|
121 #define MSN_CLIENT_ID_RESERVED_1 0x00 |
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
6832
diff
changeset
|
122 #define MSN_CLIENT_ID_RESERVED_2 0x00 |
10438 | 123 #define MSN_CLIENT_ID_CAPABILITIES MSN_CLIENT_CAP_BASE |
7590
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
6832
diff
changeset
|
124 |
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
6832
diff
changeset
|
125 #define MSN_CLIENT_ID \ |
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
6832
diff
changeset
|
126 ((MSN_CLIENT_ID_VERSION << 24) | \ |
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
6832
diff
changeset
|
127 (MSN_CLIENT_ID_RESERVED_1 << 16) | \ |
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
6832
diff
changeset
|
128 (MSN_CLIENT_ID_RESERVED_2 << 8) | \ |
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
6832
diff
changeset
|
129 (MSN_CLIENT_ID_CAPABILITIES)) |
3a48ade4f510
[gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents:
6832
diff
changeset
|
130 |
4542 | 131 #endif /* _MSN_H_ */ |