Mercurial > pidgin
annotate src/protocols/msn/msn.h @ 13967:99b9b58b19dd
[gaim-migrate @ 16523]
Fix a crazy MSN crash. Basically it's possible to have more than one
slplink associated with a given switchboard, but our code did not
allow for that. I think it happens when you're in a multi-user
chat and you do stuff with multiple users that involves slplinks.
Like maybe file transfer and buddy icon related stuff.
Tracking this down took an ungodly amount of time, but thanks to
Meebo for letting me do it :-)
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Thu, 20 Jul 2006 07:31:15 +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_ */ |