src/protocols/oscar/misc.c

Thu, 17 Oct 2002 05:06:15 +0000

author
Duffman
date
Thu, 17 Oct 2002 05:06:15 +0000
changeset 3725
40fe9bcc8c9e
parent 2931
64e34bfbb7c7
child 3952
d13e1fde68d8
permissions
-rw-r--r--

[gaim-migrate @ 3861]
This is better because Duffman says so, oh yeah!

No, but seriously... before these changes, if you got new email on an
account, but didn't read it, gaim would pop up a little "read yo email,
sucka!" notice every once in a while, because AIM sends you a little
email status thing every once in a while. This should alleviate that
problem (by attempting to keep track of the number of unread emails in
your account).

committer: Mark Doliner <markdoliner@pidgin.im>

2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
2 /*
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
3 * aim_misc.c
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
4 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
5 * TODO: Seperate a lot of this into an aim_bos.c.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
6 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
7 * Other things...
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
8 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
9 * - Idle setting
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
10 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
11 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
12 */
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
13
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
14 #define FAIM_INTERNAL
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
15 #include <aim.h>
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
16
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
17 /*
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
18 * aim_bos_setbuddylist(buddylist)
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
19 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
20 * This just builds the "set buddy list" command then queues it.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
21 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
22 * buddy_list = "Screen Name One&ScreenNameTwo&";
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
23 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
24 * TODO: Clean this up.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
25 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
26 * XXX: I can't stress the TODO enough.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
27 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
28 */
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
29 faim_export int aim_bos_setbuddylist(aim_session_t *sess, aim_conn_t *conn, const char *buddy_list)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
30 {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
31 aim_frame_t *fr;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
32 aim_snacid_t snacid;
2931
64e34bfbb7c7 [gaim-migrate @ 2944]
Adam Fritzler <mid@auk.cx>
parents: 2866
diff changeset
33 int len = 0;
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
34 char *localcpy = NULL;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
35 char *tmpptr = NULL;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
36
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
37 if (!buddy_list || !(localcpy = strdup(buddy_list)))
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
38 return -EINVAL;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
39
2931
64e34bfbb7c7 [gaim-migrate @ 2944]
Adam Fritzler <mid@auk.cx>
parents: 2866
diff changeset
40 for (tmpptr = strtok(localcpy, "&"); tmpptr; ) {
64e34bfbb7c7 [gaim-migrate @ 2944]
Adam Fritzler <mid@auk.cx>
parents: 2866
diff changeset
41 faimdprintf(sess, 2, "---adding: %s (%d)\n", tmpptr, strlen(tmpptr));
64e34bfbb7c7 [gaim-migrate @ 2944]
Adam Fritzler <mid@auk.cx>
parents: 2866
diff changeset
42 len += 1 + strlen(tmpptr);
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
43 tmpptr = strtok(NULL, "&");
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
44 }
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
45
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
46 if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+len)))
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
47 return -ENOMEM;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
48
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
49 snacid = aim_cachesnac(sess, 0x0003, 0x0004, 0x0000, NULL, 0);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
50 aim_putsnac(&fr->data, 0x0003, 0x0004, 0x0000, snacid);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
51
2931
64e34bfbb7c7 [gaim-migrate @ 2944]
Adam Fritzler <mid@auk.cx>
parents: 2866
diff changeset
52 strncpy(localcpy, buddy_list, strlen(buddy_list) + 1);
64e34bfbb7c7 [gaim-migrate @ 2944]
Adam Fritzler <mid@auk.cx>
parents: 2866
diff changeset
53
64e34bfbb7c7 [gaim-migrate @ 2944]
Adam Fritzler <mid@auk.cx>
parents: 2866
diff changeset
54 for (tmpptr = strtok(localcpy, "&"); tmpptr; ) {
64e34bfbb7c7 [gaim-migrate @ 2944]
Adam Fritzler <mid@auk.cx>
parents: 2866
diff changeset
55
64e34bfbb7c7 [gaim-migrate @ 2944]
Adam Fritzler <mid@auk.cx>
parents: 2866
diff changeset
56 faimdprintf(sess, 2, "---adding: %s (%d)\n", tmpptr, strlen(tmpptr));
64e34bfbb7c7 [gaim-migrate @ 2944]
Adam Fritzler <mid@auk.cx>
parents: 2866
diff changeset
57
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
58 aimbs_put8(&fr->data, strlen(tmpptr));
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
59 aimbs_putraw(&fr->data, tmpptr, strlen(tmpptr));
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
60 tmpptr = strtok(NULL, "&");
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
61 }
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
62
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
63 aim_tx_enqueue(sess, fr);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
64
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
65 free(localcpy);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
66
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
67 return 0;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
68 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
69
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
70 /*
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
71 * aim_bos_setprofile(profile)
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
72 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
73 * Gives BOS your profile.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
74 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
75 */
2866
159551b6db88 [gaim-migrate @ 2879]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2821
diff changeset
76 faim_export int aim_bos_setprofile(aim_session_t *sess, aim_conn_t *conn, const char *profile, const char *awaymsg, fu32_t caps)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
77 {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
78 static const char defencoding[] = {"text/aolrtf; charset=\"us-ascii\""};
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
79 aim_frame_t *fr;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
80 aim_tlvlist_t *tl = NULL;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
81 aim_snacid_t snacid;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
82
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
83 /* Build to packet first to get real length */
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
84 if (profile) {
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
85 aim_addtlvtochain_raw(&tl, 0x0001, strlen(defencoding), defencoding);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
86 aim_addtlvtochain_raw(&tl, 0x0002, strlen(profile), profile);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
87 }
2703
6111a9790868 [gaim-migrate @ 2716]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2675
diff changeset
88
6111a9790868 [gaim-migrate @ 2716]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2675
diff changeset
89 /*
6111a9790868 [gaim-migrate @ 2716]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2675
diff changeset
90 * So here's how this works:
6111a9790868 [gaim-migrate @ 2716]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2675
diff changeset
91 * - You are away when you have a non-zero-length type 4 TLV stored.
6111a9790868 [gaim-migrate @ 2716]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2675
diff changeset
92 * - You become unaway when you clear the TLV with a zero-length
6111a9790868 [gaim-migrate @ 2716]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2675
diff changeset
93 * type 4 TLV.
6111a9790868 [gaim-migrate @ 2716]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2675
diff changeset
94 * - If you do not send the type 4 TLV, your status does not change
6111a9790868 [gaim-migrate @ 2716]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2675
diff changeset
95 * (that is, if you were away, you'll remain away).
6111a9790868 [gaim-migrate @ 2716]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2675
diff changeset
96 */
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
97 if (awaymsg) {
2703
6111a9790868 [gaim-migrate @ 2716]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2675
diff changeset
98 if (strlen(awaymsg)) {
6111a9790868 [gaim-migrate @ 2716]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2675
diff changeset
99 aim_addtlvtochain_raw(&tl, 0x0003, strlen(defencoding), defencoding);
6111a9790868 [gaim-migrate @ 2716]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2675
diff changeset
100 aim_addtlvtochain_raw(&tl, 0x0004, strlen(awaymsg), awaymsg);
6111a9790868 [gaim-migrate @ 2716]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2675
diff changeset
101 } else
6111a9790868 [gaim-migrate @ 2716]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2675
diff changeset
102 aim_addtlvtochain_noval(&tl, 0x0004);
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
103 }
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
104
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
105 aim_addtlvtochain_caps(&tl, 0x0005, caps);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
106
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
107 if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10 + aim_sizetlvchain(&tl))))
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
108 return -ENOMEM;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
109
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
110 snacid = aim_cachesnac(sess, 0x0002, 0x0004, 0x0000, NULL, 0);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
111
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
112 aim_putsnac(&fr->data, 0x0002, 0x004, 0x0000, snacid);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
113 aim_writetlvchain(&fr->data, &tl);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
114 aim_freetlvchain(&tl);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
115
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
116 aim_tx_enqueue(sess, fr);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
117
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
118 return 0;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
119 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
120
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
121 /*
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
122 * aim_bos_reqbuddyrights()
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
123 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
124 * Request Buddy List rights.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
125 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
126 */
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
127 faim_export int aim_bos_reqbuddyrights(aim_session_t *sess, aim_conn_t *conn)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
128 {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
129 return aim_genericreq_n(sess, conn, 0x0003, 0x0002);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
130 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
131
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
132 /*
2113
206f0011c41e [gaim-migrate @ 2123]
Adam Fritzler <mid@auk.cx>
parents: 2086
diff changeset
133 * Send a warning to destsn.
206f0011c41e [gaim-migrate @ 2123]
Adam Fritzler <mid@auk.cx>
parents: 2086
diff changeset
134 *
206f0011c41e [gaim-migrate @ 2123]
Adam Fritzler <mid@auk.cx>
parents: 2086
diff changeset
135 * Flags:
206f0011c41e [gaim-migrate @ 2123]
Adam Fritzler <mid@auk.cx>
parents: 2086
diff changeset
136 * AIM_WARN_ANON Send as an anonymous (doesn't count as much)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
137 *
2113
206f0011c41e [gaim-migrate @ 2123]
Adam Fritzler <mid@auk.cx>
parents: 2086
diff changeset
138 * returns -1 on error (couldn't alloc packet), 0 on success.
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
139 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
140 */
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
141 faim_export int aim_send_warning(aim_session_t *sess, aim_conn_t *conn, const char *destsn, fu32_t flags)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
142 {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
143 aim_frame_t *fr;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
144 aim_snacid_t snacid;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
145 fu16_t outflags = 0x0000;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
146
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
147 if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, strlen(destsn)+13)))
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
148 return -ENOMEM;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
149
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
150 snacid = aim_cachesnac(sess, 0x0004, 0x0008, 0x0000, destsn, strlen(destsn)+1);
2113
206f0011c41e [gaim-migrate @ 2123]
Adam Fritzler <mid@auk.cx>
parents: 2086
diff changeset
151
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
152 aim_putsnac(&fr->data, 0x0004, 0x0008, 0x0000, snacid);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
153
2113
206f0011c41e [gaim-migrate @ 2123]
Adam Fritzler <mid@auk.cx>
parents: 2086
diff changeset
154 if (flags & AIM_WARN_ANON)
206f0011c41e [gaim-migrate @ 2123]
Adam Fritzler <mid@auk.cx>
parents: 2086
diff changeset
155 outflags |= 0x0001;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
156
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
157 aimbs_put16(&fr->data, outflags);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
158 aimbs_put8(&fr->data, strlen(destsn));
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
159 aimbs_putraw(&fr->data, destsn, strlen(destsn));
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
160
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
161 aim_tx_enqueue(sess, fr);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
162
2113
206f0011c41e [gaim-migrate @ 2123]
Adam Fritzler <mid@auk.cx>
parents: 2086
diff changeset
163 return 0;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
164 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
165
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
166 /*
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
167 * Generic routine for sending commands.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
168 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
169 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
170 * I know I can do this in a smarter way...but I'm not thinking straight
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
171 * right now...
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
172 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
173 * I had one big function that handled all three cases, but then it broke
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
174 * and I split it up into three. But then I fixed it. I just never went
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
175 * back to the single. I don't see any advantage to doing it either way.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
176 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
177 */
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
178 faim_internal int aim_genericreq_n(aim_session_t *sess, aim_conn_t *conn, fu16_t family, fu16_t subtype)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
179 {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
180 aim_frame_t *fr;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
181 aim_snacid_t snacid = 0x00000000;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
182
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
183 if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10)))
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
184 return -ENOMEM;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
185
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
186 aim_putsnac(&fr->data, family, subtype, 0x0000, snacid);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
187
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
188 aim_tx_enqueue(sess, fr);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
189
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
190 return 0;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
191 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
192
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
193 faim_internal int aim_genericreq_n_snacid(aim_session_t *sess, aim_conn_t *conn, fu16_t family, fu16_t subtype)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
194 {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
195 aim_frame_t *fr;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
196 aim_snacid_t snacid;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
197
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
198 if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10)))
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
199 return -ENOMEM;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
200
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
201 snacid = aim_cachesnac(sess, family, subtype, 0x0000, NULL, 0);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
202 aim_putsnac(&fr->data, family, subtype, 0x0000, snacid);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
203
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
204 aim_tx_enqueue(sess, fr);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
205
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
206 return 0;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
207 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
208
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
209 faim_internal int aim_genericreq_l(aim_session_t *sess, aim_conn_t *conn, fu16_t family, fu16_t subtype, fu32_t *longdata)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
210 {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
211 aim_frame_t *fr;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
212 aim_snacid_t snacid;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
213
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
214 if (!longdata)
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
215 return aim_genericreq_n(sess, conn, family, subtype);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
216
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
217 if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+4)))
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
218 return -ENOMEM;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
219
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
220 snacid = aim_cachesnac(sess, family, subtype, 0x0000, NULL, 0);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
221
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
222 aim_putsnac(&fr->data, family, subtype, 0x0000, snacid);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
223 aimbs_put32(&fr->data, *longdata);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
224
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
225 aim_tx_enqueue(sess, fr);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
226
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
227 return 0;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
228 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
229
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
230 faim_internal int aim_genericreq_s(aim_session_t *sess, aim_conn_t *conn, fu16_t family, fu16_t subtype, fu16_t *shortdata)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
231 {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
232 aim_frame_t *fr;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
233 aim_snacid_t snacid;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
234
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
235 if (!shortdata)
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
236 return aim_genericreq_n(sess, conn, family, subtype);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
237
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
238 if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+2)))
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
239 return -ENOMEM;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
240
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
241 snacid = aim_cachesnac(sess, family, subtype, 0x0000, NULL, 0);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
242
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
243 aim_putsnac(&fr->data, family, subtype, 0x0000, snacid);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
244 aimbs_put16(&fr->data, *shortdata);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
245
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
246 aim_tx_enqueue(sess, fr);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
247
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
248 return 0;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
249 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
250
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
251 /*
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
252 * aim_bos_reqlocaterights()
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
253 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
254 * Request Location services rights.
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
255 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
256 */
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
257 faim_export int aim_bos_reqlocaterights(aim_session_t *sess, aim_conn_t *conn)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
258 {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
259 return aim_genericreq_n(sess, conn, 0x0002, 0x0002);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
260 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
261
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
262 /*
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
263 * Set directory profile data (not the same as aim_bos_setprofile!)
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
264 *
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
265 * privacy: 1 to allow searching, 0 to disallow.
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
266 */
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
267 faim_export int aim_setdirectoryinfo(aim_session_t *sess, aim_conn_t *conn, const char *first, const char *middle, const char *last, const char *maiden, const char *nickname, const char *street, const char *city, const char *state, const char *zip, int country, fu16_t privacy)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
268 {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
269 aim_frame_t *fr;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
270 aim_snacid_t snacid;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
271 aim_tlvlist_t *tl = NULL;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
272
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
273
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
274 aim_addtlvtochain16(&tl, 0x000a, privacy);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
275
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
276 if (first)
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
277 aim_addtlvtochain_raw(&tl, 0x0001, strlen(first), first);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
278 if (last)
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
279 aim_addtlvtochain_raw(&tl, 0x0002, strlen(last), last);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
280 if (middle)
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
281 aim_addtlvtochain_raw(&tl, 0x0003, strlen(middle), middle);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
282 if (maiden)
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
283 aim_addtlvtochain_raw(&tl, 0x0004, strlen(maiden), maiden);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
284
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
285 if (state)
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
286 aim_addtlvtochain_raw(&tl, 0x0007, strlen(state), state);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
287 if (city)
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
288 aim_addtlvtochain_raw(&tl, 0x0008, strlen(city), city);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
289
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
290 if (nickname)
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
291 aim_addtlvtochain_raw(&tl, 0x000c, strlen(nickname), nickname);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
292 if (zip)
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
293 aim_addtlvtochain_raw(&tl, 0x000d, strlen(zip), zip);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
294
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
295 if (street)
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
296 aim_addtlvtochain_raw(&tl, 0x0021, strlen(street), street);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
297
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
298 if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+aim_sizetlvchain(&tl))))
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
299 return -ENOMEM;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
300
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
301 snacid = aim_cachesnac(sess, 0x0002, 0x0009, 0x0000, NULL, 0);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
302
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
303 aim_putsnac(&fr->data, 0x0002, 0x0009, 0x0000, snacid);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
304 aim_writetlvchain(&fr->data, &tl);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
305 aim_freetlvchain(&tl);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
306
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
307 aim_tx_enqueue(sess, fr);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
308
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
309 return 0;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
310 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
311
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
312 /* XXX pass these in better */
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
313 faim_export int aim_setuserinterests(aim_session_t *sess, aim_conn_t *conn, const char *interest1, const char *interest2, const char *interest3, const char *interest4, const char *interest5, fu16_t privacy)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
314 {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
315 aim_frame_t *fr;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
316 aim_snacid_t snacid;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
317 aim_tlvlist_t *tl = NULL;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
318
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
319 /* ?? privacy ?? */
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
320 aim_addtlvtochain16(&tl, 0x000a, privacy);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
321
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
322 if (interest1)
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
323 aim_addtlvtochain_raw(&tl, 0x0000b, strlen(interest1), interest1);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
324 if (interest2)
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
325 aim_addtlvtochain_raw(&tl, 0x0000b, strlen(interest2), interest2);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
326 if (interest3)
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
327 aim_addtlvtochain_raw(&tl, 0x0000b, strlen(interest3), interest3);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
328 if (interest4)
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
329 aim_addtlvtochain_raw(&tl, 0x0000b, strlen(interest4), interest4);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
330 if (interest5)
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
331 aim_addtlvtochain_raw(&tl, 0x0000b, strlen(interest5), interest5);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
332
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
333 if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10+aim_sizetlvchain(&tl))))
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
334 return -ENOMEM;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
335
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
336 snacid = aim_cachesnac(sess, 0x0002, 0x000f, 0x0000, NULL, 0);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
337
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
338 aim_putsnac(&fr->data, 0x0002, 0x000f, 0x0000, 0);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
339 aim_writetlvchain(&fr->data, &tl);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
340 aim_freetlvchain(&tl);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
341
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
342 aim_tx_enqueue(sess, fr);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
343
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
344 return 0;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
345 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
346
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
347 /*
2703
6111a9790868 [gaim-migrate @ 2716]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2675
diff changeset
348 * Should be generic enough to handle the errors for all groups.
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
349 *
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
350 */
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
351 static int generror(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
352 {
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
353 int ret = 0;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
354 int error = 0;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
355 aim_rxcallback_t userfunc;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
356 aim_snac_t *snac2;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
357
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
358 snac2 = aim_remsnac(sess, snac->id);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
359
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
360 if (aim_bstream_empty(bs))
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
361 error = aimbs_get16(bs);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
362
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
363 if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype)))
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
364 ret = userfunc(sess, rx, error, snac2 ? snac2->data : NULL);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
365
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
366 if (snac2)
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
367 free(snac2->data);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
368 free(snac2);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
369
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
370 return ret;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
371 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
372
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
373 static int snachandler(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
374 {
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
375
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
376 if (snac->subtype == 0x0001)
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
377 return generror(sess, mod, rx, snac, bs);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
378 else if ((snac->family == 0xffff) && (snac->subtype == 0xffff)) {
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
379 aim_rxcallback_t userfunc;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
380
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
381 if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype)))
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
382 return userfunc(sess, rx);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
383 }
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
384
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
385 return 0;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
386 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
387
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
388 faim_internal int misc_modfirst(aim_session_t *sess, aim_module_t *mod)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
389 {
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
390
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
391 mod->family = 0xffff;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
392 mod->version = 0x0000;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
393 mod->flags = AIM_MODFLAG_MULTIFAMILY;
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
394 strncpy(mod->name, "misc", sizeof(mod->name));
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
395 mod->snachandler = snachandler;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
396
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
397 return 0;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
398 }
2703
6111a9790868 [gaim-migrate @ 2716]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2675
diff changeset
399
6111a9790868 [gaim-migrate @ 2716]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2675
diff changeset
400

mercurial