Mercurial > pidgin.yaz
annotate libpurple/protocols/oscar/oscar.c @ 32307:4c046f6564cd
Change the heuristic we use for setting od->icq. We used to set it to
true any time the username contained only digits. Now we set it to try
if account->protocol_id is prpl-icq. This means we're now relying on the
user to tell us whether their account is AIM or ICQ... and I think that's
fine.
The reason for this change is that we/AOL apparently allow the user to
login to ICQ accounts by entering their email address. This means we're
no longer able to look at the username to determine whether it's an AIM
name or an ICQ name.
This was a problem because we were trying to format the spacing/capitalization
in the username if the name was an icq email address, which resulted in
an annoying popup error at login. Fixes #13883.
It's probably safe for this to go into im.pidgin.pidgin (maybe after the
pending release), but I really don't want to keep changing the 2.x.y branch.
I think we need to move on to 3.x.y.
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Mon, 09 May 2011 04:42:52 +0000 |
parents | d4b7770324f8 |
children | 3e4b6ffbb551 |
rev | line source |
---|---|
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1 /* |
15823 | 2 * purple |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4 * Some code copyright (C) 1998-1999, Mark Spencer <markster@marko.net> |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5 * Some code copyright (C) 1999-2001, Eric Warmenhoven |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
6 * Some code copyright (C) 2001-2003, Sean Egan |
20629
77fda34d4289
A patch from Collin from ComBOTS, I guess. This fixes setting your
Mark Doliner <mark@kingant.net>
parents:
20582
diff
changeset
|
7 * Some code copyright (C) 2001-2007, Mark Doliner <thekingant@users.sourceforge.net> |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
8 * Some code copyright (C) 2005, Jonathan Clark <ardentlygnarly@users.sourceforge.net> |
20629
77fda34d4289
A patch from Collin from ComBOTS, I guess. This fixes setting your
Mark Doliner <mark@kingant.net>
parents:
20582
diff
changeset
|
9 * Some code copyright (C) 2007, ComBOTS Product GmbH (htfv) <foss@combots.com> |
21998
31a631d08d46
Credit for 1858be5916da7bce36f3c991bcd71fc65271048d. References #4052.
Mark Doliner <mark@kingant.net>
parents:
21997
diff
changeset
|
10 * Some code copyright (C) 2008, Aman Gupta |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
11 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
12 * Most libfaim code copyright (C) 1998-2001 Adam Fritzler <afritz@auk.cx> |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
13 * Some libfaim code copyright (C) 2001-2004 Mark Doliner <thekingant@users.sourceforge.net> |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
14 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
15 * This program is free software; you can redistribute it and/or modify |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
16 * it under the terms of the GNU General Public License as published by |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
17 * the Free Software Foundation; either version 2 of the License, or |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
18 * (at your option) any later version. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
19 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
20 * This program is distributed in the hope that it will be useful, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
23 * GNU General Public License for more details. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
24 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
25 * You should have received a copy of the GNU General Public License |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
26 * along with this program; if not, write to the Free Software |
19680
44b4e8bd759b
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19653
diff
changeset
|
27 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
28 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
29 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
30 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
31 #include "internal.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
32 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
33 #include "account.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
34 #include "accountopt.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
35 #include "buddyicon.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
36 #include "cipher.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
37 #include "conversation.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
38 #include "core.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
39 #include "debug.h" |
30814
a347a4cd1caf
Moved encoding-related functions to a separate file, renamed some of them,
ivan.komarov@soc.pidgin.im
parents:
30809
diff
changeset
|
40 #include "encoding.h" |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
41 #include "imgstore.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
42 #include "network.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
43 #include "notify.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
44 #include "privacy.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
45 #include "prpl.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
46 #include "proxy.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
47 #include "request.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
48 #include "util.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
49 #include "version.h" |
30805
5bfef3338383
Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
30804
diff
changeset
|
50 #include "visibility.h" |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
51 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
52 #include "oscarcommon.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
53 #include "oscar.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
54 #include "peer.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
55 |
15867
2c3765732dba
I don't know if the OSCAR checksum stuff will be copied to pidgin.im, but it certainly won't be at a website that's not ours (wrong because of the sed).
Richard Laager <rlaager@wiktel.com>
parents:
15866
diff
changeset
|
56 #define AIMHASHDATA "http://pidgin.im/aim_data.php3" |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
57 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
58 #define OSCAR_CONNECT_STEPS 6 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
59 |
30007
0d3145e6b1d6
Change the oscar capabilities variable to be a guint64 everywhere instead
Mark Doliner <mark@kingant.net>
parents:
29929
diff
changeset
|
60 static guint64 purple_caps = |
0d3145e6b1d6
Change the oscar capabilities variable to be a guint64 everywhere instead
Mark Doliner <mark@kingant.net>
parents:
29929
diff
changeset
|
61 OSCAR_CAPABILITY_CHAT |
0d3145e6b1d6
Change the oscar capabilities variable to be a guint64 everywhere instead
Mark Doliner <mark@kingant.net>
parents:
29929
diff
changeset
|
62 | OSCAR_CAPABILITY_BUDDYICON |
0d3145e6b1d6
Change the oscar capabilities variable to be a guint64 everywhere instead
Mark Doliner <mark@kingant.net>
parents:
29929
diff
changeset
|
63 | OSCAR_CAPABILITY_DIRECTIM |
0d3145e6b1d6
Change the oscar capabilities variable to be a guint64 everywhere instead
Mark Doliner <mark@kingant.net>
parents:
29929
diff
changeset
|
64 | OSCAR_CAPABILITY_SENDFILE |
0d3145e6b1d6
Change the oscar capabilities variable to be a guint64 everywhere instead
Mark Doliner <mark@kingant.net>
parents:
29929
diff
changeset
|
65 | OSCAR_CAPABILITY_UNICODE |
0d3145e6b1d6
Change the oscar capabilities variable to be a guint64 everywhere instead
Mark Doliner <mark@kingant.net>
parents:
29929
diff
changeset
|
66 | OSCAR_CAPABILITY_INTEROPERATE |
0d3145e6b1d6
Change the oscar capabilities variable to be a guint64 everywhere instead
Mark Doliner <mark@kingant.net>
parents:
29929
diff
changeset
|
67 | OSCAR_CAPABILITY_SHORTCAPS |
0d3145e6b1d6
Change the oscar capabilities variable to be a guint64 everywhere instead
Mark Doliner <mark@kingant.net>
parents:
29929
diff
changeset
|
68 | OSCAR_CAPABILITY_TYPING |
0d3145e6b1d6
Change the oscar capabilities variable to be a guint64 everywhere instead
Mark Doliner <mark@kingant.net>
parents:
29929
diff
changeset
|
69 | OSCAR_CAPABILITY_ICQSERVERRELAY |
0d3145e6b1d6
Change the oscar capabilities variable to be a guint64 everywhere instead
Mark Doliner <mark@kingant.net>
parents:
29929
diff
changeset
|
70 | OSCAR_CAPABILITY_NEWCAPS |
30831
be056399ae5f
Fixes #12044. We send a dummy packet with DC version = 8 to make
ivan.komarov@soc.pidgin.im
parents:
30829
diff
changeset
|
71 | OSCAR_CAPABILITY_XTRAZ |
be056399ae5f
Fixes #12044. We send a dummy packet with DC version = 8 to make
ivan.komarov@soc.pidgin.im
parents:
30829
diff
changeset
|
72 | OSCAR_CAPABILITY_HTML_MSGS; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
73 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
74 static guint8 features_aim[] = {0x01, 0x01, 0x01, 0x02}; |
30144
c66e766acb06
And allow sending HTML over ICQ, too. Only lightly tested
Mark Doliner <mark@kingant.net>
parents:
30143
diff
changeset
|
75 static guint8 features_icq[] = {0x01}; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
76 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
77 struct create_room { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
78 char *name; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
79 int exchange; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
80 }; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
81 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
82 struct oscar_ask_directim_data |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
83 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
84 OscarData *od; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
85 char *who; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
86 }; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
87 |
15823 | 88 /* All the libfaim->purple callback functions */ |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
89 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
90 /* Only used when connecting with the old-style BUCP login */ |
15823 | 91 static int purple_parse_auth_resp (OscarData *, FlapConnection *, FlapFrame *, ...); |
92 static int purple_parse_login (OscarData *, FlapConnection *, FlapFrame *, ...); | |
93 static int purple_parse_auth_securid_request(OscarData *, FlapConnection *, FlapFrame *, ...); | |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
94 |
15823 | 95 static int purple_handle_redirect (OscarData *, FlapConnection *, FlapFrame *, ...); |
96 static int purple_info_change (OscarData *, FlapConnection *, FlapFrame *, ...); | |
97 static int purple_account_confirm (OscarData *, FlapConnection *, FlapFrame *, ...); | |
98 static int purple_parse_oncoming (OscarData *, FlapConnection *, FlapFrame *, ...); | |
99 static int purple_parse_offgoing (OscarData *, FlapConnection *, FlapFrame *, ...); | |
100 static int purple_parse_incoming_im(OscarData *, FlapConnection *, FlapFrame *, ...); | |
101 static int purple_parse_misses (OscarData *, FlapConnection *, FlapFrame *, ...); | |
102 static int purple_parse_clientauto (OscarData *, FlapConnection *, FlapFrame *, ...); | |
103 static int purple_parse_motd (OscarData *, FlapConnection *, FlapFrame *, ...); | |
104 static int purple_chatnav_info (OscarData *, FlapConnection *, FlapFrame *, ...); | |
105 static int purple_conv_chat_join (OscarData *, FlapConnection *, FlapFrame *, ...); | |
106 static int purple_conv_chat_leave (OscarData *, FlapConnection *, FlapFrame *, ...); | |
107 static int purple_conv_chat_info_update (OscarData *, FlapConnection *, FlapFrame *, ...); | |
108 static int purple_conv_chat_incoming_msg(OscarData *, FlapConnection *, FlapFrame *, ...); | |
109 static int purple_email_parseupdate(OscarData *, FlapConnection *, FlapFrame *, ...); | |
110 static int purple_icon_parseicon (OscarData *, FlapConnection *, FlapFrame *, ...); | |
111 static int purple_parse_searcherror(OscarData *, FlapConnection *, FlapFrame *, ...); | |
112 static int purple_parse_searchreply(OscarData *, FlapConnection *, FlapFrame *, ...); | |
113 static int purple_bosrights (OscarData *, FlapConnection *, FlapFrame *, ...); | |
114 static int purple_connerr (OscarData *, FlapConnection *, FlapFrame *, ...); | |
115 static int purple_parse_mtn (OscarData *, FlapConnection *, FlapFrame *, ...); | |
116 static int purple_parse_locaterights(OscarData *, FlapConnection *, FlapFrame *, ...); | |
117 static int purple_parse_buddyrights(OscarData *, FlapConnection *, FlapFrame *, ...); | |
118 static int purple_parse_genericerr (OscarData *, FlapConnection *, FlapFrame *, ...); | |
119 static int purple_memrequest (OscarData *, FlapConnection *, FlapFrame *, ...); | |
120 static int purple_selfinfo (OscarData *, FlapConnection *, FlapFrame *, ...); | |
121 static int purple_popup (OscarData *, FlapConnection *, FlapFrame *, ...); | |
122 static int purple_ssi_parseerr (OscarData *, FlapConnection *, FlapFrame *, ...); | |
123 static int purple_ssi_parserights (OscarData *, FlapConnection *, FlapFrame *, ...); | |
124 static int purple_ssi_parselist (OscarData *, FlapConnection *, FlapFrame *, ...); | |
125 static int purple_ssi_parseack (OscarData *, FlapConnection *, FlapFrame *, ...); | |
20630
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
126 static int purple_ssi_parseaddmod (OscarData *, FlapConnection *, FlapFrame *, ...); |
15823 | 127 static int purple_ssi_authgiven (OscarData *, FlapConnection *, FlapFrame *, ...); |
128 static int purple_ssi_authrequest (OscarData *, FlapConnection *, FlapFrame *, ...); | |
129 static int purple_ssi_authreply (OscarData *, FlapConnection *, FlapFrame *, ...); | |
130 static int purple_ssi_gotadded (OscarData *, FlapConnection *, FlapFrame *, ...); | |
131 | |
18816
7a27e3729612
Fetch icons all at once instead of one at a time. I tried pretty hard
Mark Doliner <mark@kingant.net>
parents:
18814
diff
changeset
|
132 static void purple_icons_fetch(PurpleConnection *gc); |
15823 | 133 |
134 void oscar_set_info(PurpleConnection *gc, const char *info); | |
135 static void oscar_set_info_and_status(PurpleAccount *account, gboolean setinfo, const char *rawinfo, gboolean setstatus, PurpleStatus *status); | |
30801
3ada0cc7d2c5
"Invisibility mode" improvements.
ivan.komarov@soc.pidgin.im
parents:
30800
diff
changeset
|
136 static void oscar_set_extended_status(PurpleConnection *gc); |
15823 | 137 static gboolean purple_ssi_rerequestdata(gpointer data); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
138 |
30794
9881f18b95b1
Got rid of family_icq.c -> oscar.c callbacks. Now it will be possible
ivan.komarov@soc.pidgin.im
parents:
30792
diff
changeset
|
139 void oscar_free_name_data(struct name_data *data) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
140 g_free(data->name); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
141 g_free(data->nick); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
142 g_free(data); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
143 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
144 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
145 #ifdef _WIN32 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
146 const char *oscar_get_locale_charset(void) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
147 static const char *charset = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
148 if (charset == NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
149 g_get_charset(&charset); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
150 return charset; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
151 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
152 #endif |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
153 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
154 static char *oscar_icqstatus(int state) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
155 /* Make a cute little string that shows the status of the dude or dudet */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
156 if (state & AIM_ICQ_STATE_CHAT) |
24884
568b786c36f9
The remainder of a patch from fqueze to fix some incorrect *printf() function
Daniel Atallah <daniel.atallah@gmail.com>
parents:
24847
diff
changeset
|
157 return g_strdup(_("Free For Chat")); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
158 else if (state & AIM_ICQ_STATE_DND) |
24884
568b786c36f9
The remainder of a patch from fqueze to fix some incorrect *printf() function
Daniel Atallah <daniel.atallah@gmail.com>
parents:
24847
diff
changeset
|
159 return g_strdup(_("Do Not Disturb")); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
160 else if (state & AIM_ICQ_STATE_OUT) |
24884
568b786c36f9
The remainder of a patch from fqueze to fix some incorrect *printf() function
Daniel Atallah <daniel.atallah@gmail.com>
parents:
24847
diff
changeset
|
161 return g_strdup(_("Not Available")); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
162 else if (state & AIM_ICQ_STATE_BUSY) |
24884
568b786c36f9
The remainder of a patch from fqueze to fix some incorrect *printf() function
Daniel Atallah <daniel.atallah@gmail.com>
parents:
24847
diff
changeset
|
163 return g_strdup(_("Occupied")); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
164 else if (state & AIM_ICQ_STATE_AWAY) |
24884
568b786c36f9
The remainder of a patch from fqueze to fix some incorrect *printf() function
Daniel Atallah <daniel.atallah@gmail.com>
parents:
24847
diff
changeset
|
165 return g_strdup(_("Away")); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
166 else if (state & AIM_ICQ_STATE_WEBAWARE) |
24884
568b786c36f9
The remainder of a patch from fqueze to fix some incorrect *printf() function
Daniel Atallah <daniel.atallah@gmail.com>
parents:
24847
diff
changeset
|
167 return g_strdup(_("Web Aware")); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
168 else if (state & AIM_ICQ_STATE_INVISIBLE) |
24884
568b786c36f9
The remainder of a patch from fqueze to fix some incorrect *printf() function
Daniel Atallah <daniel.atallah@gmail.com>
parents:
24847
diff
changeset
|
169 return g_strdup(_("Invisible")); |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
170 else if (state & AIM_ICQ_STATE_EVIL) |
29851
5391094529c6
propagate from branch 'im.pidgin.pidgin' (head a59a573e3b9b2eb42ff728ba9ff56095f5c9e0d0)
Richard Laager <rlaager@wiktel.com>
diff
changeset
|
171 return g_strdup(_("Evil")); |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
172 else if (state & AIM_ICQ_STATE_DEPRESSION) |
29851
5391094529c6
propagate from branch 'im.pidgin.pidgin' (head a59a573e3b9b2eb42ff728ba9ff56095f5c9e0d0)
Richard Laager <rlaager@wiktel.com>
diff
changeset
|
173 return g_strdup(_("Depression")); |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
174 else if (state & AIM_ICQ_STATE_ATHOME) |
29854 | 175 return g_strdup(_("At home")); |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
176 else if (state & AIM_ICQ_STATE_ATWORK) |
29851
5391094529c6
propagate from branch 'im.pidgin.pidgin' (head a59a573e3b9b2eb42ff728ba9ff56095f5c9e0d0)
Richard Laager <rlaager@wiktel.com>
diff
changeset
|
177 return g_strdup(_("At work")); |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
178 else if (state & AIM_ICQ_STATE_LUNCH) |
29851
5391094529c6
propagate from branch 'im.pidgin.pidgin' (head a59a573e3b9b2eb42ff728ba9ff56095f5c9e0d0)
Richard Laager <rlaager@wiktel.com>
diff
changeset
|
179 return g_strdup(_("At lunch")); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
180 else |
24884
568b786c36f9
The remainder of a patch from fqueze to fix some incorrect *printf() function
Daniel Atallah <daniel.atallah@gmail.com>
parents:
24847
diff
changeset
|
181 return g_strdup(_("Online")); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
182 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
183 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
184 static char *extract_name(const char *name) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
185 char *tmp, *x; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
186 int i, j; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
187 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
188 if (!name) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
189 return NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
190 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
191 x = strchr(name, '-'); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
192 if (!x) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
193 return NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
194 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
195 x = strchr(x + 1, '-'); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
196 if (!x) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
197 return NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
198 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
199 tmp = g_strdup(++x); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
200 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
201 for (i = 0, j = 0; x[i]; i++) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
202 char hex[3]; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
203 if (x[i] != '%') { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
204 tmp[j++] = x[i]; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
205 continue; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
206 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
207 strncpy(hex, x + ++i, 2); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
208 hex[2] = 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
209 i++; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
210 tmp[j++] = strtol(hex, NULL, 16); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
211 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
212 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
213 tmp[j] = 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
214 return tmp; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
215 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
216 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
217 static struct chat_connection * |
15823 | 218 find_oscar_chat(PurpleConnection *gc, int id) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
219 { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
220 OscarData *od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
221 GSList *cur; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
222 struct chat_connection *cc; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
223 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
224 for (cur = od->oscar_chats; cur != NULL; cur = cur->next) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
225 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
226 cc = (struct chat_connection *)cur->data; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
227 if (cc->id == id) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
228 return cc; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
229 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
230 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
231 return NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
232 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
233 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
234 static struct chat_connection * |
15823 | 235 find_oscar_chat_by_conn(PurpleConnection *gc, FlapConnection *conn) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
236 { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
237 OscarData *od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
238 GSList *cur; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
239 struct chat_connection *cc; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
240 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
241 for (cur = od->oscar_chats; cur != NULL; cur = cur->next) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
242 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
243 cc = (struct chat_connection *)cur->data; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
244 if (cc->conn == conn) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
245 return cc; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
246 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
247 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
248 return NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
249 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
250 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
251 static struct chat_connection * |
15823 | 252 find_oscar_chat_by_conv(PurpleConnection *gc, PurpleConversation *conv) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
253 { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
254 OscarData *od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
255 GSList *cur; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
256 struct chat_connection *cc; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
257 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
258 for (cur = od->oscar_chats; cur != NULL; cur = cur->next) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
259 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
260 cc = (struct chat_connection *)cur->data; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
261 if (cc->conv == conv) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
262 return cc; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
263 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
264 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
265 return NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
266 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
267 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
268 void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
269 oscar_chat_destroy(struct chat_connection *cc) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
270 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
271 g_free(cc->name); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
272 g_free(cc->show); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
273 g_free(cc); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
274 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
275 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
276 static void |
15823 | 277 oscar_chat_kill(PurpleConnection *gc, struct chat_connection *cc) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
278 { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
279 OscarData *od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
280 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
281 /* Notify the conversation window that we've left the chat */ |
15823 | 282 serv_got_chat_left(gc, purple_conv_chat_get_id(PURPLE_CONV_CHAT(cc->conv))); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
283 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
284 /* Destroy the chat_connection */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
285 od->oscar_chats = g_slist_remove(od->oscar_chats, cc); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
286 oscar_chat_destroy(cc); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
287 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
288 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
289 /** |
24651
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
290 * This is called from the callback functions for establishing |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
291 * a TCP connection with an oscar host if an error occurred. |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
292 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
293 static void |
24651
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
294 connection_common_error_cb(FlapConnection *conn, const gchar *error_message) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
295 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
296 OscarData *od; |
24651
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
297 PurpleConnection *gc; |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
298 |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
299 od = conn->od; |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
300 gc = od->gc; |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
301 |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
302 purple_debug_error("oscar", "unable to connect to FLAP " |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
303 "server of type 0x%04hx\n", conn->type); |
25022
f6ef3a9534db
Shuffle a few comments around to make it look like I did something
Mark Doliner <mark@kingant.net>
parents:
25018
diff
changeset
|
304 |
24651
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
305 if (conn->type == SNAC_FAMILY_AUTH) |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
306 { |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
307 /* This only happens when connecting with the old-style BUCP login */ |
24651
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
308 gchar *msg; |
27463
f541583e31bd
More uniformity among disconnect error messages
Mark Doliner <mark@kingant.net>
parents:
27459
diff
changeset
|
309 msg = g_strdup_printf(_("Unable to connect to authentication server: %s"), |
24651
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
310 error_message); |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
311 purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, msg); |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
312 g_free(msg); |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
313 } |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
314 else if (conn->type == SNAC_FAMILY_LOCATE) |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
315 { |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
316 gchar *msg; |
27463
f541583e31bd
More uniformity among disconnect error messages
Mark Doliner <mark@kingant.net>
parents:
27459
diff
changeset
|
317 msg = g_strdup_printf(_("Unable to connect to BOS server: %s"), |
24651
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
318 error_message); |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
319 purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, msg); |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
320 g_free(msg); |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
321 } |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
322 else |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
323 { |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
324 /* Maybe we should call this for BOS connections, too? */ |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
325 flap_connection_schedule_destroy(conn, |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
326 OSCAR_DISCONNECT_COULD_NOT_CONNECT, error_message); |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
327 } |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
328 } |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
329 |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
330 /** |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
331 * This is called from the callback functions for establishing |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
332 * a TCP connection with an oscar host. Depending on the type |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
333 * of host, we do a few different things here. |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
334 */ |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
335 static void |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
336 connection_common_established_cb(FlapConnection *conn) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
337 { |
25022
f6ef3a9534db
Shuffle a few comments around to make it look like I did something
Mark Doliner <mark@kingant.net>
parents:
25018
diff
changeset
|
338 OscarData *od; |
15823 | 339 PurpleConnection *gc; |
340 PurpleAccount *account; | |
24651
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
341 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
342 od = conn->od; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
343 gc = od->gc; |
15823 | 344 account = purple_connection_get_account(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
345 |
15823 | 346 purple_debug_info("oscar", "connected to FLAP server of type 0x%04hx\n", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
347 conn->type); |
25022
f6ef3a9534db
Shuffle a few comments around to make it look like I did something
Mark Doliner <mark@kingant.net>
parents:
25018
diff
changeset
|
348 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
349 if (conn->cookie == NULL) |
24393
a3c119fd31e3
Fix the indentation level on the code changed by the last patch.
Richard Laager <rlaager@wiktel.com>
parents:
24392
diff
changeset
|
350 flap_connection_send_version(od, conn); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
351 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
352 { |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
353 if (purple_account_get_bool(account, "use_clientlogin", OSCAR_DEFAULT_USE_CLIENTLOGIN)) |
30364 | 354 { |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
355 ClientInfo aiminfo = CLIENTINFO_PURPLE_AIM; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
356 ClientInfo icqinfo = CLIENTINFO_PURPLE_ICQ; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
357 flap_connection_send_version_with_cookie_and_clientinfo(od, |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
358 conn, conn->cookielen, conn->cookie, |
28872
4575d8daba12
oscar: Fix 'Allow multiple simultaenous logins' with clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28871
diff
changeset
|
359 od->icq ? &icqinfo : &aiminfo, |
4575d8daba12
oscar: Fix 'Allow multiple simultaenous logins' with clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28871
diff
changeset
|
360 purple_account_get_bool(account, "allow_multiple_logins", OSCAR_DEFAULT_ALLOW_MULTIPLE_LOGINS)); |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
361 } else { |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
362 flap_connection_send_version_with_cookie(od, conn, |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
363 conn->cookielen, conn->cookie); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
364 } |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
365 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
366 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
367 g_free(conn->cookie); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
368 conn->cookie = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
369 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
370 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
371 if (conn->type == SNAC_FAMILY_AUTH) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
372 { |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
373 /* This only happens when connecting with the old-style BUCP login */ |
15823 | 374 aim_request_login(od, conn, purple_account_get_username(account)); |
22394
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
375 purple_debug_info("oscar", "Username sent, waiting for response\n"); |
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
376 purple_connection_update_progress(gc, _("Username sent"), 1, OSCAR_CONNECT_STEPS); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
377 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
378 else if (conn->type == SNAC_FAMILY_LOCATE) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
379 { |
15823 | 380 purple_connection_update_progress(gc, _("Connection established, cookie sent"), 4, OSCAR_CONNECT_STEPS); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
381 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
382 else if (conn->type == SNAC_FAMILY_CHAT) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
383 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
384 od->oscar_chats = g_slist_prepend(od->oscar_chats, conn->new_conn_data); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
385 conn->new_conn_data = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
386 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
387 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
388 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
389 static void |
24651
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
390 connection_established_cb(gpointer data, gint source, const gchar *error_message) |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
391 { |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
392 FlapConnection *conn; |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
393 |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
394 conn = data; |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
395 |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
396 conn->connect_data = NULL; |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
397 conn->fd = source; |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
398 |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
399 if (source < 0) |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
400 { |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
401 connection_common_error_cb(conn, error_message); |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
402 return; |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
403 } |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
404 |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
405 conn->watcher_incoming = purple_input_add(conn->fd, |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
406 PURPLE_INPUT_READ, flap_connection_recv_cb, conn); |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
407 connection_common_established_cb(conn); |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
408 } |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
409 |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
410 static void |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
411 ssl_connection_established_cb(gpointer data, PurpleSslConnection *gsc, |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
412 PurpleInputCondition cond) |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
413 { |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
414 FlapConnection *conn; |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
415 |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
416 conn = data; |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
417 |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
418 purple_ssl_input_add(gsc, flap_connection_recv_cb_ssl, conn); |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
419 connection_common_established_cb(conn); |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
420 } |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
421 |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
422 static void |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
423 ssl_connection_error_cb(PurpleSslConnection *gsc, PurpleSslErrorType error, |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
424 gpointer data) |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
425 { |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
426 FlapConnection *conn; |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
427 |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
428 conn = data; |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
429 |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
430 if (conn->watcher_outgoing) |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
431 { |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
432 purple_input_remove(conn->watcher_outgoing); |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
433 conn->watcher_outgoing = 0; |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
434 } |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
435 |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
436 /* sslconn frees the connection on error */ |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
437 conn->gsc = NULL; |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
438 |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
439 connection_common_error_cb(conn, purple_ssl_strerror(error)); |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
440 } |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
441 |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
442 static void |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
443 flap_connection_established_bos(OscarData *od, FlapConnection *conn) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
444 { |
15823 | 445 PurpleConnection *gc = od->gc; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
446 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
447 aim_srv_reqpersonalinfo(od, conn); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
448 |
15823 | 449 purple_debug_info("oscar", "ssi: requesting rights and list\n"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
450 aim_ssi_reqrights(od); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
451 aim_ssi_reqdata(od); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
452 if (od->getblisttimer > 0) |
15823 | 453 purple_timeout_remove(od->getblisttimer); |
25861
7f552614ec8a
applied changes from a336cc1fd3a1ce815f97303b8d5ae8988f8cbd5b
Ethan Blanton <elb@pidgin.im>
parents:
25166
diff
changeset
|
454 od->getblisttimer = purple_timeout_add_seconds(30, purple_ssi_rerequestdata, od); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
455 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
456 aim_locate_reqrights(od); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
457 aim_buddylist_reqrights(od, conn); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
458 aim_im_reqparams(od); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
459 aim_bos_reqrights(od, conn); /* TODO: Don't call this with ssi */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
460 |
15823 | 461 purple_connection_update_progress(gc, _("Finalizing connection"), 5, OSCAR_CONNECT_STEPS); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
462 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
463 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
464 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
465 flap_connection_established_admin(OscarData *od, FlapConnection *conn) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
466 { |
23839
5e7a013bb75e
A little function renaming and organization
Mark Doliner <mark@kingant.net>
parents:
23777
diff
changeset
|
467 aim_srv_clientready(od, conn); |
15823 | 468 purple_debug_info("oscar", "connected to admin\n"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
469 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
470 if (od->chpass) { |
15823 | 471 purple_debug_info("oscar", "changing password\n"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
472 aim_admin_changepasswd(od, conn, od->newp, od->oldp); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
473 g_free(od->oldp); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
474 od->oldp = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
475 g_free(od->newp); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
476 od->newp = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
477 od->chpass = FALSE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
478 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
479 if (od->setnick) { |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
480 purple_debug_info("oscar", "formatting username\n"); |
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
481 aim_admin_setnick(od, conn, od->newformatting); |
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
482 g_free(od->newformatting); |
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
483 od->newformatting = NULL; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
484 od->setnick = FALSE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
485 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
486 if (od->conf) { |
15823 | 487 purple_debug_info("oscar", "confirming account\n"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
488 aim_admin_reqconfirm(od, conn); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
489 od->conf = FALSE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
490 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
491 if (od->reqemail) { |
23182
e0bcb8cfda74
Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents:
22846
diff
changeset
|
492 purple_debug_info("oscar", "requesting email address\n"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
493 aim_admin_getinfo(od, conn, 0x0011); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
494 od->reqemail = FALSE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
495 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
496 if (od->setemail) { |
23182
e0bcb8cfda74
Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents:
22846
diff
changeset
|
497 purple_debug_info("oscar", "setting email address\n"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
498 aim_admin_setemail(od, conn, od->email); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
499 g_free(od->email); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
500 od->email = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
501 od->setemail = FALSE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
502 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
503 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
504 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
505 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
506 flap_connection_established_chat(OscarData *od, FlapConnection *conn) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
507 { |
15823 | 508 PurpleConnection *gc = od->gc; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
509 struct chat_connection *chatcon; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
510 static int id = 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
511 |
23839
5e7a013bb75e
A little function renaming and organization
Mark Doliner <mark@kingant.net>
parents:
23777
diff
changeset
|
512 aim_srv_clientready(od, conn); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
513 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
514 chatcon = find_oscar_chat_by_conn(gc, conn); |
20862
9bdc5144bd96
Fix CID 340; potential NULL deref.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
20840
diff
changeset
|
515 if (chatcon) { |
9bdc5144bd96
Fix CID 340; potential NULL deref.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
20840
diff
changeset
|
516 chatcon->id = id; |
9bdc5144bd96
Fix CID 340; potential NULL deref.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
20840
diff
changeset
|
517 chatcon->conv = serv_got_joined_chat(gc, id++, chatcon->show); |
9bdc5144bd96
Fix CID 340; potential NULL deref.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
20840
diff
changeset
|
518 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
519 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
520 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
521 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
522 flap_connection_established_chatnav(OscarData *od, FlapConnection *conn) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
523 { |
23839
5e7a013bb75e
A little function renaming and organization
Mark Doliner <mark@kingant.net>
parents:
23777
diff
changeset
|
524 aim_srv_clientready(od, conn); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
525 aim_chatnav_reqrights(od, conn); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
526 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
527 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
528 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
529 flap_connection_established_alert(OscarData *od, FlapConnection *conn) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
530 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
531 aim_email_sendcookies(od); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
532 aim_email_activate(od); |
23839
5e7a013bb75e
A little function renaming and organization
Mark Doliner <mark@kingant.net>
parents:
23777
diff
changeset
|
533 aim_srv_clientready(od, conn); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
534 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
535 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
536 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
537 flap_connection_established_bart(OscarData *od, FlapConnection *conn) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
538 { |
15823 | 539 PurpleConnection *gc = od->gc; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
540 |
23839
5e7a013bb75e
A little function renaming and organization
Mark Doliner <mark@kingant.net>
parents:
23777
diff
changeset
|
541 aim_srv_clientready(od, conn); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
542 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
543 od->iconconnecting = FALSE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
544 |
18816
7a27e3729612
Fetch icons all at once instead of one at a time. I tried pretty hard
Mark Doliner <mark@kingant.net>
parents:
18814
diff
changeset
|
545 purple_icons_fetch(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
546 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
547 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
548 static int |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
549 flap_connection_established(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
550 { |
15823 | 551 purple_debug_info("oscar", "FLAP connection of type 0x%04hx is " |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
552 "now fully connected\n", conn->type); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
553 if (conn->type == SNAC_FAMILY_LOCATE) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
554 flap_connection_established_bos(od, conn); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
555 else if (conn->type == SNAC_FAMILY_ADMIN) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
556 flap_connection_established_admin(od, conn); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
557 else if (conn->type == SNAC_FAMILY_CHAT) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
558 flap_connection_established_chat(od, conn); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
559 else if (conn->type == SNAC_FAMILY_CHATNAV) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
560 flap_connection_established_chatnav(od, conn); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
561 else if (conn->type == SNAC_FAMILY_ALERT) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
562 flap_connection_established_alert(od, conn); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
563 else if (conn->type == SNAC_FAMILY_BART) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
564 flap_connection_established_bart(od, conn); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
565 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
566 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
567 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
568 |
22223
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
569 static void |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
570 idle_reporting_pref_cb(const char *name, PurplePrefType type, |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
571 gconstpointer value, gpointer data) |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
572 { |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
573 PurpleConnection *gc; |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
574 OscarData *od; |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
575 gboolean report_idle; |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
576 guint32 presence; |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
577 |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
578 gc = data; |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
579 od = purple_connection_get_protocol_data(gc); |
22223
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
580 report_idle = strcmp((const char *)value, "none") != 0; |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
581 presence = aim_ssi_getpresence(&od->ssi.local); |
22223
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
582 |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
583 if (report_idle) |
28868
c26a59000df9
oscar: Update the details of the buddy preferences based on the OSCAR docs.
Paul Aurich <paul@darkrain42.org>
parents:
28865
diff
changeset
|
584 aim_ssi_setpresence(od, presence | AIM_SSI_PRESENCE_FLAG_SHOWIDLE); |
22223
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
585 else |
28868
c26a59000df9
oscar: Update the details of the buddy preferences based on the OSCAR docs.
Paul Aurich <paul@darkrain42.org>
parents:
28865
diff
changeset
|
586 aim_ssi_setpresence(od, presence & ~AIM_SSI_PRESENCE_FLAG_SHOWIDLE); |
22223
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
587 } |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
588 |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
589 /** |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
590 * Should probably make a "Use recent buddies group" account preference |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
591 * so that this option is surfaced to the user. |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
592 */ |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
593 static void |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
594 recent_buddies_pref_cb(const char *name, PurplePrefType type, |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
595 gconstpointer value, gpointer data) |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
596 { |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
597 PurpleConnection *gc; |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
598 OscarData *od; |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
599 guint32 presence; |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
600 |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
601 gc = data; |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
602 od = purple_connection_get_protocol_data(gc); |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
603 presence = aim_ssi_getpresence(&od->ssi.local); |
22223
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
604 |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
605 if (value) |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
606 aim_ssi_setpresence(od, presence & ~AIM_SSI_PRESENCE_FLAG_NORECENTBUDDIES); |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
607 else |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
608 aim_ssi_setpresence(od, presence | AIM_SSI_PRESENCE_FLAG_NORECENTBUDDIES); |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
609 } |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
610 |
31085
4297feb30ad1
Merged everything related to ICQ server changes.
ivan.komarov@soc.pidgin.im
parents:
31051
diff
changeset
|
611 static const gchar *login_servers[] = { |
4297feb30ad1
Merged everything related to ICQ server changes.
ivan.komarov@soc.pidgin.im
parents:
31051
diff
changeset
|
612 AIM_DEFAULT_LOGIN_SERVER, |
4297feb30ad1
Merged everything related to ICQ server changes.
ivan.komarov@soc.pidgin.im
parents:
31051
diff
changeset
|
613 AIM_DEFAULT_SSL_LOGIN_SERVER, |
4297feb30ad1
Merged everything related to ICQ server changes.
ivan.komarov@soc.pidgin.im
parents:
31051
diff
changeset
|
614 ICQ_DEFAULT_LOGIN_SERVER, |
4297feb30ad1
Merged everything related to ICQ server changes.
ivan.komarov@soc.pidgin.im
parents:
31051
diff
changeset
|
615 ICQ_DEFAULT_SSL_LOGIN_SERVER, |
4297feb30ad1
Merged everything related to ICQ server changes.
ivan.komarov@soc.pidgin.im
parents:
31051
diff
changeset
|
616 }; |
4297feb30ad1
Merged everything related to ICQ server changes.
ivan.komarov@soc.pidgin.im
parents:
31051
diff
changeset
|
617 |
31342
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
618 static const gchar * |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
619 get_login_server(gboolean is_icq, gboolean use_ssl) |
31085
4297feb30ad1
Merged everything related to ICQ server changes.
ivan.komarov@soc.pidgin.im
parents:
31051
diff
changeset
|
620 { |
31329
a636aa086d0b
A gboolean doesn't need to be '1' to be TRUE. This is safer.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
31094
diff
changeset
|
621 return login_servers[(is_icq ? 2 : 0) + (use_ssl ? 1 : 0)]; |
31085
4297feb30ad1
Merged everything related to ICQ server changes.
ivan.komarov@soc.pidgin.im
parents:
31051
diff
changeset
|
622 } |
4297feb30ad1
Merged everything related to ICQ server changes.
ivan.komarov@soc.pidgin.im
parents:
31051
diff
changeset
|
623 |
31342
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
624 static gint |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
625 compare_handlers(gconstpointer a, gconstpointer b) |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
626 { |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
627 guint aa = GPOINTER_TO_UINT(a); |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
628 guint bb = GPOINTER_TO_UINT(b); |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
629 guint family1 = aa >> 16; |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
630 guint family2 = bb >> 16; |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
631 guint subtype1 = aa & 0xFFFF; |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
632 guint subtype2 = bb & 0xFFFF; |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
633 if (family1 != family2) { |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
634 return family1 - family2; |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
635 } |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
636 return subtype1 - subtype2; |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
637 } |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
638 |
31357
e17ac5b9621f
g_hash_table_get_keys is GLIB>2.14.0 but we maintain compatibility with 2.12.0.
Mark Doliner <mark@kingant.net>
parents:
31342
diff
changeset
|
639 #if !GLIB_CHECK_VERSION(2,14,0) |
e17ac5b9621f
g_hash_table_get_keys is GLIB>2.14.0 but we maintain compatibility with 2.12.0.
Mark Doliner <mark@kingant.net>
parents:
31342
diff
changeset
|
640 static void hash_table_get_list_of_keys(gpointer key, gpointer value, gpointer user_data) |
e17ac5b9621f
g_hash_table_get_keys is GLIB>2.14.0 but we maintain compatibility with 2.12.0.
Mark Doliner <mark@kingant.net>
parents:
31342
diff
changeset
|
641 { |
e17ac5b9621f
g_hash_table_get_keys is GLIB>2.14.0 but we maintain compatibility with 2.12.0.
Mark Doliner <mark@kingant.net>
parents:
31342
diff
changeset
|
642 GList **handlers = (GList **)user_data; |
e17ac5b9621f
g_hash_table_get_keys is GLIB>2.14.0 but we maintain compatibility with 2.12.0.
Mark Doliner <mark@kingant.net>
parents:
31342
diff
changeset
|
643 |
e17ac5b9621f
g_hash_table_get_keys is GLIB>2.14.0 but we maintain compatibility with 2.12.0.
Mark Doliner <mark@kingant.net>
parents:
31342
diff
changeset
|
644 *handlers = g_list_prepend(*handlers, key); |
e17ac5b9621f
g_hash_table_get_keys is GLIB>2.14.0 but we maintain compatibility with 2.12.0.
Mark Doliner <mark@kingant.net>
parents:
31342
diff
changeset
|
645 } |
31358 | 646 #endif /* GLIB < 2.14.0 */ |
31357
e17ac5b9621f
g_hash_table_get_keys is GLIB>2.14.0 but we maintain compatibility with 2.12.0.
Mark Doliner <mark@kingant.net>
parents:
31342
diff
changeset
|
647 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
648 void |
15823 | 649 oscar_login(PurpleAccount *account) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
650 { |
15823 | 651 PurpleConnection *gc; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
652 OscarData *od; |
31341
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
653 const gchar *encryption_type; |
31342
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
654 GList *handlers; |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
655 GList *sorted_handlers; |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
656 GList *cur; |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
657 GString *msg = g_string_new(""); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
658 |
15823 | 659 gc = purple_account_get_connection(account); |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
660 od = oscar_data_new(); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
661 od->gc = gc; |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
662 purple_connection_set_protocol_data(gc, od); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
663 |
15823 | 664 oscar_data_addhandler(od, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_CONNERR, purple_connerr, 0); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
665 oscar_data_addhandler(od, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_CONNINITDONE, flap_connection_established, 0); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
666 |
15823 | 667 oscar_data_addhandler(od, SNAC_FAMILY_ADMIN, 0x0003, purple_info_change, 0); |
668 oscar_data_addhandler(od, SNAC_FAMILY_ADMIN, 0x0005, purple_info_change, 0); | |
669 oscar_data_addhandler(od, SNAC_FAMILY_ADMIN, 0x0007, purple_account_confirm, 0); | |
670 oscar_data_addhandler(od, SNAC_FAMILY_ALERT, 0x0001, purple_parse_genericerr, 0); | |
671 oscar_data_addhandler(od, SNAC_FAMILY_ALERT, SNAC_SUBTYPE_ALERT_MAILSTATUS, purple_email_parseupdate, 0); | |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
672 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
673 /* These are only needed when connecting with the old-style BUCP login */ |
15823 | 674 oscar_data_addhandler(od, SNAC_FAMILY_AUTH, 0x0003, purple_parse_auth_resp, 0); |
675 oscar_data_addhandler(od, SNAC_FAMILY_AUTH, 0x0007, purple_parse_login, 0); | |
676 oscar_data_addhandler(od, SNAC_FAMILY_AUTH, SNAC_SUBTYPE_AUTH_SECURID_REQUEST, purple_parse_auth_securid_request, 0); | |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
677 |
15823 | 678 oscar_data_addhandler(od, SNAC_FAMILY_BART, SNAC_SUBTYPE_BART_RESPONSE, purple_icon_parseicon, 0); |
679 oscar_data_addhandler(od, SNAC_FAMILY_BOS, 0x0001, purple_parse_genericerr, 0); | |
680 oscar_data_addhandler(od, SNAC_FAMILY_BOS, 0x0003, purple_bosrights, 0); | |
681 oscar_data_addhandler(od, SNAC_FAMILY_BUDDY, 0x0001, purple_parse_genericerr, 0); | |
682 oscar_data_addhandler(od, SNAC_FAMILY_BUDDY, SNAC_SUBTYPE_BUDDY_RIGHTSINFO, purple_parse_buddyrights, 0); | |
683 oscar_data_addhandler(od, SNAC_FAMILY_BUDDY, SNAC_SUBTYPE_BUDDY_ONCOMING, purple_parse_oncoming, 0); | |
684 oscar_data_addhandler(od, SNAC_FAMILY_BUDDY, SNAC_SUBTYPE_BUDDY_OFFGOING, purple_parse_offgoing, 0); | |
685 oscar_data_addhandler(od, SNAC_FAMILY_CHAT, 0x0001, purple_parse_genericerr, 0); | |
686 oscar_data_addhandler(od, SNAC_FAMILY_CHAT, SNAC_SUBTYPE_CHAT_USERJOIN, purple_conv_chat_join, 0); | |
687 oscar_data_addhandler(od, SNAC_FAMILY_CHAT, SNAC_SUBTYPE_CHAT_USERLEAVE, purple_conv_chat_leave, 0); | |
688 oscar_data_addhandler(od, SNAC_FAMILY_CHAT, SNAC_SUBTYPE_CHAT_ROOMINFOUPDATE, purple_conv_chat_info_update, 0); | |
689 oscar_data_addhandler(od, SNAC_FAMILY_CHAT, SNAC_SUBTYPE_CHAT_INCOMINGMSG, purple_conv_chat_incoming_msg, 0); | |
690 oscar_data_addhandler(od, SNAC_FAMILY_CHATNAV, 0x0001, purple_parse_genericerr, 0); | |
691 oscar_data_addhandler(od, SNAC_FAMILY_CHATNAV, SNAC_SUBTYPE_CHATNAV_INFO, purple_chatnav_info, 0); | |
692 oscar_data_addhandler(od, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_ERROR, purple_ssi_parseerr, 0); | |
693 oscar_data_addhandler(od, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_RIGHTSINFO, purple_ssi_parserights, 0); | |
694 oscar_data_addhandler(od, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_LIST, purple_ssi_parselist, 0); | |
695 oscar_data_addhandler(od, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_SRVACK, purple_ssi_parseack, 0); | |
20630
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
696 oscar_data_addhandler(od, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_ADD, purple_ssi_parseaddmod, 0); |
20632
0bd4e35741f4
Whoops, I forgot to register the callback function for the incoming
Mark Doliner <mark@kingant.net>
parents:
20630
diff
changeset
|
697 oscar_data_addhandler(od, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_MOD, purple_ssi_parseaddmod, 0); |
15823 | 698 oscar_data_addhandler(od, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_RECVAUTH, purple_ssi_authgiven, 0); |
699 oscar_data_addhandler(od, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_RECVAUTHREQ, purple_ssi_authrequest, 0); | |
700 oscar_data_addhandler(od, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_RECVAUTHREP, purple_ssi_authreply, 0); | |
701 oscar_data_addhandler(od, SNAC_FAMILY_FEEDBAG, SNAC_SUBTYPE_FEEDBAG_ADDED, purple_ssi_gotadded, 0); | |
702 oscar_data_addhandler(od, SNAC_FAMILY_ICBM, SNAC_SUBTYPE_ICBM_INCOMING, purple_parse_incoming_im, 0); | |
703 oscar_data_addhandler(od, SNAC_FAMILY_ICBM, SNAC_SUBTYPE_ICBM_MISSEDCALL, purple_parse_misses, 0); | |
704 oscar_data_addhandler(od, SNAC_FAMILY_ICBM, SNAC_SUBTYPE_ICBM_CLIENTAUTORESP, purple_parse_clientauto, 0); | |
705 oscar_data_addhandler(od, SNAC_FAMILY_ICBM, SNAC_SUBTYPE_ICBM_MTN, purple_parse_mtn, 0); | |
706 oscar_data_addhandler(od, SNAC_FAMILY_LOCATE, SNAC_SUBTYPE_LOCATE_RIGHTSINFO, purple_parse_locaterights, 0); | |
707 oscar_data_addhandler(od, SNAC_FAMILY_OSERVICE, 0x0001, purple_parse_genericerr, 0); | |
708 oscar_data_addhandler(od, SNAC_FAMILY_OSERVICE, 0x000f, purple_selfinfo, 0); | |
709 oscar_data_addhandler(od, SNAC_FAMILY_OSERVICE, 0x001f, purple_memrequest, 0); | |
710 oscar_data_addhandler(od, SNAC_FAMILY_OSERVICE, SNAC_SUBTYPE_OSERVICE_REDIRECT, purple_handle_redirect, 0); | |
711 oscar_data_addhandler(od, SNAC_FAMILY_OSERVICE, SNAC_SUBTYPE_OSERVICE_MOTD, purple_parse_motd, 0); | |
712 oscar_data_addhandler(od, SNAC_FAMILY_POPUP, 0x0002, purple_popup, 0); | |
713 oscar_data_addhandler(od, SNAC_FAMILY_USERLOOKUP, SNAC_SUBTYPE_USERLOOKUP_ERROR, purple_parse_searcherror, 0); | |
714 oscar_data_addhandler(od, SNAC_FAMILY_USERLOOKUP, 0x0003, purple_parse_searchreply, 0); | |
715 | |
31342
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
716 g_string_append(msg, "Registered handlers: "); |
31357
e17ac5b9621f
g_hash_table_get_keys is GLIB>2.14.0 but we maintain compatibility with 2.12.0.
Mark Doliner <mark@kingant.net>
parents:
31342
diff
changeset
|
717 #if GLIB_CHECK_VERSION(2,14,0) |
31342
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
718 handlers = g_hash_table_get_keys(od->handlerlist); |
31357
e17ac5b9621f
g_hash_table_get_keys is GLIB>2.14.0 but we maintain compatibility with 2.12.0.
Mark Doliner <mark@kingant.net>
parents:
31342
diff
changeset
|
719 #else |
e17ac5b9621f
g_hash_table_get_keys is GLIB>2.14.0 but we maintain compatibility with 2.12.0.
Mark Doliner <mark@kingant.net>
parents:
31342
diff
changeset
|
720 handlers = NULL; |
e17ac5b9621f
g_hash_table_get_keys is GLIB>2.14.0 but we maintain compatibility with 2.12.0.
Mark Doliner <mark@kingant.net>
parents:
31342
diff
changeset
|
721 g_hash_table_foreach(od->handlerlist, hash_table_get_list_of_keys, &handlers); |
31358 | 722 #endif /* GLIB < 2.14.0 */ |
31342
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
723 sorted_handlers = g_list_sort(g_list_copy(handlers), compare_handlers); |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
724 for (cur = sorted_handlers; cur; cur = cur->next) { |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
725 guint x = GPOINTER_TO_UINT(cur->data); |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
726 g_string_append_printf(msg, "%04x/%04x, ", x >> 16, x & 0xFFFF); |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
727 } |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
728 g_list_free(sorted_handlers); |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
729 g_list_free(handlers); |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
730 purple_debug_misc("oscar", "%s\n", msg->str); |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
731 g_string_free(msg, TRUE); |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
732 |
15823 | 733 purple_debug_misc("oscar", "oscar_login: gc = %p\n", gc); |
734 | |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
735 if (!oscar_util_valid_name(purple_account_get_username(account))) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
736 gchar *buf; |
27463
f541583e31bd
More uniformity among disconnect error messages
Mark Doliner <mark@kingant.net>
parents:
27459
diff
changeset
|
737 buf = g_strdup_printf(_("Unable to sign on as %s because the username is invalid. Usernames must be a valid email address, or start with a letter and contain only letters, numbers and spaces, or contain only numbers."), purple_account_get_username(account)); |
21358 | 738 purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_INVALID_SETTINGS, buf); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
739 g_free(buf); |
20971
bff8c5241e20
When signing on to an oscar account, if we check your screen name and
Mark Doliner <mark@kingant.net>
parents:
20959
diff
changeset
|
740 return; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
741 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
742 |
30144
c66e766acb06
And allow sending HTML over ICQ, too. Only lightly tested
Mark Doliner <mark@kingant.net>
parents:
30143
diff
changeset
|
743 gc->flags |= PURPLE_CONNECTION_HTML; |
32307
4c046f6564cd
Change the heuristic we use for setting od->icq. We used to set it to
Mark Doliner <mark@kingant.net>
parents:
32296
diff
changeset
|
744 if (g_str_equal(purple_account_get_protocol_id(account), "prpl-icq")) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
745 od->icq = TRUE; |
29929
3e5bb4e2334c
Added PurpleConnection flags to determine support for moods and mood messages.
Marcus Lundblad <ml@update.uu.se>
parents:
29923
diff
changeset
|
746 gc->flags |= PURPLE_CONNECTION_SUPPORT_MOODS; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
747 } else { |
15823 | 748 gc->flags |= PURPLE_CONNECTION_AUTO_RESP; |
749 } | |
750 | |
27319
76cf0b261e25
Set od->default_port even when using the standard auth method.
Paul Aurich <paul@darkrain42.org>
parents:
27276
diff
changeset
|
751 od->default_port = purple_account_get_int(account, "port", OSCAR_DEFAULT_LOGIN_PORT); |
31341
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
752 |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
753 encryption_type = purple_account_get_string(account, "encryption", OSCAR_DEFAULT_ENCRYPTION); |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
754 if (!purple_ssl_is_supported() && strcmp(encryption_type, OSCAR_REQUIRE_ENCRYPTION) == 0) { |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
755 purple_connection_error_reason( |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
756 gc, |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
757 PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT, |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
758 _("You required encryption in your account settings, but encryption is not supported by your system.")); |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
759 return; |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
760 } |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
761 od->use_ssl = purple_ssl_is_supported() && strcmp(encryption_type, OSCAR_NO_ENCRYPTION) != 0; |
24651
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
762 |
15823 | 763 /* Connect to core Purple signals */ |
22223
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
764 purple_prefs_connect_callback(gc, "/purple/away/idle_reporting", idle_reporting_pref_cb, gc); |
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
765 purple_prefs_connect_callback(gc, "/plugins/prpl/oscar/recent_buddies", recent_buddies_pref_cb, gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
766 |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
767 /* |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
768 * On 2008-03-05 AOL released some documentation on the OSCAR protocol |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
769 * which includes a new login method called clientLogin. It is similar |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
770 * (though not the same?) as what the AIM 6.0 series uses to |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
771 * authenticate. |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
772 * |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
773 * AIM 5.9 and lower use an MD5-based login procedure called "BUCP". |
27440
46e0f65b14a1
The XOR method is disabled in family_auth.c
Paul Aurich <paul@darkrain42.org>
parents:
27360
diff
changeset
|
774 * This authentication method is used for both ICQ and AIM when |
46e0f65b14a1
The XOR method is disabled in family_auth.c
Paul Aurich <paul@darkrain42.org>
parents:
27360
diff
changeset
|
775 * clientLogin is not enabled. |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
776 */ |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
777 if (purple_account_get_bool(account, "use_clientlogin", OSCAR_DEFAULT_USE_CLIENTLOGIN)) { |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
778 send_client_login(od, purple_account_get_username(account)); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
779 } else { |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
780 FlapConnection *newconn; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
781 const char *server; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
782 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
783 newconn = flap_connection_new(od, SNAC_FAMILY_AUTH); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
784 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
785 if (od->use_ssl) { |
31085
4297feb30ad1
Merged everything related to ICQ server changes.
ivan.komarov@soc.pidgin.im
parents:
31051
diff
changeset
|
786 server = purple_account_get_string(account, "server", get_login_server(od->icq, TRUE)); |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
787 |
25022
f6ef3a9534db
Shuffle a few comments around to make it look like I did something
Mark Doliner <mark@kingant.net>
parents:
25018
diff
changeset
|
788 /* |
f6ef3a9534db
Shuffle a few comments around to make it look like I did something
Mark Doliner <mark@kingant.net>
parents:
25018
diff
changeset
|
789 * If the account's server is what the oscar prpl has offered as |
25015
7f0321038c53
Implement a sane mechanism for switching an OSCAR account to SSL.
Paul Aurich <paul@darkrain42.org>
parents:
25014
diff
changeset
|
790 * the default login server through the vast eons (all two of |
7f0321038c53
Implement a sane mechanism for switching an OSCAR account to SSL.
Paul Aurich <paul@darkrain42.org>
parents:
25014
diff
changeset
|
791 * said default options, AFAIK) and the user wants SSL, we'll |
7f0321038c53
Implement a sane mechanism for switching an OSCAR account to SSL.
Paul Aurich <paul@darkrain42.org>
parents:
25014
diff
changeset
|
792 * do what we know is best for them and change the setting out |
7f0321038c53
Implement a sane mechanism for switching an OSCAR account to SSL.
Paul Aurich <paul@darkrain42.org>
parents:
25014
diff
changeset
|
793 * from under them to the SSL login server. |
24651
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
794 */ |
31402
04ffd3b52283
Properly handle an AIM login server of login.messaging.aol.com. Fixes #12948.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
31399
diff
changeset
|
795 if (!strcmp(server, get_login_server(od->icq, FALSE)) || !strcmp(server, AIM_ALT_LOGIN_SERVER)) { |
25015
7f0321038c53
Implement a sane mechanism for switching an OSCAR account to SSL.
Paul Aurich <paul@darkrain42.org>
parents:
25014
diff
changeset
|
796 purple_debug_info("oscar", "Account uses SSL, so changing server to default SSL server\n"); |
31085
4297feb30ad1
Merged everything related to ICQ server changes.
ivan.komarov@soc.pidgin.im
parents:
31051
diff
changeset
|
797 purple_account_set_string(account, "server", get_login_server(od->icq, TRUE)); |
4297feb30ad1
Merged everything related to ICQ server changes.
ivan.komarov@soc.pidgin.im
parents:
31051
diff
changeset
|
798 server = get_login_server(od->icq, TRUE); |
25015
7f0321038c53
Implement a sane mechanism for switching an OSCAR account to SSL.
Paul Aurich <paul@darkrain42.org>
parents:
25014
diff
changeset
|
799 } |
7f0321038c53
Implement a sane mechanism for switching an OSCAR account to SSL.
Paul Aurich <paul@darkrain42.org>
parents:
25014
diff
changeset
|
800 |
7f0321038c53
Implement a sane mechanism for switching an OSCAR account to SSL.
Paul Aurich <paul@darkrain42.org>
parents:
25014
diff
changeset
|
801 newconn->gsc = purple_ssl_connect(account, server, |
24651
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
802 purple_account_get_int(account, "port", OSCAR_DEFAULT_LOGIN_PORT), |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
803 ssl_connection_established_cb, ssl_connection_error_cb, newconn); |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
804 } else { |
31085
4297feb30ad1
Merged everything related to ICQ server changes.
ivan.komarov@soc.pidgin.im
parents:
31051
diff
changeset
|
805 server = purple_account_get_string(account, "server", get_login_server(od->icq, FALSE)); |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
806 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
807 /* |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
808 * See the comment above. We do the reverse here. If they don't want |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
809 * SSL but their server is set to OSCAR_DEFAULT_SSL_LOGIN_SERVER, |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
810 * set it back to the default. |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
811 */ |
31085
4297feb30ad1
Merged everything related to ICQ server changes.
ivan.komarov@soc.pidgin.im
parents:
31051
diff
changeset
|
812 if (!strcmp(server, get_login_server(od->icq, TRUE))) { |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
813 purple_debug_info("oscar", "Account does not use SSL, so changing server back to non-SSL\n"); |
31085
4297feb30ad1
Merged everything related to ICQ server changes.
ivan.komarov@soc.pidgin.im
parents:
31051
diff
changeset
|
814 purple_account_set_string(account, "server", get_login_server(od->icq, FALSE)); |
4297feb30ad1
Merged everything related to ICQ server changes.
ivan.komarov@soc.pidgin.im
parents:
31051
diff
changeset
|
815 server = get_login_server(od->icq, FALSE); |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
816 } |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
817 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
818 newconn->connect_data = purple_proxy_connect(NULL, account, server, |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
819 purple_account_get_int(account, "port", OSCAR_DEFAULT_LOGIN_PORT), |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
820 connection_established_cb, newconn); |
24651
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
821 } |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
822 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
823 if (newconn->gsc == NULL && newconn->connect_data == NULL) { |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
824 purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, |
27463
f541583e31bd
More uniformity among disconnect error messages
Mark Doliner <mark@kingant.net>
parents:
27459
diff
changeset
|
825 _("Unable to connect")); |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
826 return; |
25015
7f0321038c53
Implement a sane mechanism for switching an OSCAR account to SSL.
Paul Aurich <paul@darkrain42.org>
parents:
25014
diff
changeset
|
827 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
828 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
829 |
15823 | 830 purple_connection_update_progress(gc, _("Connecting"), 0, OSCAR_CONNECT_STEPS); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
831 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
832 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
833 void |
15823 | 834 oscar_close(PurpleConnection *gc) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
835 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
836 OscarData *od; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
837 |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
838 od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
839 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
840 while (od->oscar_chats) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
841 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
842 struct chat_connection *cc = od->oscar_chats->data; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
843 od->oscar_chats = g_slist_remove(od->oscar_chats, cc); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
844 oscar_chat_destroy(cc); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
845 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
846 while (od->create_rooms) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
847 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
848 struct create_room *cr = od->create_rooms->data; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
849 g_free(cr->name); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
850 od->create_rooms = g_slist_remove(od->create_rooms, cr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
851 g_free(cr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
852 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
853 oscar_data_destroy(od); |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
854 purple_connection_set_protocol_data(gc, NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
855 |
15823 | 856 purple_prefs_disconnect_by_handle(gc); |
857 | |
858 purple_debug_info("oscar", "Signed off.\n"); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
859 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
860 |
15823 | 861 /* XXX - Should use purple_util_fetch_url for the below stuff */ |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
862 struct pieceofcrap { |
15823 | 863 PurpleConnection *gc; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
864 unsigned long offset; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
865 unsigned long len; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
866 char *modname; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
867 int fd; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
868 FlapConnection *conn; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
869 unsigned int inpa; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
870 }; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
871 |
15823 | 872 static void damn_you(gpointer data, gint source, PurpleInputCondition c) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
873 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
874 struct pieceofcrap *pos = data; |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
875 OscarData *od = purple_connection_get_protocol_data(pos->gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
876 char in = '\0'; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
877 int x = 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
878 unsigned char m[17]; |
23777
62fda5f78f6a
Stu reckoned that having a new block to build the debug string is ugly;
Will Thompson <will.thompson@collabora.co.uk>
parents:
23776
diff
changeset
|
879 GString *msg; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
880 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
881 while (read(pos->fd, &in, 1) == 1) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
882 if (in == '\n') |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
883 x++; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
884 else if (in != '\r') |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
885 x = 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
886 if (x == 2) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
887 break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
888 in = '\0'; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
889 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
890 if (in != '\n') { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
891 char buf[256]; |
24847
5a435e953bc6
Don't mention TOC in this error message. I think this error is too
Mark Doliner <mark@kingant.net>
parents:
24642
diff
changeset
|
892 g_snprintf(buf, sizeof(buf), _("You may be disconnected shortly. " |
5a435e953bc6
Don't mention TOC in this error message. I think this error is too
Mark Doliner <mark@kingant.net>
parents:
24642
diff
changeset
|
893 "If so, check %s for updates."), |
27504
4f24d5da4cb3
Create a oscar_get_ui_info_string() function that looks up a value in the
Mark Doliner <mark@kingant.net>
parents:
27475
diff
changeset
|
894 oscar_get_ui_info_string("website", PURPLE_WEBSITE)); |
15823 | 895 purple_notify_warning(pos->gc, NULL, |
15383
21bc8d84974f
I think this changes every user-visible string that contains 'Gaim.' We probably want the UI to be able
Sean Egan <seanegan@gmail.com>
parents:
15374
diff
changeset
|
896 _("Unable to get a valid AIM login hash."), |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
897 buf); |
15823 | 898 purple_input_remove(pos->inpa); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
899 close(pos->fd); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
900 g_free(pos); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
901 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
902 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
903 if (read(pos->fd, m, 16) != 16) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
904 { |
15823 | 905 purple_debug_warning("oscar", "Could not read full AIM login hash " |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
906 "from " AIMHASHDATA "--that's bad.\n"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
907 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
908 m[16] = '\0'; |
23777
62fda5f78f6a
Stu reckoned that having a new block to build the debug string is ugly;
Will Thompson <will.thompson@collabora.co.uk>
parents:
23776
diff
changeset
|
909 |
62fda5f78f6a
Stu reckoned that having a new block to build the debug string is ugly;
Will Thompson <will.thompson@collabora.co.uk>
parents:
23776
diff
changeset
|
910 msg = g_string_new("Sending hash: "); |
62fda5f78f6a
Stu reckoned that having a new block to build the debug string is ugly;
Will Thompson <will.thompson@collabora.co.uk>
parents:
23776
diff
changeset
|
911 for (x = 0; x < 16; x++) |
62fda5f78f6a
Stu reckoned that having a new block to build the debug string is ugly;
Will Thompson <will.thompson@collabora.co.uk>
parents:
23776
diff
changeset
|
912 g_string_append_printf(msg, "%02hhx ", (unsigned char)m[x]); |
62fda5f78f6a
Stu reckoned that having a new block to build the debug string is ugly;
Will Thompson <will.thompson@collabora.co.uk>
parents:
23776
diff
changeset
|
913 g_string_append(msg, "\n"); |
24398
0320b4a33432
Backport the 'purple_debug_*(msg)' -> 'purple_debug_*("%s", msg);' fixes.
Richard Laager <rlaager@wiktel.com>
parents:
24393
diff
changeset
|
914 purple_debug_misc("oscar", "%s", msg->str); |
23777
62fda5f78f6a
Stu reckoned that having a new block to build the debug string is ugly;
Will Thompson <will.thompson@collabora.co.uk>
parents:
23776
diff
changeset
|
915 g_string_free(msg, TRUE); |
62fda5f78f6a
Stu reckoned that having a new block to build the debug string is ugly;
Will Thompson <will.thompson@collabora.co.uk>
parents:
23776
diff
changeset
|
916 |
15823 | 917 purple_input_remove(pos->inpa); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
918 close(pos->fd); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
919 aim_sendmemblock(od, pos->conn, 0, 16, m, AIM_SENDMEMBLOCK_FLAG_ISHASH); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
920 g_free(pos); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
921 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
922 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
923 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
924 straight_to_hell(gpointer data, gint source, const gchar *error_message) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
925 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
926 struct pieceofcrap *pos = data; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
927 gchar *buf; |
22551
c65c96e231b5
Printf warning fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
22475
diff
changeset
|
928 gssize result; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
929 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
930 pos->fd = source; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
931 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
932 if (source < 0) { |
22105
32992e2526e4
More of ticket #1344 from o_sukhodolsky, which rlaager has been
Mark Doliner <mark@kingant.net>
parents:
22063
diff
changeset
|
933 buf = g_strdup_printf(_("You may be disconnected shortly. " |
27459
714f9352e844
Change these two strings to match another one. total_number_of_strings--
Mark Doliner <mark@kingant.net>
parents:
27440
diff
changeset
|
934 "If so, check %s for updates."), |
27504
4f24d5da4cb3
Create a oscar_get_ui_info_string() function that looks up a value in the
Mark Doliner <mark@kingant.net>
parents:
27475
diff
changeset
|
935 oscar_get_ui_info_string("website", PURPLE_WEBSITE)); |
15823 | 936 purple_notify_warning(pos->gc, NULL, |
15383
21bc8d84974f
I think this changes every user-visible string that contains 'Gaim.' We probably want the UI to be able
Sean Egan <seanegan@gmail.com>
parents:
15374
diff
changeset
|
937 _("Unable to get a valid AIM login hash."), |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
938 buf); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
939 g_free(buf); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
940 g_free(pos->modname); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
941 g_free(pos); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
942 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
943 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
944 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
945 buf = g_strdup_printf("GET " AIMHASHDATA "?offset=%ld&len=%ld&modname=%s HTTP/1.0\n\n", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
946 pos->offset, pos->len, pos->modname ? pos->modname : ""); |
22105
32992e2526e4
More of ticket #1344 from o_sukhodolsky, which rlaager has been
Mark Doliner <mark@kingant.net>
parents:
22063
diff
changeset
|
947 result = send(pos->fd, buf, strlen(buf), 0); |
32992e2526e4
More of ticket #1344 from o_sukhodolsky, which rlaager has been
Mark Doliner <mark@kingant.net>
parents:
22063
diff
changeset
|
948 if (result != strlen(buf)) { |
32992e2526e4
More of ticket #1344 from o_sukhodolsky, which rlaager has been
Mark Doliner <mark@kingant.net>
parents:
22063
diff
changeset
|
949 if (result < 0) |
32992e2526e4
More of ticket #1344 from o_sukhodolsky, which rlaager has been
Mark Doliner <mark@kingant.net>
parents:
22063
diff
changeset
|
950 purple_debug_error("oscar", "Error writing %" G_GSIZE_FORMAT |
32992e2526e4
More of ticket #1344 from o_sukhodolsky, which rlaager has been
Mark Doliner <mark@kingant.net>
parents:
22063
diff
changeset
|
951 " bytes to fetch AIM hash data: %s\n", |
22106
06c58cffd4c4
I forgot that we're supposed to be using g_strerror() to guarantee a
Mark Doliner <mark@kingant.net>
parents:
22105
diff
changeset
|
952 strlen(buf), g_strerror(errno)); |
22105
32992e2526e4
More of ticket #1344 from o_sukhodolsky, which rlaager has been
Mark Doliner <mark@kingant.net>
parents:
22063
diff
changeset
|
953 else |
32992e2526e4
More of ticket #1344 from o_sukhodolsky, which rlaager has been
Mark Doliner <mark@kingant.net>
parents:
22063
diff
changeset
|
954 purple_debug_error("oscar", "Tried to write %" |
32992e2526e4
More of ticket #1344 from o_sukhodolsky, which rlaager has been
Mark Doliner <mark@kingant.net>
parents:
22063
diff
changeset
|
955 G_GSIZE_FORMAT " bytes to fetch AIM hash data but " |
22551
c65c96e231b5
Printf warning fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
22475
diff
changeset
|
956 "instead wrote %" G_GSSIZE_FORMAT " bytes\n", |
22105
32992e2526e4
More of ticket #1344 from o_sukhodolsky, which rlaager has been
Mark Doliner <mark@kingant.net>
parents:
22063
diff
changeset
|
957 strlen(buf), result); |
32992e2526e4
More of ticket #1344 from o_sukhodolsky, which rlaager has been
Mark Doliner <mark@kingant.net>
parents:
22063
diff
changeset
|
958 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
959 g_free(buf); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
960 g_free(pos->modname); |
15823 | 961 pos->inpa = purple_input_add(pos->fd, PURPLE_INPUT_READ, damn_you, pos); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
962 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
963 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
964 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
965 /* size of icbmui.ocm, the largest module in AIM 3.5 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
966 #define AIM_MAX_FILE_SIZE 98304 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
967 |
27225
454d46e9cbb7
Make a function static and add two comments
Mark Doliner <mark@kingant.net>
parents:
27219
diff
changeset
|
968 static int purple_memrequest(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) |
454d46e9cbb7
Make a function static and add two comments
Mark Doliner <mark@kingant.net>
parents:
27219
diff
changeset
|
969 { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
970 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
971 struct pieceofcrap *pos; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
972 guint32 offset, len; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
973 char *modname; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
974 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
975 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
976 offset = va_arg(ap, guint32); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
977 len = va_arg(ap, guint32); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
978 modname = va_arg(ap, char *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
979 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
980 |
15823 | 981 purple_debug_misc("oscar", "offset: %u, len: %u, file: %s\n", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
982 offset, len, (modname ? modname : "aim.exe")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
983 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
984 if (len == 0) { |
15823 | 985 purple_debug_misc("oscar", "len is 0, hashing NULL\n"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
986 aim_sendmemblock(od, conn, offset, len, NULL, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
987 AIM_SENDMEMBLOCK_FLAG_ISREQUEST); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
988 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
989 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
990 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
991 pos = g_new0(struct pieceofcrap, 1); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
992 pos->gc = od->gc; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
993 pos->conn = conn; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
994 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
995 pos->offset = offset; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
996 pos->len = len; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
997 pos->modname = g_strdup(modname); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
998 |
27200
a9899d234dfa
Pass the handle in here, which causes the connection attempt to be
Mark Doliner <mark@kingant.net>
parents:
27180
diff
changeset
|
999 if (purple_proxy_connect(pos->gc, pos->gc->account, "pidgin.im", 80, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1000 straight_to_hell, pos) == NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1001 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1002 char buf[256]; |
17673
3d035cdd103b
Add some notes about why Yahoo! web messenger login doesn't work
Mark Doliner <mark@kingant.net>
parents:
17446
diff
changeset
|
1003 g_free(pos->modname); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1004 g_free(pos); |
23404
c6b29adc22d1
Added "website" and "dev_website" items to the ui_info GHashTable,
Evan Schoenberg <evan.s@dreskin.net>
parents:
23401
diff
changeset
|
1005 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1006 g_snprintf(buf, sizeof(buf), _("You may be disconnected shortly. " |
27459
714f9352e844
Change these two strings to match another one. total_number_of_strings--
Mark Doliner <mark@kingant.net>
parents:
27440
diff
changeset
|
1007 "If so, check %s for updates."), |
27504
4f24d5da4cb3
Create a oscar_get_ui_info_string() function that looks up a value in the
Mark Doliner <mark@kingant.net>
parents:
27475
diff
changeset
|
1008 oscar_get_ui_info_string("website", PURPLE_WEBSITE)); |
15823 | 1009 purple_notify_warning(pos->gc, NULL, |
15383
21bc8d84974f
I think this changes every user-visible string that contains 'Gaim.' We probably want the UI to be able
Sean Egan <seanegan@gmail.com>
parents:
15374
diff
changeset
|
1010 _("Unable to get a valid login hash."), |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1011 buf); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1012 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1013 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1014 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1015 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1016 |
28884
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1017 int oscar_connect_to_bos(PurpleConnection *gc, OscarData *od, const char *host, guint16 port, guint8 *cookie, guint16 cookielen, const char *tls_certname) |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1018 { |
28884
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1019 PurpleAccount *account; |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1020 FlapConnection *conn; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1021 |
28884
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1022 account = purple_connection_get_account(gc); |
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1023 |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1024 conn = flap_connection_new(od, SNAC_FAMILY_LOCATE); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1025 conn->cookielen = cookielen; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1026 conn->cookie = g_memdup(cookie, cookielen); |
28884
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1027 |
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1028 /* |
31534
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
31488
diff
changeset
|
1029 * Use TLS only if the server provided us with a tls_certname. The server might not specify a tls_certname even if we requested to use TLS, |
31085
4297feb30ad1
Merged everything related to ICQ server changes.
ivan.komarov@soc.pidgin.im
parents:
31051
diff
changeset
|
1030 * and that is something we should be prepared to. |
28884
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1031 */ |
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1032 if (tls_certname) |
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1033 { |
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1034 conn->gsc = purple_ssl_connect_with_ssl_cn(account, host, port, |
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1035 ssl_connection_established_cb, ssl_connection_error_cb, |
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1036 tls_certname, conn); |
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1037 } |
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1038 else |
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1039 { |
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1040 conn->connect_data = purple_proxy_connect(NULL, |
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1041 account, host, port, |
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1042 connection_established_cb, conn); |
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1043 } |
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1044 |
17617d892bc4
oscar: Properly support TLS when using clientLogin.
Paul Aurich <paul@darkrain42.org>
parents:
28881
diff
changeset
|
1045 if (conn->gsc == NULL && conn->connect_data == NULL) |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1046 { |
27463
f541583e31bd
More uniformity among disconnect error messages
Mark Doliner <mark@kingant.net>
parents:
27459
diff
changeset
|
1047 purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, _("Unable to connect")); |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1048 return 0; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1049 } |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1050 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1051 od->default_port = port; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1052 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1053 purple_connection_update_progress(gc, _("Received authorization"), 3, OSCAR_CONNECT_STEPS); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1054 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1055 return 1; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1056 } |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1057 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1058 /** |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1059 * Only used when connecting with the old-style BUCP login. |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1060 */ |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1061 static int |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1062 purple_parse_auth_resp(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1063 { |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1064 PurpleConnection *gc = od->gc; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1065 PurpleAccount *account = purple_connection_get_account(gc); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1066 char *host; int port; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1067 int i; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1068 FlapConnection *newconn; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1069 va_list ap; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1070 struct aim_authresp_info *info; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1071 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1072 port = purple_account_get_int(account, "port", od->default_port); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1073 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1074 va_start(ap, fr); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1075 info = va_arg(ap, struct aim_authresp_info *); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1076 va_end(ap); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1077 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1078 purple_debug_info("oscar", |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1079 "inside auth_resp (Username: %s)\n", info->bn); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1080 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1081 if (info->errorcode || !info->bosip || !info->cookielen || !info->cookie) { |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1082 char buf[256]; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1083 switch (info->errorcode) { |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1084 case 0x01: |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1085 /* Unregistered username */ |
27360
979031db48c1
Slightly better error messages
Mark Doliner <mark@kingant.net>
parents:
27319
diff
changeset
|
1086 purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_INVALID_USERNAME, _("Username does not exist")); |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1087 break; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1088 case 0x05: |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1089 /* Incorrect password */ |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1090 if (!purple_account_get_remember_password(account)) |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1091 purple_account_set_password(account, NULL); |
27463
f541583e31bd
More uniformity among disconnect error messages
Mark Doliner <mark@kingant.net>
parents:
27459
diff
changeset
|
1092 purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED, _("Incorrect password")); |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1093 break; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1094 case 0x11: |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1095 /* Suspended account */ |
27463
f541583e31bd
More uniformity among disconnect error messages
Mark Doliner <mark@kingant.net>
parents:
27459
diff
changeset
|
1096 purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED, _("Your account is currently suspended")); |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1097 break; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1098 case 0x02: |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1099 case 0x14: |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1100 /* service temporarily unavailable */ |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1101 purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, _("The AOL Instant Messenger service is temporarily unavailable.")); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1102 break; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1103 case 0x18: |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1104 /* username connecting too frequently */ |
28861
807c73d10f7e
oscar: Differentiate the two rate-limiting login errors.
aman@tmm1.net
parents:
28860
diff
changeset
|
1105 purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_OTHER_ERROR, _("Your username has been connecting and disconnecting too frequently. Wait ten minutes and try again. If you continue to try, you will need to wait even longer.")); |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1106 break; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1107 case 0x1c: |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1108 { |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1109 /* client too old */ |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1110 g_snprintf(buf, sizeof(buf), _("The client version you are using is too old. Please upgrade at %s"), |
27504
4f24d5da4cb3
Create a oscar_get_ui_info_string() function that looks up a value in the
Mark Doliner <mark@kingant.net>
parents:
27475
diff
changeset
|
1111 oscar_get_ui_info_string("website", PURPLE_WEBSITE)); |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1112 purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_OTHER_ERROR, buf); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1113 break; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1114 } |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1115 case 0x1d: |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1116 /* IP address connecting too frequently */ |
28861
807c73d10f7e
oscar: Differentiate the two rate-limiting login errors.
aman@tmm1.net
parents:
28860
diff
changeset
|
1117 purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_OTHER_ERROR, _("Your IP address has been connecting and disconnecting too frequently. Wait a minute and try again. If you continue to try, you will need to wait even longer.")); |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1118 break; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1119 default: |
27360
979031db48c1
Slightly better error messages
Mark Doliner <mark@kingant.net>
parents:
27319
diff
changeset
|
1120 purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED, _("Unknown reason")); |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1121 break; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1122 } |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1123 purple_debug_info("oscar", "Login Error Code 0x%04hx\n", info->errorcode); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1124 purple_debug_info("oscar", "Error URL: %s\n", info->errorurl ? info->errorurl : ""); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1125 return 1; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1126 } |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1127 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1128 purple_debug_misc("oscar", "Reg status: %hu\n" |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1129 "Email: %s\n" |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1130 "BOSIP: %s\n", |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1131 info->regstatus, |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1132 info->email ? info->email : "null", |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1133 info->bosip ? info->bosip : "null"); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1134 purple_debug_info("oscar", "Closing auth connection...\n"); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1135 flap_connection_schedule_destroy(conn, OSCAR_DISCONNECT_DONE, NULL); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1136 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1137 for (i = 0; i < strlen(info->bosip); i++) { |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1138 if (info->bosip[i] == ':') { |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1139 port = atoi(&(info->bosip[i+1])); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1140 break; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1141 } |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1142 } |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1143 host = g_strndup(info->bosip, i); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1144 newconn = flap_connection_new(od, SNAC_FAMILY_LOCATE); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1145 newconn->cookielen = info->cookielen; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1146 newconn->cookie = g_memdup(info->cookie, info->cookielen); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1147 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1148 if (od->use_ssl) |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1149 { |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1150 /* |
27631
bff61dad9a6b
Add purple_ssl_connect_with_ssl_cn, which takes a host to connect to
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
1151 * This shouldn't be hardcoded to "bos.oscar.aol.com" except that |
bff61dad9a6b
Add purple_ssl_connect_with_ssl_cn, which takes a host to connect to
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
1152 * the server isn't sending us a name to use for comparing the |
bff61dad9a6b
Add purple_ssl_connect_with_ssl_cn, which takes a host to connect to
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
1153 * certificate common name. |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1154 */ |
27631
bff61dad9a6b
Add purple_ssl_connect_with_ssl_cn, which takes a host to connect to
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
1155 newconn->gsc = purple_ssl_connect_with_ssl_cn(account, host, port, |
bff61dad9a6b
Add purple_ssl_connect_with_ssl_cn, which takes a host to connect to
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
1156 ssl_connection_established_cb, ssl_connection_error_cb, |
bff61dad9a6b
Add purple_ssl_connect_with_ssl_cn, which takes a host to connect to
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
1157 "bos.oscar.aol.com", newconn); |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1158 } |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1159 else |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1160 { |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1161 newconn->connect_data = purple_proxy_connect(NULL, account, host, port, |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1162 connection_established_cb, newconn); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1163 } |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1164 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1165 g_free(host); |
27631
bff61dad9a6b
Add purple_ssl_connect_with_ssl_cn, which takes a host to connect to
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
1166 if (newconn->gsc == NULL && newconn->connect_data == NULL) |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1167 { |
27463
f541583e31bd
More uniformity among disconnect error messages
Mark Doliner <mark@kingant.net>
parents:
27459
diff
changeset
|
1168 purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, _("Unable to connect")); |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1169 return 0; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1170 } |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1171 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1172 purple_connection_update_progress(gc, _("Received authorization"), 3, OSCAR_CONNECT_STEPS); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1173 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1174 return 1; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1175 } |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1176 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1177 /** |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1178 * Only used when connecting with the old-style BUCP login. |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1179 */ |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1180 static void |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1181 purple_parse_auth_securid_request_yes_cb(gpointer user_data, const char *msg) |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1182 { |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1183 PurpleConnection *gc = user_data; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1184 OscarData *od = purple_connection_get_protocol_data(gc); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1185 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1186 aim_auth_securid_send(od, msg); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1187 } |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1188 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1189 /** |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1190 * Only used when connecting with the old-style BUCP login. |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1191 */ |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1192 static void |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1193 purple_parse_auth_securid_request_no_cb(gpointer user_data, const char *value) |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1194 { |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1195 PurpleConnection *gc = user_data; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1196 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1197 /* Disconnect */ |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1198 purple_connection_error_reason(gc, |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1199 PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED, |
27463
f541583e31bd
More uniformity among disconnect error messages
Mark Doliner <mark@kingant.net>
parents:
27459
diff
changeset
|
1200 _("The SecurID key entered is invalid")); |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1201 } |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1202 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1203 /** |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1204 * Only used when connecting with the old-style BUCP login. |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1205 */ |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1206 static int |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1207 purple_parse_auth_securid_request(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1208 { |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1209 PurpleConnection *gc = od->gc; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1210 PurpleAccount *account = purple_connection_get_account(gc); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1211 gchar *primary; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1212 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1213 purple_debug_info("oscar", "Got SecurID request\n"); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1214 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1215 primary = g_strdup_printf("Enter the SecurID key for %s.", purple_account_get_username(account)); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1216 purple_request_input(gc, NULL, _("Enter SecurID"), primary, |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1217 _("Enter the 6 digit number from the digital display."), |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1218 FALSE, FALSE, NULL, |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1219 _("_OK"), G_CALLBACK(purple_parse_auth_securid_request_yes_cb), |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1220 _("_Cancel"), G_CALLBACK(purple_parse_auth_securid_request_no_cb), |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1221 account, NULL, NULL, |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1222 gc); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1223 g_free(primary); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1224 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1225 return 1; |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1226 } |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1227 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1228 /** |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1229 * Only used when connecting with the old-style BUCP login. |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1230 */ |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1231 static int |
15823 | 1232 purple_parse_login(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1233 { |
15823 | 1234 PurpleConnection *gc; |
1235 PurpleAccount *account; | |
20629
77fda34d4289
A patch from Collin from ComBOTS, I guess. This fixes setting your
Mark Doliner <mark@kingant.net>
parents:
20582
diff
changeset
|
1236 ClientInfo aiminfo = CLIENTINFO_PURPLE_AIM; |
77fda34d4289
A patch from Collin from ComBOTS, I guess. This fixes setting your
Mark Doliner <mark@kingant.net>
parents:
20582
diff
changeset
|
1237 ClientInfo icqinfo = CLIENTINFO_PURPLE_ICQ; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1238 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1239 char *key; |
17236
c72295a65f7a
Fix signing on to AIM with an AOL screen name with a password of more
Mark Doliner <mark@kingant.net>
parents:
17170
diff
changeset
|
1240 gboolean truncate_pass; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1241 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1242 gc = od->gc; |
15823 | 1243 account = purple_connection_get_account(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1244 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1245 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1246 key = va_arg(ap, char *); |
17236
c72295a65f7a
Fix signing on to AIM with an AOL screen name with a password of more
Mark Doliner <mark@kingant.net>
parents:
17170
diff
changeset
|
1247 truncate_pass = va_arg(ap, int); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1248 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1249 |
15823 | 1250 aim_send_login(od, conn, purple_account_get_username(account), |
17236
c72295a65f7a
Fix signing on to AIM with an AOL screen name with a password of more
Mark Doliner <mark@kingant.net>
parents:
17170
diff
changeset
|
1251 purple_connection_get_password(gc), truncate_pass, |
23313
f1a0258b44f4
Added paramater to aim_send_login() to allow control over whether we want
Evan Schoenberg <evan.s@dreskin.net>
parents:
23272
diff
changeset
|
1252 od->icq ? &icqinfo : &aiminfo, key, |
23961
32bab3989963
Clean up some debugging to avoid potential NULL string printf.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23866
diff
changeset
|
1253 purple_account_get_bool(account, "allow_multiple_logins", OSCAR_DEFAULT_ALLOW_MULTIPLE_LOGINS)); |
15823 | 1254 |
1255 purple_connection_update_progress(gc, _("Password sent"), 2, OSCAR_CONNECT_STEPS); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1256 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1257 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1258 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1259 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1260 static int |
15823 | 1261 purple_handle_redirect(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1262 { |
15823 | 1263 PurpleConnection *gc = od->gc; |
1264 PurpleAccount *account = purple_connection_get_account(gc); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1265 char *host, *separator; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1266 int port; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1267 FlapConnection *newconn; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1268 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1269 struct aim_redirect_data *redir; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1270 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1271 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1272 redir = va_arg(ap, struct aim_redirect_data *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1273 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1274 |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
1275 port = od->default_port; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1276 separator = strchr(redir->ip, ':'); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1277 if (separator != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1278 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1279 host = g_strndup(redir->ip, separator - redir->ip); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1280 port = atoi(separator + 1); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1281 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1282 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1283 host = g_strdup(redir->ip); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1284 |
31341
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
1285 if (!redir->use_ssl) { |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
1286 const gchar *encryption_type = purple_account_get_string(account, "encryption", OSCAR_DEFAULT_ENCRYPTION); |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
1287 if (strcmp(encryption_type, OSCAR_OPPORTUNISTIC_ENCRYPTION) == 0) { |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
1288 purple_debug_warning("oscar", "We won't use SSL for FLAP type 0x%04hx.\n", redir->group); |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
1289 } else if (strcmp(encryption_type, OSCAR_REQUIRE_ENCRYPTION) == 0) { |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
1290 purple_debug_error("oscar", "FLAP server %s:%d of type 0x%04hx doesn't support encryption.", host, port, redir->group); |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
1291 purple_connection_error_reason( |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
1292 gc, |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
1293 PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT, |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
1294 _("You required encryption in your account settings, but one of the servers doesn't support it.")); |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
1295 return 0; |
31534
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
31488
diff
changeset
|
1296 } |
31341
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
1297 } |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
1298 |
24652
d3f47707e260
Part 2 of the continuing effort to get OSCAR over SSL working.
Paul Aurich <paul@darkrain42.org>
parents:
24651
diff
changeset
|
1299 /* |
d3f47707e260
Part 2 of the continuing effort to get OSCAR over SSL working.
Paul Aurich <paul@darkrain42.org>
parents:
24651
diff
changeset
|
1300 * These FLAP servers advertise SSL (type "0x02"), but SSL connections to these hosts |
d3f47707e260
Part 2 of the continuing effort to get OSCAR over SSL working.
Paul Aurich <paul@darkrain42.org>
parents:
24651
diff
changeset
|
1301 * die a painful death. iChat and Miranda, when using SSL, still do these in plaintext. |
d3f47707e260
Part 2 of the continuing effort to get OSCAR over SSL working.
Paul Aurich <paul@darkrain42.org>
parents:
24651
diff
changeset
|
1302 */ |
d3f47707e260
Part 2 of the continuing effort to get OSCAR over SSL working.
Paul Aurich <paul@darkrain42.org>
parents:
24651
diff
changeset
|
1303 if (redir->use_ssl && (redir->group == SNAC_FAMILY_ADMIN || |
d3f47707e260
Part 2 of the continuing effort to get OSCAR over SSL working.
Paul Aurich <paul@darkrain42.org>
parents:
24651
diff
changeset
|
1304 redir->group == SNAC_FAMILY_BART)) |
d3f47707e260
Part 2 of the continuing effort to get OSCAR over SSL working.
Paul Aurich <paul@darkrain42.org>
parents:
24651
diff
changeset
|
1305 { |
31341
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
1306 purple_debug_info("oscar", "Ignoring broken SSL for FLAP type 0x%04hx.\n", redir->group); |
24652
d3f47707e260
Part 2 of the continuing effort to get OSCAR over SSL working.
Paul Aurich <paul@darkrain42.org>
parents:
24651
diff
changeset
|
1307 redir->use_ssl = 0; |
d3f47707e260
Part 2 of the continuing effort to get OSCAR over SSL working.
Paul Aurich <paul@darkrain42.org>
parents:
24651
diff
changeset
|
1308 } |
d3f47707e260
Part 2 of the continuing effort to get OSCAR over SSL working.
Paul Aurich <paul@darkrain42.org>
parents:
24651
diff
changeset
|
1309 |
31341
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
1310 purple_debug_info("oscar", "Connecting to FLAP server %s:%d of type 0x%04hx\n", host, port, redir->group); |
24652
d3f47707e260
Part 2 of the continuing effort to get OSCAR over SSL working.
Paul Aurich <paul@darkrain42.org>
parents:
24651
diff
changeset
|
1311 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1312 newconn = flap_connection_new(od, redir->group); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1313 newconn->cookielen = redir->cookielen; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1314 newconn->cookie = g_memdup(redir->cookie, redir->cookielen); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1315 if (newconn->type == SNAC_FAMILY_CHAT) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1316 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1317 struct chat_connection *cc; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1318 cc = g_new0(struct chat_connection, 1); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1319 cc->conn = newconn; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1320 cc->gc = gc; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1321 cc->name = g_strdup(redir->chat.room); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1322 cc->exchange = redir->chat.exchange; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1323 cc->instance = redir->chat.instance; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1324 cc->show = extract_name(redir->chat.room); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1325 newconn->new_conn_data = cc; |
15823 | 1326 purple_debug_info("oscar", "Connecting to chat room %s exchange %hu\n", cc->name, cc->exchange); |
1327 } | |
1328 | |
24652
d3f47707e260
Part 2 of the continuing effort to get OSCAR over SSL working.
Paul Aurich <paul@darkrain42.org>
parents:
24651
diff
changeset
|
1329 |
d3f47707e260
Part 2 of the continuing effort to get OSCAR over SSL working.
Paul Aurich <paul@darkrain42.org>
parents:
24651
diff
changeset
|
1330 if (redir->use_ssl) |
24651
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
1331 { |
27631
bff61dad9a6b
Add purple_ssl_connect_with_ssl_cn, which takes a host to connect to
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
1332 newconn->gsc = purple_ssl_connect_with_ssl_cn(account, host, port, |
bff61dad9a6b
Add purple_ssl_connect_with_ssl_cn, which takes a host to connect to
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
1333 ssl_connection_established_cb, ssl_connection_error_cb, |
bff61dad9a6b
Add purple_ssl_connect_with_ssl_cn, which takes a host to connect to
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
1334 redir->ssl_cert_cn, newconn); |
24651
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
1335 } |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
1336 else |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
1337 { |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
1338 newconn->connect_data = purple_proxy_connect(NULL, account, host, port, |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
1339 connection_established_cb, newconn); |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
1340 } |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
1341 |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
1342 if (newconn->gsc == NULL && newconn->connect_data == NULL) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1343 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1344 flap_connection_schedule_destroy(newconn, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1345 OSCAR_DISCONNECT_COULD_NOT_CONNECT, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1346 _("Unable to initialize connection")); |
15823 | 1347 purple_debug_error("oscar", "Unable to connect to FLAP server " |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1348 "of type 0x%04hx\n", redir->group); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1349 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1350 g_free(host); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1351 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1352 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1353 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1354 |
23621
a73d527731ff
To decrease the odds of hitting the rate limit ceiling rapidly on a
Evan Schoenberg <evan.s@dreskin.net>
parents:
23438
diff
changeset
|
1355 |
15823 | 1356 static int purple_parse_oncoming(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1357 { |
15823 | 1358 PurpleConnection *gc; |
1359 PurpleAccount *account; | |
31086
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
1360 PurpleBuddy *buddy = NULL; |
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
1361 PurpleStatus *previous_status = NULL; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1362 struct buddyinfo *bi; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1363 time_t time_idle = 0, signon = 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1364 int type = 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1365 gboolean buddy_is_away = FALSE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1366 const char *status_id; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1367 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1368 aim_userinfo_t *info; |
31427
873cd5e068c4
I tested with AIM 7.2.6.1 and ICQ 7.2 build 3159 and both of them
Mark Doliner <mark@kingant.net>
parents:
31402
diff
changeset
|
1369 char *message; |
25028
2c80f3d839c7
Patch to fix retrieval of ICQ status messages from users of ICQ 6.x, Miranda,
Daniel Lj <dimmuxx@yahoo.se>
parents:
25024
diff
changeset
|
1370 char *itmsurl = NULL; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1371 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1372 gc = od->gc; |
15823 | 1373 account = purple_connection_get_account(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1374 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1375 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1376 info = va_arg(ap, aim_userinfo_t *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1377 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1378 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1379 g_return_val_if_fail(info != NULL, 1); |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1380 g_return_val_if_fail(info->bn != NULL, 1); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1381 |
31086
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
1382 buddy = purple_find_buddy(account, info->bn); |
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
1383 if (buddy) { |
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
1384 previous_status = purple_presence_get_active_status(purple_buddy_get_presence(buddy)); |
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
1385 } |
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
1386 |
28345
de7bbdcb695b
Stop attempting to fetch oscar buddy info automatically for people on our
Mark Doliner <mark@kingant.net>
parents:
27631
diff
changeset
|
1387 /* |
de7bbdcb695b
Stop attempting to fetch oscar buddy info automatically for people on our
Mark Doliner <mark@kingant.net>
parents:
27631
diff
changeset
|
1388 * If this is an AIM buddy and their name has formatting, set their |
de7bbdcb695b
Stop attempting to fetch oscar buddy info automatically for people on our
Mark Doliner <mark@kingant.net>
parents:
27631
diff
changeset
|
1389 * server alias. |
de7bbdcb695b
Stop attempting to fetch oscar buddy info automatically for people on our
Mark Doliner <mark@kingant.net>
parents:
27631
diff
changeset
|
1390 */ |
de7bbdcb695b
Stop attempting to fetch oscar buddy info automatically for people on our
Mark Doliner <mark@kingant.net>
parents:
27631
diff
changeset
|
1391 if (!oscar_util_valid_name_icq(info->bn)) { |
de7bbdcb695b
Stop attempting to fetch oscar buddy info automatically for people on our
Mark Doliner <mark@kingant.net>
parents:
27631
diff
changeset
|
1392 gboolean bn_has_formatting = FALSE; |
de7bbdcb695b
Stop attempting to fetch oscar buddy info automatically for people on our
Mark Doliner <mark@kingant.net>
parents:
27631
diff
changeset
|
1393 char *c; |
de7bbdcb695b
Stop attempting to fetch oscar buddy info automatically for people on our
Mark Doliner <mark@kingant.net>
parents:
27631
diff
changeset
|
1394 for (c = info->bn; *c != '\0'; c++) { |
de7bbdcb695b
Stop attempting to fetch oscar buddy info automatically for people on our
Mark Doliner <mark@kingant.net>
parents:
27631
diff
changeset
|
1395 if (!islower(*c)) { |
de7bbdcb695b
Stop attempting to fetch oscar buddy info automatically for people on our
Mark Doliner <mark@kingant.net>
parents:
27631
diff
changeset
|
1396 bn_has_formatting = TRUE; |
de7bbdcb695b
Stop attempting to fetch oscar buddy info automatically for people on our
Mark Doliner <mark@kingant.net>
parents:
27631
diff
changeset
|
1397 break; |
de7bbdcb695b
Stop attempting to fetch oscar buddy info automatically for people on our
Mark Doliner <mark@kingant.net>
parents:
27631
diff
changeset
|
1398 } |
de7bbdcb695b
Stop attempting to fetch oscar buddy info automatically for people on our
Mark Doliner <mark@kingant.net>
parents:
27631
diff
changeset
|
1399 } |
de7bbdcb695b
Stop attempting to fetch oscar buddy info automatically for people on our
Mark Doliner <mark@kingant.net>
parents:
27631
diff
changeset
|
1400 serv_got_alias(gc, info->bn, |
de7bbdcb695b
Stop attempting to fetch oscar buddy info automatically for people on our
Mark Doliner <mark@kingant.net>
parents:
27631
diff
changeset
|
1401 bn_has_formatting ? info->bn : NULL); |
de7bbdcb695b
Stop attempting to fetch oscar buddy info automatically for people on our
Mark Doliner <mark@kingant.net>
parents:
27631
diff
changeset
|
1402 } |
de7bbdcb695b
Stop attempting to fetch oscar buddy info automatically for people on our
Mark Doliner <mark@kingant.net>
parents:
27631
diff
changeset
|
1403 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1404 if (info->present & AIM_USERINFO_PRESENT_FLAGS) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1405 if (info->flags & AIM_FLAG_AWAY) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1406 buddy_is_away = TRUE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1407 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1408 if (info->present & AIM_USERINFO_PRESENT_ICQEXTSTATUS) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1409 type = info->icqinfo.status; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1410 if (!(info->icqinfo.status & AIM_ICQ_STATE_CHAT) && |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1411 (info->icqinfo.status != AIM_ICQ_STATE_NORMAL)) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1412 buddy_is_away = TRUE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1413 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1414 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1415 |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1416 if (oscar_util_valid_name_icq(info->bn)) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1417 if (type & AIM_ICQ_STATE_CHAT) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1418 status_id = OSCAR_STATUS_ID_FREE4CHAT; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1419 else if (type & AIM_ICQ_STATE_DND) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1420 status_id = OSCAR_STATUS_ID_DND; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1421 else if (type & AIM_ICQ_STATE_OUT) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1422 status_id = OSCAR_STATUS_ID_NA; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1423 else if (type & AIM_ICQ_STATE_BUSY) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1424 status_id = OSCAR_STATUS_ID_OCCUPIED; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1425 else if (type & AIM_ICQ_STATE_AWAY) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1426 status_id = OSCAR_STATUS_ID_AWAY; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1427 else if (type & AIM_ICQ_STATE_INVISIBLE) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1428 status_id = OSCAR_STATUS_ID_INVISIBLE; |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
1429 else if (type & AIM_ICQ_STATE_EVIL) |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
1430 status_id = OSCAR_STATUS_ID_EVIL; |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
1431 else if (type & AIM_ICQ_STATE_DEPRESSION) |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
1432 status_id = OSCAR_STATUS_ID_DEPRESSION; |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
1433 else if (type & AIM_ICQ_STATE_ATHOME) |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
1434 status_id = OSCAR_STATUS_ID_ATHOME; |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
1435 else if (type & AIM_ICQ_STATE_ATWORK) |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
1436 status_id = OSCAR_STATUS_ID_ATWORK; |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
1437 else if (type & AIM_ICQ_STATE_LUNCH) |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
1438 status_id = OSCAR_STATUS_ID_LUNCH; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1439 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1440 status_id = OSCAR_STATUS_ID_AVAILABLE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1441 } else { |
22846
e8a66e79c49c
Show yourself as invisible in the buddylist when you're invisible
Mark Doliner <mark@kingant.net>
parents:
22839
diff
changeset
|
1442 if (type & AIM_ICQ_STATE_INVISIBLE) |
e8a66e79c49c
Show yourself as invisible in the buddylist when you're invisible
Mark Doliner <mark@kingant.net>
parents:
22839
diff
changeset
|
1443 status_id = OSCAR_STATUS_ID_INVISIBLE; |
e8a66e79c49c
Show yourself as invisible in the buddylist when you're invisible
Mark Doliner <mark@kingant.net>
parents:
22839
diff
changeset
|
1444 else if (buddy_is_away) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1445 status_id = OSCAR_STATUS_ID_AWAY; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1446 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1447 status_id = OSCAR_STATUS_ID_AVAILABLE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1448 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1449 |
31086
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
1450 if (info->flags & AIM_FLAG_WIRELESS) { |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1451 purple_prpl_got_user_status(account, info->bn, OSCAR_STATUS_ID_MOBILE, NULL); |
15524
84b3ab83df35
Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents:
15463
diff
changeset
|
1452 } else { |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1453 purple_prpl_got_user_status_deactive(account, info->bn, OSCAR_STATUS_ID_MOBILE); |
15524
84b3ab83df35
Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents:
15463
diff
changeset
|
1454 } |
84b3ab83df35
Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents:
15463
diff
changeset
|
1455 |
31427
873cd5e068c4
I tested with AIM 7.2.6.1 and ICQ 7.2 build 3159 and both of them
Mark Doliner <mark@kingant.net>
parents:
31402
diff
changeset
|
1456 message = (info->status && info->status_len > 0) |
873cd5e068c4
I tested with AIM 7.2.6.1 and ICQ 7.2 build 3159 and both of them
Mark Doliner <mark@kingant.net>
parents:
31402
diff
changeset
|
1457 ? oscar_encoding_to_utf8(info->status_encoding, info->status, info->status_len) |
873cd5e068c4
I tested with AIM 7.2.6.1 and ICQ 7.2 build 3159 and both of them
Mark Doliner <mark@kingant.net>
parents:
31402
diff
changeset
|
1458 : NULL; |
25031
3cace6a9a28f
Minor formatting and comments
Mark Doliner <mark@kingant.net>
parents:
25028
diff
changeset
|
1459 |
25028
2c80f3d839c7
Patch to fix retrieval of ICQ status messages from users of ICQ 6.x, Miranda,
Daniel Lj <dimmuxx@yahoo.se>
parents:
25024
diff
changeset
|
1460 if (strcmp(status_id, OSCAR_STATUS_ID_AVAILABLE) == 0) { |
31427
873cd5e068c4
I tested with AIM 7.2.6.1 and ICQ 7.2 build 3159 and both of them
Mark Doliner <mark@kingant.net>
parents:
31402
diff
changeset
|
1461 /* TODO: If itmsurl is NULL, does that mean the URL has been |
873cd5e068c4
I tested with AIM 7.2.6.1 and ICQ 7.2 build 3159 and both of them
Mark Doliner <mark@kingant.net>
parents:
31402
diff
changeset
|
1462 cleared? Or does it mean the URL should remain unchanged? */ |
31086
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
1463 if (info->itmsurl != NULL) { |
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
1464 itmsurl = (info->itmsurl_len > 0) ? oscar_encoding_to_utf8(info->itmsurl_encoding, info->itmsurl, info->itmsurl_len) : NULL; |
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
1465 } else if (previous_status != NULL && purple_status_is_available(previous_status)) { |
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
1466 itmsurl = g_strdup(purple_status_get_attr_string(previous_status, "itmsurl")); |
30819
ca90b6c27eb8
Refactored oscar_encoding_to_utf8().
ivan.komarov@soc.pidgin.im
parents:
30818
diff
changeset
|
1467 } |
31086
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
1468 purple_debug_info("oscar", "Activating status '%s' for buddy %s, message = '%s', itmsurl = '%s'\n", status_id, info->bn, message, itmsurl); |
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
1469 purple_prpl_got_user_status(account, info->bn, status_id, "message", message, "itmsurl", itmsurl, NULL); |
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
1470 } else { |
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
1471 purple_debug_info("oscar", "Activating status '%s' for buddy %s, message = '%s'\n", status_id, info->bn, message); |
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
1472 purple_prpl_got_user_status(account, info->bn, status_id, "message", message, NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1473 } |
25031
3cace6a9a28f
Minor formatting and comments
Mark Doliner <mark@kingant.net>
parents:
25028
diff
changeset
|
1474 |
25028
2c80f3d839c7
Patch to fix retrieval of ICQ status messages from users of ICQ 6.x, Miranda,
Daniel Lj <dimmuxx@yahoo.se>
parents:
25024
diff
changeset
|
1475 g_free(message); |
2c80f3d839c7
Patch to fix retrieval of ICQ status messages from users of ICQ 6.x, Miranda,
Daniel Lj <dimmuxx@yahoo.se>
parents:
25024
diff
changeset
|
1476 g_free(itmsurl); |
15623 | 1477 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1478 /* Login time stuff */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1479 if (info->present & AIM_USERINFO_PRESENT_ONLINESINCE) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1480 signon = info->onlinesince; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1481 else if (info->present & AIM_USERINFO_PRESENT_SESSIONLEN) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1482 signon = time(NULL) - info->sessionlen; |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1483 purple_prpl_got_user_login_time(account, info->bn, signon); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1484 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1485 /* Idle time stuff */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1486 /* info->idletime is the number of minutes that this user has been idle */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1487 if (info->present & AIM_USERINFO_PRESENT_IDLE) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1488 time_idle = time(NULL) - info->idletime * 60; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1489 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1490 if (time_idle > 0) |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1491 purple_prpl_got_user_idle(account, info->bn, TRUE, time_idle); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1492 else |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1493 purple_prpl_got_user_idle(account, info->bn, FALSE, 0); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1494 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1495 /* Server stored icon stuff */ |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1496 bi = g_hash_table_lookup(od->buddyinfo, purple_normalize(account, info->bn)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1497 if (!bi) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1498 bi = g_new0(struct buddyinfo, 1); |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1499 g_hash_table_insert(od->buddyinfo, g_strdup(purple_normalize(account, info->bn)), bi); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1500 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1501 bi->typingnot = FALSE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1502 bi->ico_informed = FALSE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1503 bi->ipaddr = info->icqinfo.ipaddr; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1504 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1505 if (info->iconcsumlen) { |
16386
e0c9a46b459f
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@wiktel.com>
parents:
16375
diff
changeset
|
1506 const char *saved_b16 = NULL; |
e0c9a46b459f
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@wiktel.com>
parents:
16375
diff
changeset
|
1507 char *b16 = NULL; |
15823 | 1508 PurpleBuddy *b = NULL; |
1509 | |
1510 b16 = purple_base16_encode(info->iconcsum, info->iconcsumlen); | |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1511 b = purple_find_buddy(account, info->bn); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1512 if (b != NULL) |
16386
e0c9a46b459f
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@wiktel.com>
parents:
16375
diff
changeset
|
1513 saved_b16 = purple_buddy_icons_get_checksum_for_user(b); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1514 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1515 if (!b16 || !saved_b16 || strcmp(b16, saved_b16)) { |
20661
408c4bb03915
Invalidate old oscar icons when someone clears their icon.
Mark Doliner <mark@kingant.net>
parents:
20632
diff
changeset
|
1516 /* Invalidate the old icon for this user */ |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1517 purple_buddy_icons_set_for_user(account, info->bn, NULL, 0, NULL); |
20661
408c4bb03915
Invalidate old oscar icons when someone clears their icon.
Mark Doliner <mark@kingant.net>
parents:
20632
diff
changeset
|
1518 |
408c4bb03915
Invalidate old oscar icons when someone clears their icon.
Mark Doliner <mark@kingant.net>
parents:
20632
diff
changeset
|
1519 /* Fetch the new icon (if we're not already doing so) */ |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1520 if (g_slist_find_custom(od->requesticon, info->bn, |
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1521 (GCompareFunc)oscar_util_name_compare) == NULL) |
18814
f4d67b36f0c1
Use g_slist_find_custom() instead of writing one ourselves
Mark Doliner <mark@kingant.net>
parents:
18813
diff
changeset
|
1522 { |
18816
7a27e3729612
Fetch icons all at once instead of one at a time. I tried pretty hard
Mark Doliner <mark@kingant.net>
parents:
18814
diff
changeset
|
1523 od->requesticon = g_slist_prepend(od->requesticon, |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1524 g_strdup(purple_normalize(account, info->bn))); |
18816
7a27e3729612
Fetch icons all at once instead of one at a time. I tried pretty hard
Mark Doliner <mark@kingant.net>
parents:
18814
diff
changeset
|
1525 purple_icons_fetch(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1526 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1527 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1528 g_free(b16); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1529 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1530 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1531 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1532 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1533 |
15823 | 1534 static int purple_parse_offgoing(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
1535 PurpleConnection *gc = od->gc; | |
1536 PurpleAccount *account = purple_connection_get_account(gc); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1537 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1538 aim_userinfo_t *info; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1539 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1540 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1541 info = va_arg(ap, aim_userinfo_t *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1542 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1543 |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1544 purple_prpl_got_user_status(account, info->bn, OSCAR_STATUS_ID_OFFLINE, NULL); |
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1545 purple_prpl_got_user_status_deactive(account, info->bn, OSCAR_STATUS_ID_MOBILE); |
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1546 g_hash_table_remove(od->buddyinfo, purple_normalize(gc->account, info->bn)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1547 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1548 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1549 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1550 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1551 static int incomingim_chan1(OscarData *od, FlapConnection *conn, aim_userinfo_t *userinfo, struct aim_incomingim_ch1_args *args) { |
15823 | 1552 PurpleConnection *gc = od->gc; |
1553 PurpleAccount *account = purple_connection_get_account(gc); | |
1554 PurpleMessageFlags flags = 0; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1555 struct buddyinfo *bi; |
16390
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
1556 PurpleStoredImage *img; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1557 gchar *tmp; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1558 const char *start, *end; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1559 GData *attribs; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1560 |
30824
5661f30d1b8e
Got rid of receiving multipart messages over channel 1, which simplified the code
ivan.komarov@soc.pidgin.im
parents:
30823
diff
changeset
|
1561 purple_debug_misc("oscar", "Received IM from %s\n", userinfo->bn); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1562 |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1563 bi = g_hash_table_lookup(od->buddyinfo, purple_normalize(account, userinfo->bn)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1564 if (!bi) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1565 bi = g_new0(struct buddyinfo, 1); |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1566 g_hash_table_insert(od->buddyinfo, g_strdup(purple_normalize(account, userinfo->bn)), bi); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1567 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1568 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1569 if (args->icbmflags & AIM_IMFLAGS_AWAY) |
15823 | 1570 flags |= PURPLE_MESSAGE_AUTO_RESP; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1571 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1572 if (args->icbmflags & AIM_IMFLAGS_TYPINGNOT) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1573 bi->typingnot = TRUE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1574 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1575 bi->typingnot = FALSE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1576 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1577 if ((args->icbmflags & AIM_IMFLAGS_HASICON) && (args->iconlen) && (args->iconsum) && (args->iconstamp)) { |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1578 purple_debug_misc("oscar", "%s has an icon\n", userinfo->bn); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1579 if ((args->iconlen != bi->ico_len) || (args->iconsum != bi->ico_csum) || (args->iconstamp != bi->ico_time)) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1580 bi->ico_need = TRUE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1581 bi->ico_len = args->iconlen; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1582 bi->ico_csum = args->iconsum; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1583 bi->ico_time = args->iconstamp; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1584 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1585 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1586 |
16390
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
1587 img = purple_buddy_icons_find_account_icon(account); |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
1588 if ((img != NULL) && |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1589 (args->icbmflags & AIM_IMFLAGS_BUDDYREQ) && !bi->ico_sent && bi->ico_informed) { |
16390
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
1590 gconstpointer data = purple_imgstore_get_data(img); |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
1591 size_t len = purple_imgstore_get_size(img); |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
1592 purple_debug_info("oscar", |
22475
3225c99785b8
Fix a bunch of compiler warnings caused by my addition of G_GNUC_PRINTF()
Mark Doliner <mark@kingant.net>
parents:
22457
diff
changeset
|
1593 "Sending buddy icon to %s (%" G_GSIZE_FORMAT " bytes)\n", |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1594 userinfo->bn, len); |
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1595 aim_im_sendch2_icon(od, userinfo->bn, data, len, |
16621
dbd0a01a9a81
The OSCAR timestamp stuff.
Richard Laager <rlaager@wiktel.com>
parents:
16483
diff
changeset
|
1596 purple_buddy_icons_get_account_icon_timestamp(account), |
dbd0a01a9a81
The OSCAR timestamp stuff.
Richard Laager <rlaager@wiktel.com>
parents:
16483
diff
changeset
|
1597 aimutil_iconsum(data, len)); |
16390
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
1598 } |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
1599 purple_imgstore_unref(img); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1600 |
30824
5661f30d1b8e
Got rid of receiving multipart messages over channel 1, which simplified the code
ivan.komarov@soc.pidgin.im
parents:
30823
diff
changeset
|
1601 tmp = g_strdup(args->msg); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1602 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1603 /* |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1604 * Convert iChat color tags to normal font tags. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1605 */ |
15823 | 1606 if (purple_markup_find_tag("body", tmp, &start, &end, &attribs)) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1607 { |
29050
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1608 int len; |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1609 char *tmp2, *body; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1610 const char *ichattextcolor, *ichatballooncolor; |
29050
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1611 const char *slash_body_start, *slash_body_end = NULL; /* </body> */ |
28449
7a211be81a6b
Strip off the outer <html> and <body> from iChat messages. Should Fix #9968.
Paul Aurich <paul@darkrain42.org>
parents:
28350
diff
changeset
|
1612 GData *unused; |
7a211be81a6b
Strip off the outer <html> and <body> from iChat messages. Should Fix #9968.
Paul Aurich <paul@darkrain42.org>
parents:
28350
diff
changeset
|
1613 |
7a211be81a6b
Strip off the outer <html> and <body> from iChat messages. Should Fix #9968.
Paul Aurich <paul@darkrain42.org>
parents:
28350
diff
changeset
|
1614 /* |
7a211be81a6b
Strip off the outer <html> and <body> from iChat messages. Should Fix #9968.
Paul Aurich <paul@darkrain42.org>
parents:
28350
diff
changeset
|
1615 * Find the ending </body> so we can strip off the outer <html/> |
7a211be81a6b
Strip off the outer <html> and <body> from iChat messages. Should Fix #9968.
Paul Aurich <paul@darkrain42.org>
parents:
28350
diff
changeset
|
1616 * and <body/> |
7a211be81a6b
Strip off the outer <html> and <body> from iChat messages. Should Fix #9968.
Paul Aurich <paul@darkrain42.org>
parents:
28350
diff
changeset
|
1617 */ |
29050
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1618 if (purple_markup_find_tag("/body", end + 1, &slash_body_start, &slash_body_end, &unused)) |
28449
7a211be81a6b
Strip off the outer <html> and <body> from iChat messages. Should Fix #9968.
Paul Aurich <paul@darkrain42.org>
parents:
28350
diff
changeset
|
1619 { |
29050
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1620 body = g_strndup(start, slash_body_end - start + 1); |
28449
7a211be81a6b
Strip off the outer <html> and <body> from iChat messages. Should Fix #9968.
Paul Aurich <paul@darkrain42.org>
parents:
28350
diff
changeset
|
1621 g_datalist_clear(&unused); |
7a211be81a6b
Strip off the outer <html> and <body> from iChat messages. Should Fix #9968.
Paul Aurich <paul@darkrain42.org>
parents:
28350
diff
changeset
|
1622 } |
29050
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1623 else |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1624 { |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1625 purple_debug_warning("oscar", "Broken message contains <body> but not </body>!\n"); |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1626 /* Take everything after <body> */ |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1627 body = g_strdup(start); |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1628 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1629 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1630 ichattextcolor = g_datalist_get_data(&attribs, "ichattextcolor"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1631 if (ichattextcolor != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1632 { |
29050
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1633 tmp2 = g_strdup_printf("<font color=\"%s\">%s</font>", ichattextcolor, body); |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1634 g_free(body); |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1635 body = tmp2; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1636 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1637 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1638 ichatballooncolor = g_datalist_get_data(&attribs, "ichatballooncolor"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1639 if (ichatballooncolor != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1640 { |
29050
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1641 tmp2 = g_strdup_printf("<font back=\"%s\">%s</font>", ichatballooncolor, body); |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1642 g_free(body); |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1643 body = tmp2; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1644 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1645 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1646 g_datalist_clear(&attribs); |
29050
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1647 |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1648 len = start - tmp; |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1649 tmp2 = g_strdup_printf("%.*s%s%s", len, tmp, body, slash_body_end ? slash_body_end + 1: "</body>"); |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1650 g_free(tmp); |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1651 g_free(body); |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1652 |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1653 tmp = tmp2; |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1654 } |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1655 |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1656 /* |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1657 * Are there <html/> surrounding tags? If so, strip them out, too. |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1658 */ |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1659 if (purple_markup_find_tag("html", tmp, &start, &end, &attribs)) |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1660 { |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1661 gchar *tmp2; |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1662 int len; |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1663 |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1664 g_datalist_clear(&attribs); |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1665 |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1666 len = start - tmp; |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1667 tmp2 = g_strdup_printf("%.*s%s", len, tmp, end + 1); |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1668 g_free(tmp); |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1669 tmp = tmp2; |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1670 } |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1671 |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1672 if (purple_markup_find_tag("/html", tmp, &start, &end, &attribs)) |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1673 { |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1674 gchar *tmp2; |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1675 int len; |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1676 |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1677 g_datalist_clear(&attribs); |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1678 |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1679 len = start - tmp; |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1680 tmp2 = g_strdup_printf("%.*s%s", len, tmp, end + 1); |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1681 g_free(tmp); |
ce29013a5f3a
oscar: Fix the parsing code from ichatballooncolors that broke receiving markup in 2.6.2.
Paul Aurich <paul@darkrain42.org>
parents:
29001
diff
changeset
|
1682 tmp = tmp2; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1683 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1684 |
30824
5661f30d1b8e
Got rid of receiving multipart messages over channel 1, which simplified the code
ivan.komarov@soc.pidgin.im
parents:
30823
diff
changeset
|
1685 serv_got_im(gc, userinfo->bn, tmp, flags, (args->icbmflags & AIM_IMFLAGS_OFFLINE) ? args->timestamp : time(NULL)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1686 g_free(tmp); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1687 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1688 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1689 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1690 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1691 static int |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1692 incomingim_chan2(OscarData *od, FlapConnection *conn, aim_userinfo_t *userinfo, IcbmArgsCh2 *args) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1693 { |
15823 | 1694 PurpleConnection *gc; |
1695 PurpleAccount *account; | |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
1696 PurpleMessageFlags flags = 0; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1697 char *message = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1698 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1699 g_return_val_if_fail(od != NULL, 0); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1700 g_return_val_if_fail(od->gc != NULL, 0); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1701 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1702 gc = od->gc; |
15823 | 1703 account = purple_connection_get_account(gc); |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
1704 od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1705 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1706 if (args == NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1707 return 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1708 |
30008
59f4012b2b94
Found a few more places that need to use 64 bit value for the capabilities
Mark Doliner <mark@kingant.net>
parents:
30007
diff
changeset
|
1709 purple_debug_misc("oscar", "Incoming rendezvous message of type %" |
59f4012b2b94
Found a few more places that need to use 64 bit value for the capabilities
Mark Doliner <mark@kingant.net>
parents:
30007
diff
changeset
|
1710 G_GUINT64_FORMAT ", user %s, status %hu\n", |
59f4012b2b94
Found a few more places that need to use 64 bit value for the capabilities
Mark Doliner <mark@kingant.net>
parents:
30007
diff
changeset
|
1711 args->type, userinfo->bn, args->status); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1712 |
30819
ca90b6c27eb8
Refactored oscar_encoding_to_utf8().
ivan.komarov@soc.pidgin.im
parents:
30818
diff
changeset
|
1713 if (args->msg != NULL) { |
ca90b6c27eb8
Refactored oscar_encoding_to_utf8().
ivan.komarov@soc.pidgin.im
parents:
30818
diff
changeset
|
1714 message = oscar_encoding_to_utf8(args->encoding, args->msg, args->msglen); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1715 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1716 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1717 if (args->type & OSCAR_CAPABILITY_CHAT) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1718 { |
30819
ca90b6c27eb8
Refactored oscar_encoding_to_utf8().
ivan.komarov@soc.pidgin.im
parents:
30818
diff
changeset
|
1719 char *utf8name, *tmp; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1720 GHashTable *components; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1721 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1722 if (!args->info.chat.roominfo.name || !args->info.chat.roominfo.exchange) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1723 g_free(message); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1724 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1725 } |
30819
ca90b6c27eb8
Refactored oscar_encoding_to_utf8().
ivan.komarov@soc.pidgin.im
parents:
30818
diff
changeset
|
1726 utf8name = oscar_encoding_to_utf8(args->encoding, args->info.chat.roominfo.name, args->info.chat.roominfo.namelen); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1727 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1728 tmp = extract_name(utf8name); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1729 if (tmp != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1730 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1731 g_free(utf8name); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1732 utf8name = tmp; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1733 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1734 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1735 components = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1736 g_free); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1737 g_hash_table_replace(components, g_strdup("room"), utf8name); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1738 g_hash_table_replace(components, g_strdup("exchange"), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1739 g_strdup_printf("%d", args->info.chat.roominfo.exchange)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1740 serv_got_chat_invite(gc, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1741 utf8name, |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1742 userinfo->bn, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1743 message, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1744 components); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1745 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1746 |
30819
ca90b6c27eb8
Refactored oscar_encoding_to_utf8().
ivan.komarov@soc.pidgin.im
parents:
30818
diff
changeset
|
1747 else if ((args->type & OSCAR_CAPABILITY_SENDFILE) || (args->type & OSCAR_CAPABILITY_DIRECTIM)) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1748 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1749 if (args->status == AIM_RENDEZVOUS_PROPOSE) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1750 { |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1751 peer_connection_got_proposition(od, userinfo->bn, message, args); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1752 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1753 else if (args->status == AIM_RENDEZVOUS_CANCEL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1754 { |
30865
1cdae196aac8
Standardize on "cancelled".
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30837
diff
changeset
|
1755 /* The other user cancelled a peer request */ |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1756 PeerConnection *conn; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1757 |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1758 conn = peer_connection_find_by_cookie(od, userinfo->bn, args->cookie); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1759 /* |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1760 * If conn is NULL it means we haven't tried to create |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1761 * a connection with that user. They may be trying to |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1762 * do something malicious. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1763 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1764 if (conn != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1765 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1766 peer_connection_destroy(conn, OSCAR_DISCONNECT_REMOTE_CLOSED, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1767 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1768 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1769 else if (args->status == AIM_RENDEZVOUS_CONNECTED) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1770 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1771 /* |
19686
b199a9be3e95
Start watching the listener socket immediately after it's created
Mark Doliner <mark@kingant.net>
parents:
19680
diff
changeset
|
1772 * Remote user has accepted our peer request. If we |
b199a9be3e95
Start watching the listener socket immediately after it's created
Mark Doliner <mark@kingant.net>
parents:
19680
diff
changeset
|
1773 * wanted to we could look up the PeerConnection using |
b199a9be3e95
Start watching the listener socket immediately after it's created
Mark Doliner <mark@kingant.net>
parents:
19680
diff
changeset
|
1774 * args->cookie, but we don't need to do anything here. |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1775 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1776 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1777 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1778 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1779 else if (args->type & OSCAR_CAPABILITY_GETFILE) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1780 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1781 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1782 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1783 else if (args->type & OSCAR_CAPABILITY_TALK) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1784 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1785 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1786 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1787 else if (args->type & OSCAR_CAPABILITY_BUDDYICON) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1788 { |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1789 purple_buddy_icons_set_for_user(account, userinfo->bn, |
16391
24bbd7e46bfe
Change the imgstore and by extension, then the buddy icon code to take over
Richard Laager <rlaager@wiktel.com>
parents:
16390
diff
changeset
|
1790 g_memdup(args->info.icon.icon, args->info.icon.length), |
16386
e0c9a46b459f
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@wiktel.com>
parents:
16375
diff
changeset
|
1791 args->info.icon.length, |
e0c9a46b459f
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@wiktel.com>
parents:
16375
diff
changeset
|
1792 NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1793 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1794 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1795 else if (args->type & OSCAR_CAPABILITY_ICQSERVERRELAY) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1796 { |
29818
2c95b7c57ebb
Fix up the X-Status code in many ways:
Richard Laager <rlaager@wiktel.com>
parents:
29814
diff
changeset
|
1797 purple_debug_info("oscar", "Got an ICQ Server Relay message of " |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1798 "type %d\n", args->info.rtfmsg.msgtype); |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
1799 |
30819
ca90b6c27eb8
Refactored oscar_encoding_to_utf8().
ivan.komarov@soc.pidgin.im
parents:
30818
diff
changeset
|
1800 if (args->info.rtfmsg.msgtype == 1) { |
ca90b6c27eb8
Refactored oscar_encoding_to_utf8().
ivan.komarov@soc.pidgin.im
parents:
30818
diff
changeset
|
1801 if (args->info.rtfmsg.msg != NULL) { |
31488
e358c09cd765
Restore the previous behavior (kind of) of falling back to the specified
ivan.komarov@soc.pidgin.im
parents:
31427
diff
changeset
|
1802 char *rtfmsg; |
e358c09cd765
Restore the previous behavior (kind of) of falling back to the specified
ivan.komarov@soc.pidgin.im
parents:
31427
diff
changeset
|
1803 const char *encoding = args->encoding; |
e358c09cd765
Restore the previous behavior (kind of) of falling back to the specified
ivan.komarov@soc.pidgin.im
parents:
31427
diff
changeset
|
1804 size_t len = strlen(args->info.rtfmsg.msg); |
30831
be056399ae5f
Fixes #12044. We send a dummy packet with DC version = 8 to make
ivan.komarov@soc.pidgin.im
parents:
30829
diff
changeset
|
1805 char *tmp, *tmp2; |
be056399ae5f
Fixes #12044. We send a dummy packet with DC version = 8 to make
ivan.komarov@soc.pidgin.im
parents:
30829
diff
changeset
|
1806 |
31488
e358c09cd765
Restore the previous behavior (kind of) of falling back to the specified
ivan.komarov@soc.pidgin.im
parents:
31427
diff
changeset
|
1807 if (encoding == NULL && !g_utf8_validate(args->info.rtfmsg.msg, len, NULL)) { |
e358c09cd765
Restore the previous behavior (kind of) of falling back to the specified
ivan.komarov@soc.pidgin.im
parents:
31427
diff
changeset
|
1808 /* Yet another wonderful Miranda-related hack. If their user disables the "Send Unicode messages" setting, |
e358c09cd765
Restore the previous behavior (kind of) of falling back to the specified
ivan.komarov@soc.pidgin.im
parents:
31427
diff
changeset
|
1809 * Miranda sends us ch2 messages in whatever Windows codepage is set as default on their user's system (instead of UTF-8). |
e358c09cd765
Restore the previous behavior (kind of) of falling back to the specified
ivan.komarov@soc.pidgin.im
parents:
31427
diff
changeset
|
1810 * Of course, they don't bother to specify that codepage. Let's just fallback to the encoding OUR users can |
e358c09cd765
Restore the previous behavior (kind of) of falling back to the specified
ivan.komarov@soc.pidgin.im
parents:
31427
diff
changeset
|
1811 * specify in account options as a last resort. |
e358c09cd765
Restore the previous behavior (kind of) of falling back to the specified
ivan.komarov@soc.pidgin.im
parents:
31427
diff
changeset
|
1812 */ |
e358c09cd765
Restore the previous behavior (kind of) of falling back to the specified
ivan.komarov@soc.pidgin.im
parents:
31427
diff
changeset
|
1813 encoding = purple_account_get_string(account, "encoding", OSCAR_DEFAULT_CUSTOM_ENCODING); |
e358c09cd765
Restore the previous behavior (kind of) of falling back to the specified
ivan.komarov@soc.pidgin.im
parents:
31427
diff
changeset
|
1814 purple_debug_info("oscar", "Miranda, is that you? Using '%s' as encoding\n", encoding); |
e358c09cd765
Restore the previous behavior (kind of) of falling back to the specified
ivan.komarov@soc.pidgin.im
parents:
31427
diff
changeset
|
1815 } |
e358c09cd765
Restore the previous behavior (kind of) of falling back to the specified
ivan.komarov@soc.pidgin.im
parents:
31427
diff
changeset
|
1816 |
e358c09cd765
Restore the previous behavior (kind of) of falling back to the specified
ivan.komarov@soc.pidgin.im
parents:
31427
diff
changeset
|
1817 rtfmsg = oscar_encoding_to_utf8(encoding, args->info.rtfmsg.msg, len); |
e358c09cd765
Restore the previous behavior (kind of) of falling back to the specified
ivan.komarov@soc.pidgin.im
parents:
31427
diff
changeset
|
1818 |
30831
be056399ae5f
Fixes #12044. We send a dummy packet with DC version = 8 to make
ivan.komarov@soc.pidgin.im
parents:
30829
diff
changeset
|
1819 /* Channel 2 messages are supposed to be plain-text (never mind the name "rtfmsg", even |
be056399ae5f
Fixes #12044. We send a dummy packet with DC version = 8 to make
ivan.komarov@soc.pidgin.im
parents:
30829
diff
changeset
|
1820 * the official client doesn't parse them as RTF). Therefore, we should escape them before |
be056399ae5f
Fixes #12044. We send a dummy packet with DC version = 8 to make
ivan.komarov@soc.pidgin.im
parents:
30829
diff
changeset
|
1821 * showing to the user. */ |
be056399ae5f
Fixes #12044. We send a dummy packet with DC version = 8 to make
ivan.komarov@soc.pidgin.im
parents:
30829
diff
changeset
|
1822 tmp = g_markup_escape_text(rtfmsg, -1); |
30819
ca90b6c27eb8
Refactored oscar_encoding_to_utf8().
ivan.komarov@soc.pidgin.im
parents:
30818
diff
changeset
|
1823 g_free(rtfmsg); |
30831
be056399ae5f
Fixes #12044. We send a dummy packet with DC version = 8 to make
ivan.komarov@soc.pidgin.im
parents:
30829
diff
changeset
|
1824 tmp2 = purple_strreplace(tmp, "\r\n", "<br>"); |
be056399ae5f
Fixes #12044. We send a dummy packet with DC version = 8 to make
ivan.komarov@soc.pidgin.im
parents:
30829
diff
changeset
|
1825 g_free(tmp); |
be056399ae5f
Fixes #12044. We send a dummy packet with DC version = 8 to make
ivan.komarov@soc.pidgin.im
parents:
30829
diff
changeset
|
1826 |
be056399ae5f
Fixes #12044. We send a dummy packet with DC version = 8 to make
ivan.komarov@soc.pidgin.im
parents:
30829
diff
changeset
|
1827 serv_got_im(gc, userinfo->bn, tmp2, flags, time(NULL)); |
30832
3eb2dd8a1cc7
Miranda expects a client ack from the other side for channel 2 messages,
ivan.komarov@soc.pidgin.im
parents:
30831
diff
changeset
|
1828 aim_im_send_icq_confirmation(od, userinfo->bn, args->cookie); |
30831
be056399ae5f
Fixes #12044. We send a dummy packet with DC version = 8 to make
ivan.komarov@soc.pidgin.im
parents:
30829
diff
changeset
|
1829 g_free(tmp2); |
29818
2c95b7c57ebb
Fix up the X-Status code in many ways:
Richard Laager <rlaager@wiktel.com>
parents:
29814
diff
changeset
|
1830 } |
30656
a47346a46cb7
*** Plucked rev 1e62e7c65758de7e0aaa5377f865d4164e4482f5 (ivan.komarov@soc.pidgin.im):
Paul Aurich <paul@darkrain42.org>
parents:
30571
diff
changeset
|
1831 } else if (args->info.rtfmsg.msgtype == 26) { |
30010
80933c92c080
Move a debug message. I'm assuming it's supposed to be related to this
Mark Doliner <mark@kingant.net>
parents:
30009
diff
changeset
|
1832 purple_debug_info("oscar", "Sending X-Status Reply\n"); |
30009
8d4bed3021dc
Fix some problems in the oscar code that deals with channel 2 icbms.
Mark Doliner <mark@kingant.net>
parents:
30008
diff
changeset
|
1833 icq_relay_xstatus(od, userinfo->bn, args->cookie); |
30656
a47346a46cb7
*** Plucked rev 1e62e7c65758de7e0aaa5377f865d4164e4482f5 (ivan.komarov@soc.pidgin.im):
Paul Aurich <paul@darkrain42.org>
parents:
30571
diff
changeset
|
1834 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1835 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1836 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1837 { |
30008
59f4012b2b94
Found a few more places that need to use 64 bit value for the capabilities
Mark Doliner <mark@kingant.net>
parents:
30007
diff
changeset
|
1838 purple_debug_error("oscar", "Unknown request class %" |
59f4012b2b94
Found a few more places that need to use 64 bit value for the capabilities
Mark Doliner <mark@kingant.net>
parents:
30007
diff
changeset
|
1839 G_GUINT64_FORMAT "\n", args->type); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1840 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1841 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1842 g_free(message); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1843 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1844 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1845 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1846 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1847 /* When someone sends you buddies */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1848 static void |
15823 | 1849 purple_icq_buddyadd(struct name_data *data) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1850 { |
15823 | 1851 PurpleConnection *gc = data->gc; |
1852 | |
1853 purple_blist_request_add_buddy(purple_connection_get_account(gc), data->name, NULL, data->nick); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1854 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1855 oscar_free_name_data(data); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1856 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1857 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1858 static int |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1859 incomingim_chan4(OscarData *od, FlapConnection *conn, aim_userinfo_t *userinfo, struct aim_incomingim_ch4_args *args, time_t t) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1860 { |
15823 | 1861 PurpleConnection *gc = od->gc; |
1862 PurpleAccount *account = purple_connection_get_account(gc); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1863 gchar **msg1, **msg2; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1864 int i, numtoks; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1865 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1866 if (!args->type || !args->msg || !args->uin) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1867 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1868 |
15823 | 1869 purple_debug_info("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1870 "Received a channel 4 message of type 0x%02hx.\n", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1871 args->type); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1872 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1873 /* |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1874 * Split up the message at the delimeter character, then convert each |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1875 * string to UTF-8. Unless, of course, this is a type 1 message. If |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1876 * this is a type 1 message, then the delimiter 0xfe could be a valid |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1877 * character in whatever encoding the message was sent in. Type 1 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1878 * messages are always made up of only one part, so we can easily account |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1879 * for this suck-ass part of the protocol by splitting the string into at |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1880 * most 1 baby string. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1881 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1882 msg1 = g_strsplit(args->msg, "\376", (args->type == 0x01 ? 1 : 0)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1883 for (numtoks=0; msg1[numtoks]; numtoks++); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1884 msg2 = (gchar **)g_malloc((numtoks+1)*sizeof(gchar *)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1885 for (i=0; msg1[i]; i++) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1886 gchar *uin = g_strdup_printf("%u", args->uin); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1887 |
15823 | 1888 purple_str_strip_char(msg1[i], '\r'); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1889 /* TODO: Should use an encoding other than ASCII? */ |
30824
5661f30d1b8e
Got rid of receiving multipart messages over channel 1, which simplified the code
ivan.komarov@soc.pidgin.im
parents:
30823
diff
changeset
|
1890 msg2[i] = oscar_decode_im(account, uin, AIM_CHARSET_ASCII, msg1[i], strlen(msg1[i])); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1891 g_free(uin); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1892 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1893 msg2[i] = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1894 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1895 switch (args->type) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1896 case 0x01: { /* MacICQ message or basic offline message */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1897 if (i >= 1) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1898 gchar *uin = g_strdup_printf("%u", args->uin); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1899 gchar *tmp; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1900 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1901 /* If the message came from an ICQ user then escape any HTML */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1902 tmp = g_markup_escape_text(msg2[0], -1); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1903 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1904 if (t) { /* This is an offline message */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1905 /* The timestamp is UTC-ish, so we need to get the offset */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1906 #ifdef HAVE_TM_GMTOFF |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1907 time_t now; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1908 struct tm *tm; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1909 now = time(NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1910 tm = localtime(&now); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1911 t += tm->tm_gmtoff; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1912 #else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1913 # ifdef HAVE_TIMEZONE |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1914 tzset(); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1915 t -= timezone; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1916 # endif |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1917 #endif |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1918 serv_got_im(gc, uin, tmp, 0, t); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1919 } else { /* This is a message from MacICQ/Miranda */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1920 serv_got_im(gc, uin, tmp, 0, time(NULL)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1921 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1922 g_free(uin); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1923 g_free(tmp); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1924 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1925 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1926 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1927 case 0x04: { /* Someone sent you a URL */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1928 if (i >= 2) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1929 if (msg2[1] != NULL) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1930 gchar *uin = g_strdup_printf("%u", args->uin); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1931 gchar *message = g_strdup_printf("<A HREF=\"%s\">%s</A>", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1932 msg2[1], |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1933 (msg2[0] && msg2[0][0]) ? msg2[0] : msg2[1]); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1934 serv_got_im(gc, uin, message, 0, time(NULL)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1935 g_free(uin); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1936 g_free(message); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1937 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1938 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1939 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1940 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1941 case 0x06: { /* Someone requested authorization */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1942 if (i >= 6) { |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
1943 gchar *bn = g_strdup_printf("%u", args->uin); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1944 gchar *reason = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1945 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1946 if (msg2[5] != NULL) |
30824
5661f30d1b8e
Got rid of receiving multipart messages over channel 1, which simplified the code
ivan.komarov@soc.pidgin.im
parents:
30823
diff
changeset
|
1947 reason = oscar_decode_im(account, bn, AIM_CHARSET_LATIN_1, msg2[5], strlen(msg2[5])); |
15823 | 1948 |
1949 purple_debug_info("oscar", | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1950 "Received an authorization request from UIN %u\n", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1951 args->uin); |
30790
674a656893a3
Show authorization request sender's nickname in the "Authorize buddy?"
ivan.komarov@soc.pidgin.im
parents:
30571
diff
changeset
|
1952 aim_icq_getalias(od, bn, TRUE, reason); |
674a656893a3
Show authorization request sender's nickname in the "Authorize buddy?"
ivan.komarov@soc.pidgin.im
parents:
30571
diff
changeset
|
1953 g_free(bn); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1954 g_free(reason); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1955 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1956 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1957 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1958 case 0x07: { /* Someone has denied you authorization */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1959 if (i >= 1) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1960 gchar *dialog_msg = g_strdup_printf(_("The user %u has denied your request to add them to your buddy list for the following reason:\n%s"), args->uin, msg2[0] ? msg2[0] : _("No reason given.")); |
15823 | 1961 purple_notify_info(gc, NULL, _("ICQ authorization denied."), |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1962 dialog_msg); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1963 g_free(dialog_msg); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1964 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1965 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1966 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1967 case 0x08: { /* Someone has granted you authorization */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1968 gchar *dialog_msg = g_strdup_printf(_("The user %u has granted your request to add them to your buddy list."), args->uin); |
15823 | 1969 purple_notify_info(gc, NULL, "ICQ authorization accepted.", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1970 dialog_msg); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1971 g_free(dialog_msg); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1972 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1973 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1974 case 0x09: { /* Message from the Godly ICQ server itself, I think */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1975 if (i >= 5) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1976 gchar *dialog_msg = g_strdup_printf(_("You have received a special message\n\nFrom: %s [%s]\n%s"), msg2[0], msg2[3], msg2[5]); |
15823 | 1977 purple_notify_info(gc, NULL, "ICQ Server Message", dialog_msg); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1978 g_free(dialog_msg); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1979 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1980 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1981 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1982 case 0x0d: { /* Someone has sent you a pager message from http://www.icq.com/your_uin */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1983 if (i >= 6) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1984 gchar *dialog_msg = g_strdup_printf(_("You have received an ICQ page\n\nFrom: %s [%s]\n%s"), msg2[0], msg2[3], msg2[5]); |
15823 | 1985 purple_notify_info(gc, NULL, "ICQ Page", dialog_msg); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1986 g_free(dialog_msg); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1987 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1988 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1989 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1990 case 0x0e: { /* Someone has emailed you at your_uin@pager.icq.com */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1991 if (i >= 6) { |
23182
e0bcb8cfda74
Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents:
22846
diff
changeset
|
1992 gchar *dialog_msg = g_strdup_printf(_("You have received an ICQ email from %s [%s]\n\nMessage is:\n%s"), msg2[0], msg2[3], msg2[5]); |
e0bcb8cfda74
Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents:
22846
diff
changeset
|
1993 purple_notify_info(gc, NULL, "ICQ Email", dialog_msg); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1994 g_free(dialog_msg); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1995 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1996 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1997 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1998 case 0x12: { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1999 /* Ack for authorizing/denying someone. Or possibly an ack for sending any system notice */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2000 /* Someone added you to their buddy list? */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2001 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2002 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2003 case 0x13: { /* Someone has sent you some ICQ buddies */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2004 guint i, num; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2005 gchar **text; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2006 text = g_strsplit(args->msg, "\376", 0); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2007 if (text) { |
28764
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2008 /* Read the number of contacts that we were sent */ |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2009 errno = 0; |
28860
d4c28c18c20a
Add a null check, just for the heck of it
Mark Doliner <mark@kingant.net>
parents:
28764
diff
changeset
|
2010 num = text[0] ? strtoul(text[0], NULL, 10) : 0; |
28764
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2011 |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2012 if (num > 0 && errno == 0) { |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2013 for (i=0; i<num; i++) { |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2014 struct name_data *data; |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2015 gchar *message; |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2016 |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2017 if (!text[i*2 + 1] || !text[i*2 + 2]) { |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2018 /* We're missing the contact name or nickname. Bail out. */ |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2019 gchar *tmp = g_strescape(args->msg, NULL); |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2020 purple_debug_error("oscar", "Unknown syntax parsing " |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2021 "ICQ buddies. args->msg=%s\n", tmp); |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2022 g_free(tmp); |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2023 break; |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2024 } |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2025 |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2026 message = g_strdup_printf(_("ICQ user %u has sent you a buddy: %s (%s)"), args->uin, text[i*2+2], text[i*2+1]); |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2027 |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2028 data = g_new(struct name_data, 1); |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2029 data->gc = gc; |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2030 data->name = g_strdup(text[i*2+1]); |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2031 data->nick = g_strdup(text[i*2+2]); |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2032 |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2033 purple_request_action(gc, NULL, message, |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2034 _("Do you want to add this buddy " |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2035 "to your buddy list?"), |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2036 PURPLE_DEFAULT_ACTION_NONE, |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2037 purple_connection_get_account(gc), data->name, NULL, |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2038 data, 2, |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2039 _("_Add"), G_CALLBACK(purple_icq_buddyadd), |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2040 _("_Decline"), G_CALLBACK(oscar_free_name_data)); |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2041 g_free(message); |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2042 } |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2043 } else { |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2044 gchar *tmp = g_strescape(args->msg, NULL); |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2045 purple_debug_error("oscar", "Unknown syntax parsing " |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2046 "ICQ buddies. args->msg=%s\n", tmp); |
63881771e1bf
Fix a remote-crash bug in ICQ (and probably AIM). It happens when the
Mark Doliner <mark@kingant.net>
parents:
28758
diff
changeset
|
2047 g_free(tmp); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2048 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2049 g_strfreev(text); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2050 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2051 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2052 |
19640
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2053 case 0x1a: { /* Handle SMS or someone has sent you a greeting card or requested buddies? */ |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2054 ByteStream qbs; |
30779
605155d68812
Make these unsigned, in case someone figures out how to actually send
Mark Doliner <mark@kingant.net>
parents:
30703
diff
changeset
|
2055 guint16 smstype; |
605155d68812
Make these unsigned, in case someone figures out how to actually send
Mark Doliner <mark@kingant.net>
parents:
30703
diff
changeset
|
2056 guint32 taglen, smslen; |
19640
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2057 char *tagstr = NULL, *smsmsg = NULL; |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2058 xmlnode *xmlroot = NULL, *xmltmp = NULL; |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2059 gchar *uin = NULL, *message = NULL; |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2060 |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2061 /* From libicq2000-0.3.2/src/ICQ.cpp */ |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2062 byte_stream_init(&qbs, (guint8 *)args->msg, args->msglen); |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2063 byte_stream_advance(&qbs, 21); |
27276
7f43d6779764
Apply [9bac0a540156fb1848eedd61c8630737dee752c7] here as well. I should
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27243
diff
changeset
|
2064 /* expected: 01 00 00 20 00 0e 28 f6 00 11 e7 d3 11 bc f3 00 04 ac 96 9d c2 | 00 00 | 06 00 00 00 | 49 43 51 53 43 53 ...*/ |
7f43d6779764
Apply [9bac0a540156fb1848eedd61c8630737dee752c7] here as well. I should
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27243
diff
changeset
|
2065 /* unexpected: 00 00 26 00 81 1a 18 bc 0e 6c 18 47 a5 91 6f 18 dc c7 6f 1a | 00 00 | 0d 00 00 00 | 49 43 51 57 65 62 4d 65 73 73 61 67 65 ... */ |
19640
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2066 smstype = byte_stream_getle16(&qbs); |
27276
7f43d6779764
Apply [9bac0a540156fb1848eedd61c8630737dee752c7] here as well. I should
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27243
diff
changeset
|
2067 if (smstype != 0) |
7f43d6779764
Apply [9bac0a540156fb1848eedd61c8630737dee752c7] here as well. I should
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27243
diff
changeset
|
2068 break; |
19640
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2069 taglen = byte_stream_getle32(&qbs); |
30703
5884388dfd06
Fix a crash bug in oscar related to trying to allocate too much memory.
Mark Doliner <mark@kingant.net>
parents:
30656
diff
changeset
|
2070 if (taglen > 2000) { |
5884388dfd06
Fix a crash bug in oscar related to trying to allocate too much memory.
Mark Doliner <mark@kingant.net>
parents:
30656
diff
changeset
|
2071 /* Avoid trying to allocate large amounts of memory, in |
5884388dfd06
Fix a crash bug in oscar related to trying to allocate too much memory.
Mark Doliner <mark@kingant.net>
parents:
30656
diff
changeset
|
2072 case we get something unexpected. */ |
5884388dfd06
Fix a crash bug in oscar related to trying to allocate too much memory.
Mark Doliner <mark@kingant.net>
parents:
30656
diff
changeset
|
2073 break; |
5884388dfd06
Fix a crash bug in oscar related to trying to allocate too much memory.
Mark Doliner <mark@kingant.net>
parents:
30656
diff
changeset
|
2074 } |
19640
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2075 tagstr = byte_stream_getstr(&qbs, taglen); |
27276
7f43d6779764
Apply [9bac0a540156fb1848eedd61c8630737dee752c7] here as well. I should
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27243
diff
changeset
|
2076 if (tagstr == NULL) |
7f43d6779764
Apply [9bac0a540156fb1848eedd61c8630737dee752c7] here as well. I should
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27243
diff
changeset
|
2077 break; |
19640
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2078 byte_stream_advance(&qbs, 3); |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2079 byte_stream_advance(&qbs, 4); |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2080 smslen = byte_stream_getle32(&qbs); |
30703
5884388dfd06
Fix a crash bug in oscar related to trying to allocate too much memory.
Mark Doliner <mark@kingant.net>
parents:
30656
diff
changeset
|
2081 if (smslen > 2000) { |
5884388dfd06
Fix a crash bug in oscar related to trying to allocate too much memory.
Mark Doliner <mark@kingant.net>
parents:
30656
diff
changeset
|
2082 /* Avoid trying to allocate large amounts of memory, in |
5884388dfd06
Fix a crash bug in oscar related to trying to allocate too much memory.
Mark Doliner <mark@kingant.net>
parents:
30656
diff
changeset
|
2083 case we get something unexpected. */ |
5884388dfd06
Fix a crash bug in oscar related to trying to allocate too much memory.
Mark Doliner <mark@kingant.net>
parents:
30656
diff
changeset
|
2084 g_free(tagstr); |
5884388dfd06
Fix a crash bug in oscar related to trying to allocate too much memory.
Mark Doliner <mark@kingant.net>
parents:
30656
diff
changeset
|
2085 break; |
5884388dfd06
Fix a crash bug in oscar related to trying to allocate too much memory.
Mark Doliner <mark@kingant.net>
parents:
30656
diff
changeset
|
2086 } |
19640
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2087 smsmsg = byte_stream_getstr(&qbs, smslen); |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2088 |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2089 /* Check if this is an SMS being sent from server */ |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2090 if ((smstype == 0) && (!strcmp(tagstr, "ICQSMS")) && (smsmsg != NULL)) |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2091 { |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2092 xmlroot = xmlnode_from_str(smsmsg, -1); |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2093 if (xmlroot != NULL) |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2094 { |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2095 xmltmp = xmlnode_get_child(xmlroot, "sender"); |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2096 if (xmltmp != NULL) |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2097 uin = xmlnode_get_data(xmltmp); |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2098 |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2099 xmltmp = xmlnode_get_child(xmlroot, "text"); |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2100 if (xmltmp != NULL) |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2101 message = xmlnode_get_data(xmltmp); |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2102 |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2103 if ((uin != NULL) && (message != NULL)) |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2104 serv_got_im(gc, uin, message, 0, time(NULL)); |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2105 |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2106 g_free(uin); |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2107 g_free(message); |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2108 xmlnode_free(xmlroot); |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2109 } |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2110 } |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2111 g_free(tagstr); |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
2112 g_free(smsmsg); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2113 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2114 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2115 default: { |
15823 | 2116 purple_debug_info("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2117 "Received a channel 4 message of unknown type " |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2118 "(type 0x%02hhx).\n", args->type); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2119 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2120 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2121 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2122 g_strfreev(msg1); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2123 g_strfreev(msg2); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2124 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2125 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2126 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2127 |
15823 | 2128 static int purple_parse_incoming_im(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2129 guint16 channel; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2130 int ret = 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2131 aim_userinfo_t *userinfo; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2132 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2133 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2134 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2135 channel = (guint16)va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2136 userinfo = va_arg(ap, aim_userinfo_t *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2137 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2138 switch (channel) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2139 case 1: { /* standard message */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2140 struct aim_incomingim_ch1_args *args; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2141 args = va_arg(ap, struct aim_incomingim_ch1_args *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2142 ret = incomingim_chan1(od, conn, userinfo, args); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2143 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2144 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2145 case 2: { /* rendezvous */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2146 IcbmArgsCh2 *args; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2147 args = va_arg(ap, IcbmArgsCh2 *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2148 ret = incomingim_chan2(od, conn, userinfo, args); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2149 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2150 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2151 case 4: { /* ICQ */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2152 struct aim_incomingim_ch4_args *args; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2153 args = va_arg(ap, struct aim_incomingim_ch4_args *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2154 ret = incomingim_chan4(od, conn, userinfo, args, 0); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2155 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2156 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2157 default: { |
15823 | 2158 purple_debug_warning("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2159 "ICBM received on unsupported channel (channel " |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2160 "0x%04hx).", channel); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2161 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2162 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2163 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2164 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2165 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2166 return ret; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2167 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2168 |
15823 | 2169 static int purple_parse_misses(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
2170 PurpleConnection *gc = od->gc; | |
2171 PurpleAccount *account = purple_connection_get_account(gc); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2172 char *buf; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2173 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2174 guint16 chan, nummissed, reason; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2175 aim_userinfo_t *userinfo; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2176 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2177 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2178 chan = (guint16)va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2179 userinfo = va_arg(ap, aim_userinfo_t *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2180 nummissed = (guint16)va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2181 reason = (guint16)va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2182 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2183 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2184 switch(reason) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2185 case 0: /* Invalid (0) */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2186 buf = g_strdup_printf( |
23269 | 2187 dngettext(PACKAGE, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2188 "You missed %hu message from %s because it was invalid.", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2189 "You missed %hu messages from %s because they were invalid.", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2190 nummissed), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2191 nummissed, |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
2192 userinfo->bn); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2193 break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2194 case 1: /* Message too large */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2195 buf = g_strdup_printf( |
23269 | 2196 dngettext(PACKAGE, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2197 "You missed %hu message from %s because it was too large.", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2198 "You missed %hu messages from %s because they were too large.", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2199 nummissed), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2200 nummissed, |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
2201 userinfo->bn); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2202 break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2203 case 2: /* Rate exceeded */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2204 buf = g_strdup_printf( |
23269 | 2205 dngettext(PACKAGE, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2206 "You missed %hu message from %s because the rate limit has been exceeded.", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2207 "You missed %hu messages from %s because the rate limit has been exceeded.", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2208 nummissed), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2209 nummissed, |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
2210 userinfo->bn); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2211 break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2212 case 3: /* Evil Sender */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2213 buf = g_strdup_printf( |
23269 | 2214 dngettext(PACKAGE, |
23352
fa904782a934
No one has any idea what evil is (in bed)
Mark Doliner <mark@kingant.net>
parents:
23340
diff
changeset
|
2215 "You missed %hu message from %s because his/her warning level is too high.", |
fa904782a934
No one has any idea what evil is (in bed)
Mark Doliner <mark@kingant.net>
parents:
23340
diff
changeset
|
2216 "You missed %hu messages from %s because his/her warning level is too high.", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2217 nummissed), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2218 nummissed, |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
2219 userinfo->bn); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2220 break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2221 case 4: /* Evil Receiver */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2222 buf = g_strdup_printf( |
23269 | 2223 dngettext(PACKAGE, |
23352
fa904782a934
No one has any idea what evil is (in bed)
Mark Doliner <mark@kingant.net>
parents:
23340
diff
changeset
|
2224 "You missed %hu message from %s because your warning level is too high.", |
fa904782a934
No one has any idea what evil is (in bed)
Mark Doliner <mark@kingant.net>
parents:
23340
diff
changeset
|
2225 "You missed %hu messages from %s because your warning level is too high.", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2226 nummissed), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2227 nummissed, |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
2228 userinfo->bn); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2229 break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2230 default: |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2231 buf = g_strdup_printf( |
23269 | 2232 dngettext(PACKAGE, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2233 "You missed %hu message from %s for an unknown reason.", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2234 "You missed %hu messages from %s for an unknown reason.", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2235 nummissed), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2236 nummissed, |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
2237 userinfo->bn); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2238 break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2239 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2240 |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
2241 if (!purple_conv_present_error(userinfo->bn, account, buf)) |
15823 | 2242 purple_notify_error(od->gc, NULL, buf, NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2243 g_free(buf); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2244 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2245 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2246 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2247 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2248 static int |
15823 | 2249 purple_parse_clientauto_ch2(OscarData *od, const char *who, guint16 reason, const guchar *cookie) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2250 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2251 if (reason == 0x0003) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2252 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2253 /* Rendezvous was refused. */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2254 PeerConnection *conn; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2255 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2256 conn = peer_connection_find_by_cookie(od, who, cookie); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2257 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2258 if (conn == NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2259 { |
15823 | 2260 purple_debug_info("oscar", "Received a rendezvous cancel message " |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2261 "for a nonexistant connection from %s.\n", who); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2262 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2263 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2264 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2265 peer_connection_destroy(conn, OSCAR_DISCONNECT_REMOTE_REFUSED, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2266 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2267 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2268 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2269 { |
15823 | 2270 purple_debug_warning("oscar", "Received an unknown rendezvous " |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2271 "message from %s. Type 0x%04hx\n", who, reason); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2272 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2273 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2274 return 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2275 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2276 |
15823 | 2277 static int purple_parse_clientauto_ch4(OscarData *od, char *who, guint16 reason, guint32 state, char *msg) { |
2278 PurpleConnection *gc = od->gc; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2279 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2280 switch(reason) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2281 case 0x0003: { /* Reply from an ICQ status message request */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2282 char *statusmsg, **splitmsg; |
15823 | 2283 PurpleNotifyUserInfo *user_info; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2284 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2285 /* Split at (carriage return/newline)'s, then rejoin later with BRs between. */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2286 statusmsg = oscar_icqstatus(state); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2287 splitmsg = g_strsplit(msg, "\r\n", 0); |
23269 | 2288 |
15823 | 2289 user_info = purple_notify_user_info_new(); |
23269 | 2290 |
15823 | 2291 purple_notify_user_info_add_pair(user_info, _("UIN"), who); |
2292 purple_notify_user_info_add_pair(user_info, _("Status"), statusmsg); | |
2293 purple_notify_user_info_add_section_break(user_info); | |
2294 purple_notify_user_info_add_pair(user_info, NULL, g_strjoinv("<BR>", splitmsg)); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2295 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2296 g_free(statusmsg); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2297 g_strfreev(splitmsg); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2298 |
15823 | 2299 purple_notify_userinfo(gc, who, user_info, NULL, NULL); |
2300 purple_notify_user_info_destroy(user_info); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2301 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2302 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2303 |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
2304 case 0x0006: { /* Reply from an ICQ status message request */ |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
2305 char *statusmsg, **splitmsg; |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
2306 PurpleNotifyUserInfo *user_info; |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
2307 |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
2308 /* Split at (carriage return/newline)'s, then rejoin later with BRs between. */ |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
2309 statusmsg = oscar_icqstatus(state); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
2310 splitmsg = g_strsplit(msg, "\r\n", 0); |
30011 | 2311 |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
2312 user_info = purple_notify_user_info_new(); |
30011 | 2313 |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
2314 purple_notify_user_info_add_pair(user_info, _("UIN"), who); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
2315 purple_notify_user_info_add_pair(user_info, _("Status"), statusmsg); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
2316 purple_notify_user_info_add_section_break(user_info); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
2317 purple_notify_user_info_add_pair(user_info, NULL, g_strjoinv("<BR>", splitmsg)); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
2318 |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
2319 g_free(statusmsg); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
2320 g_strfreev(splitmsg); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
2321 |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
2322 purple_notify_userinfo(gc, who, user_info, NULL, NULL); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
2323 purple_notify_user_info_destroy(user_info); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
2324 |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
2325 } break; |
29851
5391094529c6
propagate from branch 'im.pidgin.pidgin' (head a59a573e3b9b2eb42ff728ba9ff56095f5c9e0d0)
Richard Laager <rlaager@wiktel.com>
diff
changeset
|
2326 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2327 default: { |
15823 | 2328 purple_debug_warning("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2329 "Received an unknown client auto-response from %s. " |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2330 "Type 0x%04hx\n", who, reason); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2331 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2332 } /* end of switch */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2333 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2334 return 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2335 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2336 |
15823 | 2337 static int purple_parse_clientauto(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2338 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2339 guint16 chan, reason; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2340 char *who; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2341 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2342 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2343 chan = (guint16)va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2344 who = va_arg(ap, char *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2345 reason = (guint16)va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2346 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2347 if (chan == 0x0002) { /* File transfer declined */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2348 guchar *cookie = va_arg(ap, guchar *); |
15823 | 2349 return purple_parse_clientauto_ch2(od, who, reason, cookie); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2350 } else if (chan == 0x0004) { /* ICQ message */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2351 guint32 state = 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2352 char *msg = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2353 if (reason == 0x0003) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2354 state = va_arg(ap, guint32); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2355 msg = va_arg(ap, char *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2356 } |
15823 | 2357 return purple_parse_clientauto_ch4(od, who, reason, state, msg); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2358 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2359 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2360 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2361 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2362 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2363 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2364 |
15823 | 2365 static int purple_parse_genericerr(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2366 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2367 guint16 reason; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2368 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2369 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2370 reason = (guint16) va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2371 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2372 |
30406
f18b6eb0ed02
Cleanup, basically. Move the icbm snac error handling from oscar.c to
Mark Doliner <mark@kingant.net>
parents:
30366
diff
changeset
|
2373 purple_debug_error("oscar", "snac threw error (reason 0x%04hx: %s)\n", |
f18b6eb0ed02
Cleanup, basically. Move the icbm snac error handling from oscar.c to
Mark Doliner <mark@kingant.net>
parents:
30366
diff
changeset
|
2374 reason, oscar_get_msgerr_reason(reason)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2375 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2376 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2377 |
15823 | 2378 static int purple_parse_mtn(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
2379 PurpleConnection *gc = od->gc; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2380 va_list ap; |
28588
8d5380556f12
Rename two variables based on insight from
Mark Doliner <mark@kingant.net>
parents:
28587
diff
changeset
|
2381 guint16 channel, event; |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
2382 char *bn; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2383 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2384 va_start(ap, fr); |
28588
8d5380556f12
Rename two variables based on insight from
Mark Doliner <mark@kingant.net>
parents:
28587
diff
changeset
|
2385 channel = (guint16) va_arg(ap, unsigned int); |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
2386 bn = va_arg(ap, char *); |
28588
8d5380556f12
Rename two variables based on insight from
Mark Doliner <mark@kingant.net>
parents:
28587
diff
changeset
|
2387 event = (guint16) va_arg(ap, unsigned int); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2388 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2389 |
28588
8d5380556f12
Rename two variables based on insight from
Mark Doliner <mark@kingant.net>
parents:
28587
diff
changeset
|
2390 switch (event) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2391 case 0x0000: { /* Text has been cleared */ |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
2392 serv_got_typing_stopped(gc, bn); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2393 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2394 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2395 case 0x0001: { /* Paused typing */ |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
2396 serv_got_typing(gc, bn, 0, PURPLE_TYPED); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2397 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2398 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2399 case 0x0002: { /* Typing */ |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
2400 serv_got_typing(gc, bn, 0, PURPLE_TYPING); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2401 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2402 |
28588
8d5380556f12
Rename two variables based on insight from
Mark Doliner <mark@kingant.net>
parents:
28587
diff
changeset
|
2403 case 0x000f: { /* Closed IM window */ |
8d5380556f12
Rename two variables based on insight from
Mark Doliner <mark@kingant.net>
parents:
28587
diff
changeset
|
2404 serv_got_typing_stopped(gc, bn); |
8d5380556f12
Rename two variables based on insight from
Mark Doliner <mark@kingant.net>
parents:
28587
diff
changeset
|
2405 } break; |
8d5380556f12
Rename two variables based on insight from
Mark Doliner <mark@kingant.net>
parents:
28587
diff
changeset
|
2406 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2407 default: { |
28588
8d5380556f12
Rename two variables based on insight from
Mark Doliner <mark@kingant.net>
parents:
28587
diff
changeset
|
2408 purple_debug_info("oscar", "Received unknown typing " |
8d5380556f12
Rename two variables based on insight from
Mark Doliner <mark@kingant.net>
parents:
28587
diff
changeset
|
2409 "notification message from %s. Channel is 0x%04x " |
8d5380556f12
Rename two variables based on insight from
Mark Doliner <mark@kingant.net>
parents:
28587
diff
changeset
|
2410 "and event is 0x%04hx.\n", bn, channel, event); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2411 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2412 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2413 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2414 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2415 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2416 |
15823 | 2417 static int purple_parse_motd(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2418 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2419 char *msg; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2420 guint16 id; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2421 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2422 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2423 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2424 id = (guint16) va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2425 msg = va_arg(ap, char *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2426 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2427 |
15823 | 2428 purple_debug_misc("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2429 "MOTD: %s (%hu)\n", msg ? msg : "Unknown", id); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2430 if (id < 4) |
15823 | 2431 purple_notify_warning(od->gc, NULL, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2432 _("Your AIM connection may be lost."), NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2433 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2434 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2435 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2436 |
15823 | 2437 static int purple_chatnav_info(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2438 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2439 guint16 type; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2440 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2441 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2442 type = (guint16) va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2443 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2444 switch(type) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2445 case 0x0002: { |
31342
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
2446 GString *msg = g_string_new(""); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2447 guint8 maxrooms; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2448 struct aim_chat_exchangeinfo *exchanges; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2449 int exchangecount, i; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2450 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2451 maxrooms = (guint8) va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2452 exchangecount = va_arg(ap, int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2453 exchanges = va_arg(ap, struct aim_chat_exchangeinfo *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2454 |
31342
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
2455 g_string_append_printf(msg, "chat info: Max Concurrent Rooms: %hhd, Exchange List (%d total): ", maxrooms, exchangecount); |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
2456 for (i = 0; i < exchangecount; i++) { |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
2457 g_string_append_printf(msg, "%hu", exchanges[i].number); |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
2458 if (exchanges[i].name) { |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
2459 g_string_append_printf(msg, " %s", exchanges[i].name); |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
2460 } |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
2461 g_string_append(msg, ", "); |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
2462 } |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
2463 purple_debug_misc("oscar", "%s\n", msg->str); |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
2464 g_string_free(msg, TRUE); |
91d3b40a2f70
No need to clutter the debug log with dozens of lines when
ivan.komarov@soc.pidgin.im
parents:
31341
diff
changeset
|
2465 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2466 while (od->create_rooms) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2467 struct create_room *cr = od->create_rooms->data; |
15823 | 2468 purple_debug_info("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2469 "creating room %s\n", cr->name); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2470 aim_chatnav_createroom(od, conn, cr->name, cr->exchange); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2471 g_free(cr->name); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2472 od->create_rooms = g_slist_remove(od->create_rooms, cr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2473 g_free(cr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2474 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2475 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2476 break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2477 case 0x0008: { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2478 char *fqcn, *name, *ck; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2479 guint16 instance, flags, maxmsglen, maxoccupancy, unknown, exchange; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2480 guint8 createperms; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2481 guint32 createtime; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2482 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2483 fqcn = va_arg(ap, char *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2484 instance = (guint16)va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2485 exchange = (guint16)va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2486 flags = (guint16)va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2487 createtime = va_arg(ap, guint32); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2488 maxmsglen = (guint16)va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2489 maxoccupancy = (guint16)va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2490 createperms = (guint8)va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2491 unknown = (guint16)va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2492 name = va_arg(ap, char *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2493 ck = va_arg(ap, char *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2494 |
15823 | 2495 purple_debug_misc("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2496 "created room: %s %hu %hu %hu %u %hu %hu %hhu %hu %s %s\n", |
29245
49f881831eb9
*** Plucked rev f39cd1fed08fe5f5e3165a087fcc36ed984a6eee (f05c54b03e6bbfdbff38c01697fbd353a969e05e):
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29130
diff
changeset
|
2497 fqcn ? fqcn : "(null)", exchange, instance, flags, createtime, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2498 maxmsglen, maxoccupancy, createperms, unknown, |
29245
49f881831eb9
*** Plucked rev f39cd1fed08fe5f5e3165a087fcc36ed984a6eee (f05c54b03e6bbfdbff38c01697fbd353a969e05e):
Daniel Atallah <daniel.atallah@gmail.com>
parents:
29130
diff
changeset
|
2499 name ? name : "(null)", ck); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2500 aim_chat_join(od, exchange, ck, instance); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2501 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2502 break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2503 default: |
15823 | 2504 purple_debug_warning("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2505 "chatnav info: unknown type (%04hx)\n", type); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2506 break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2507 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2508 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2509 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2510 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2511 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2512 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2513 |
15823 | 2514 static int purple_conv_chat_join(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2515 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2516 int count, i; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2517 aim_userinfo_t *info; |
15823 | 2518 PurpleConnection *gc = od->gc; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2519 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2520 struct chat_connection *c = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2521 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2522 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2523 count = va_arg(ap, int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2524 info = va_arg(ap, aim_userinfo_t *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2525 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2526 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2527 c = find_oscar_chat_by_conn(gc, conn); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2528 if (!c) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2529 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2530 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2531 for (i = 0; i < count; i++) |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
2532 purple_conv_chat_add_user(PURPLE_CONV_CHAT(c->conv), info[i].bn, NULL, PURPLE_CBFLAGS_NONE, TRUE); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2533 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2534 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2535 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2536 |
15823 | 2537 static int purple_conv_chat_leave(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2538 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2539 int count, i; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2540 aim_userinfo_t *info; |
15823 | 2541 PurpleConnection *gc = od->gc; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2542 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2543 struct chat_connection *c = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2544 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2545 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2546 count = va_arg(ap, int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2547 info = va_arg(ap, aim_userinfo_t *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2548 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2549 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2550 c = find_oscar_chat_by_conn(gc, conn); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2551 if (!c) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2552 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2553 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2554 for (i = 0; i < count; i++) |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
2555 purple_conv_chat_remove_user(PURPLE_CONV_CHAT(c->conv), info[i].bn, NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2556 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2557 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2558 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2559 |
15823 | 2560 static int purple_conv_chat_info_update(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2561 va_list ap; |
30821
88689cda97d8
Turns out that ncc doesn't catch everything, so continue killing things mercilessly.
ivan.komarov@soc.pidgin.im
parents:
30820
diff
changeset
|
2562 guint16 maxmsglen, maxvisiblemsglen; |
15823 | 2563 PurpleConnection *gc = od->gc; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2564 struct chat_connection *ccon = find_oscar_chat_by_conn(gc, conn); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2565 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2566 if (!ccon) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2567 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2568 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2569 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2570 maxmsglen = (guint16)va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2571 maxvisiblemsglen = (guint16)va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2572 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2573 |
15823 | 2574 purple_debug_misc("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2575 "inside chat_info_update (maxmsglen = %hu, maxvislen = %hu)\n", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2576 maxmsglen, maxvisiblemsglen); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2577 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2578 ccon->maxlen = maxmsglen; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2579 ccon->maxvis = maxvisiblemsglen; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2580 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2581 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2582 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2583 |
15823 | 2584 static int purple_conv_chat_incoming_msg(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
2585 PurpleConnection *gc = od->gc; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2586 struct chat_connection *ccon = find_oscar_chat_by_conn(gc, conn); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2587 gchar *utf8; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2588 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2589 aim_userinfo_t *info; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2590 int len; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2591 char *msg; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2592 char *charset; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2593 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2594 if (!ccon) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2595 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2596 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2597 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2598 info = va_arg(ap, aim_userinfo_t *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2599 len = va_arg(ap, int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2600 msg = va_arg(ap, char *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2601 charset = va_arg(ap, char *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2602 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2603 |
30819
ca90b6c27eb8
Refactored oscar_encoding_to_utf8().
ivan.komarov@soc.pidgin.im
parents:
30818
diff
changeset
|
2604 utf8 = oscar_encoding_to_utf8(charset, msg, len); |
29923
962bc012a504
This cast is incorrect. It should be (time_t *). But it's actually not needed.
Mark Doliner <mark@kingant.net>
parents:
29872
diff
changeset
|
2605 serv_got_chat_in(gc, ccon->id, info->bn, 0, utf8, time(NULL)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2606 g_free(utf8); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2607 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2608 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2609 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2610 |
15823 | 2611 static int purple_email_parseupdate(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2612 va_list ap; |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
2613 PurpleConnection *gc; |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
2614 PurpleAccount *account; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2615 struct aim_emailinfo *emailinfo; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2616 int havenewmail; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2617 char *alertitle, *alerturl; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2618 |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
2619 gc = od->gc; |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
2620 account = purple_connection_get_account(gc); |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
2621 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2622 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2623 emailinfo = va_arg(ap, struct aim_emailinfo *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2624 havenewmail = va_arg(ap, int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2625 alertitle = va_arg(ap, char *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2626 alerturl = va_arg(ap, char *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2627 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2628 |
27024
7957a5ed53bb
Re-add purple_account_get_check_mail() check to oscar.
Paul Aurich <paul@darkrain42.org>
parents:
26958
diff
changeset
|
2629 if (account != NULL && emailinfo != NULL && purple_account_get_check_mail(account) && |
7957a5ed53bb
Re-add purple_account_get_check_mail() check to oscar.
Paul Aurich <paul@darkrain42.org>
parents:
26958
diff
changeset
|
2630 emailinfo->unread && havenewmail) { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
2631 gchar *to = g_strdup_printf("%s%s%s", |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
2632 purple_account_get_username(account), |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
2633 emailinfo->domain ? "@" : "", |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
2634 emailinfo->domain ? emailinfo->domain : ""); |
25891
2260e5b0ca91
*** Plucked rev f9080d0b (khc@pidgin.im):
Paul Aurich <paul@darkrain42.org>
parents:
25861
diff
changeset
|
2635 const char *tos[2] = { to }; |
26934
0b97f73fa3d2
correctly NULL terminate all the arrays since that's what gtknotify assumes,
Ka-Hing Cheung <khc@hxbc.us>
parents:
26846
diff
changeset
|
2636 const char *urls[2] = { emailinfo->url }; |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
2637 purple_notify_emails(gc, emailinfo->nummsgs, FALSE, NULL, NULL, |
26934
0b97f73fa3d2
correctly NULL terminate all the arrays since that's what gtknotify assumes,
Ka-Hing Cheung <khc@hxbc.us>
parents:
26846
diff
changeset
|
2638 tos, urls, NULL, NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2639 g_free(to); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2640 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2641 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2642 if (alertitle) |
15823 | 2643 purple_debug_misc("oscar", "Got an alert '%s' %s\n", alertitle, alerturl ? alerturl : ""); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2644 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2645 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2646 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2647 |
15823 | 2648 static int purple_icon_parseicon(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
2649 PurpleConnection *gc = od->gc; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2650 va_list ap; |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
2651 char *bn; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2652 guint8 iconcsumtype, *iconcsum, *icon; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2653 guint16 iconcsumlen, iconlen; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2654 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2655 va_start(ap, fr); |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
2656 bn = va_arg(ap, char *); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2657 iconcsumtype = va_arg(ap, int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2658 iconcsum = va_arg(ap, guint8 *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2659 iconcsumlen = va_arg(ap, int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2660 icon = va_arg(ap, guint8 *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2661 iconlen = va_arg(ap, int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2662 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2663 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2664 /* |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2665 * Some AIM clients will send a blank GIF image with iconlen 90 when |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2666 * no icon is set. Ignore these. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2667 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2668 if ((iconlen > 0) && (iconlen != 90)) { |
16386
e0c9a46b459f
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@wiktel.com>
parents:
16375
diff
changeset
|
2669 char *b16 = purple_base16_encode(iconcsum, iconcsumlen); |
15823 | 2670 purple_buddy_icons_set_for_user(purple_connection_get_account(gc), |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
2671 bn, g_memdup(icon, iconlen), iconlen, b16); |
16386
e0c9a46b459f
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@wiktel.com>
parents:
16375
diff
changeset
|
2672 g_free(b16); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2673 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2674 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2675 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2676 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2677 |
18816
7a27e3729612
Fetch icons all at once instead of one at a time. I tried pretty hard
Mark Doliner <mark@kingant.net>
parents:
18814
diff
changeset
|
2678 static void |
7a27e3729612
Fetch icons all at once instead of one at a time. I tried pretty hard
Mark Doliner <mark@kingant.net>
parents:
18814
diff
changeset
|
2679 purple_icons_fetch(PurpleConnection *gc) |
7a27e3729612
Fetch icons all at once instead of one at a time. I tried pretty hard
Mark Doliner <mark@kingant.net>
parents:
18814
diff
changeset
|
2680 { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
2681 OscarData *od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2682 aim_userinfo_t *userinfo; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2683 FlapConnection *conn; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2684 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2685 conn = flap_connection_getbytype(od, SNAC_FAMILY_BART); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2686 if (!conn) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2687 if (!od->iconconnecting) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2688 aim_srv_requestnew(od, SNAC_FAMILY_BART); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2689 od->iconconnecting = TRUE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2690 } |
18816
7a27e3729612
Fetch icons all at once instead of one at a time. I tried pretty hard
Mark Doliner <mark@kingant.net>
parents:
18814
diff
changeset
|
2691 return; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2692 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2693 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2694 if (od->set_icon) { |
16390
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
2695 PurpleAccount *account = purple_connection_get_account(gc); |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
2696 PurpleStoredImage *img = purple_buddy_icons_find_account_icon(account); |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
2697 if (img == NULL) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2698 aim_ssi_delicon(od); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2699 } else { |
16390
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
2700 purple_debug_info("oscar", |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
2701 "Uploading icon to icon server\n"); |
18816
7a27e3729612
Fetch icons all at once instead of one at a time. I tried pretty hard
Mark Doliner <mark@kingant.net>
parents:
18814
diff
changeset
|
2702 aim_bart_upload(od, purple_imgstore_get_data(img), |
16390
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
2703 purple_imgstore_get_size(img)); |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
2704 purple_imgstore_unref(img); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2705 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2706 od->set_icon = FALSE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2707 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2708 |
18816
7a27e3729612
Fetch icons all at once instead of one at a time. I tried pretty hard
Mark Doliner <mark@kingant.net>
parents:
18814
diff
changeset
|
2709 while (od->requesticon != NULL) |
7a27e3729612
Fetch icons all at once instead of one at a time. I tried pretty hard
Mark Doliner <mark@kingant.net>
parents:
18814
diff
changeset
|
2710 { |
7a27e3729612
Fetch icons all at once instead of one at a time. I tried pretty hard
Mark Doliner <mark@kingant.net>
parents:
18814
diff
changeset
|
2711 userinfo = aim_locate_finduserinfo(od, (char *)od->requesticon->data); |
7a27e3729612
Fetch icons all at once instead of one at a time. I tried pretty hard
Mark Doliner <mark@kingant.net>
parents:
18814
diff
changeset
|
2712 if ((userinfo != NULL) && (userinfo->iconcsumlen > 0)) |
7a27e3729612
Fetch icons all at once instead of one at a time. I tried pretty hard
Mark Doliner <mark@kingant.net>
parents:
18814
diff
changeset
|
2713 aim_bart_request(od, od->requesticon->data, userinfo->iconcsumtype, userinfo->iconcsum, userinfo->iconcsumlen); |
7a27e3729612
Fetch icons all at once instead of one at a time. I tried pretty hard
Mark Doliner <mark@kingant.net>
parents:
18814
diff
changeset
|
2714 |
7a27e3729612
Fetch icons all at once instead of one at a time. I tried pretty hard
Mark Doliner <mark@kingant.net>
parents:
18814
diff
changeset
|
2715 g_free(od->requesticon->data); |
7a27e3729612
Fetch icons all at once instead of one at a time. I tried pretty hard
Mark Doliner <mark@kingant.net>
parents:
18814
diff
changeset
|
2716 od->requesticon = g_slist_delete_link(od->requesticon, od->requesticon); |
7a27e3729612
Fetch icons all at once instead of one at a time. I tried pretty hard
Mark Doliner <mark@kingant.net>
parents:
18814
diff
changeset
|
2717 } |
7a27e3729612
Fetch icons all at once instead of one at a time. I tried pretty hard
Mark Doliner <mark@kingant.net>
parents:
18814
diff
changeset
|
2718 |
7a27e3729612
Fetch icons all at once instead of one at a time. I tried pretty hard
Mark Doliner <mark@kingant.net>
parents:
18814
diff
changeset
|
2719 purple_debug_misc("oscar", "no more icons to request\n"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2720 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2721 |
15823 | 2722 static int purple_selfinfo(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2723 int warning_level; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2724 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2725 aim_userinfo_t *info; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2726 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2727 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2728 info = va_arg(ap, aim_userinfo_t *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2729 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2730 |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
2731 purple_connection_set_display_name(od->gc, info->bn); |
21730
e501c2c675cd
Always set gc->display_name to the formatted version of your screen
Mark Doliner <mark@kingant.net>
parents:
21728
diff
changeset
|
2732 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2733 /* |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2734 * What's with the + 0.5? |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2735 * The 0.5 is basically poor-man's rounding. Normally |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2736 * casting "13.7" to an int will truncate to "13," but |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2737 * with 13.7 + 0.5 = 14.2, which becomes "14" when |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2738 * truncated. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2739 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2740 warning_level = info->warnlevel/10.0 + 0.5; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2741 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2742 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2743 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2744 |
15823 | 2745 static int purple_connerr(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
2746 PurpleConnection *gc = od->gc; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2747 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2748 guint16 code; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2749 char *msg; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2750 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2751 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2752 code = (guint16)va_arg(ap, int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2753 msg = va_arg(ap, char *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2754 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2755 |
15823 | 2756 purple_debug_info("oscar", "Disconnected. Code is 0x%04x and msg is %s\n", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2757 code, (msg != NULL ? msg : "")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2758 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2759 g_return_val_if_fail(conn != NULL, 1); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2760 |
18609
2774acdb1cff
Move a call to purple_connection_error() from oscar.c to
Mark Doliner <mark@kingant.net>
parents:
18608
diff
changeset
|
2761 if (conn->type == SNAC_FAMILY_CHAT) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2762 struct chat_connection *cc; |
18613
c5be17bbb6e4
Get rid of a crash that happens when signing off if you have a chat room
Mark Doliner <mark@kingant.net>
parents:
18611
diff
changeset
|
2763 PurpleConversation *conv = NULL; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2764 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2765 cc = find_oscar_chat_by_conn(gc, conn); |
18613
c5be17bbb6e4
Get rid of a crash that happens when signing off if you have a chat room
Mark Doliner <mark@kingant.net>
parents:
18611
diff
changeset
|
2766 if (cc != NULL) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2767 { |
18613
c5be17bbb6e4
Get rid of a crash that happens when signing off if you have a chat room
Mark Doliner <mark@kingant.net>
parents:
18611
diff
changeset
|
2768 conv = purple_find_chat(gc, cc->id); |
c5be17bbb6e4
Get rid of a crash that happens when signing off if you have a chat room
Mark Doliner <mark@kingant.net>
parents:
18611
diff
changeset
|
2769 |
c5be17bbb6e4
Get rid of a crash that happens when signing off if you have a chat room
Mark Doliner <mark@kingant.net>
parents:
18611
diff
changeset
|
2770 if (conv != NULL) |
c5be17bbb6e4
Get rid of a crash that happens when signing off if you have a chat room
Mark Doliner <mark@kingant.net>
parents:
18611
diff
changeset
|
2771 { |
c5be17bbb6e4
Get rid of a crash that happens when signing off if you have a chat room
Mark Doliner <mark@kingant.net>
parents:
18611
diff
changeset
|
2772 /* |
c5be17bbb6e4
Get rid of a crash that happens when signing off if you have a chat room
Mark Doliner <mark@kingant.net>
parents:
18611
diff
changeset
|
2773 * TOOD: Have flap_connection_destroy_cb() send us the |
c5be17bbb6e4
Get rid of a crash that happens when signing off if you have a chat room
Mark Doliner <mark@kingant.net>
parents:
18611
diff
changeset
|
2774 * error message stored in 'tmp', which should be |
c5be17bbb6e4
Get rid of a crash that happens when signing off if you have a chat room
Mark Doliner <mark@kingant.net>
parents:
18611
diff
changeset
|
2775 * human-friendly, and print that to the chat room. |
c5be17bbb6e4
Get rid of a crash that happens when signing off if you have a chat room
Mark Doliner <mark@kingant.net>
parents:
18611
diff
changeset
|
2776 */ |
c5be17bbb6e4
Get rid of a crash that happens when signing off if you have a chat room
Mark Doliner <mark@kingant.net>
parents:
18611
diff
changeset
|
2777 gchar *buf; |
c5be17bbb6e4
Get rid of a crash that happens when signing off if you have a chat room
Mark Doliner <mark@kingant.net>
parents:
18611
diff
changeset
|
2778 buf = g_strdup_printf(_("You have been disconnected from chat " |
c5be17bbb6e4
Get rid of a crash that happens when signing off if you have a chat room
Mark Doliner <mark@kingant.net>
parents:
18611
diff
changeset
|
2779 "room %s."), cc->name); |
c5be17bbb6e4
Get rid of a crash that happens when signing off if you have a chat room
Mark Doliner <mark@kingant.net>
parents:
18611
diff
changeset
|
2780 purple_conversation_write(conv, NULL, buf, PURPLE_MESSAGE_ERROR, time(NULL)); |
c5be17bbb6e4
Get rid of a crash that happens when signing off if you have a chat room
Mark Doliner <mark@kingant.net>
parents:
18611
diff
changeset
|
2781 g_free(buf); |
c5be17bbb6e4
Get rid of a crash that happens when signing off if you have a chat room
Mark Doliner <mark@kingant.net>
parents:
18611
diff
changeset
|
2782 } |
c5be17bbb6e4
Get rid of a crash that happens when signing off if you have a chat room
Mark Doliner <mark@kingant.net>
parents:
18611
diff
changeset
|
2783 oscar_chat_kill(gc, cc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2784 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2785 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2786 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2787 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2788 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2789 |
15823 | 2790 static int purple_parse_locaterights(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2791 { |
15823 | 2792 PurpleConnection *gc = od->gc; |
2793 PurpleAccount *account = purple_connection_get_account(gc); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2794 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2795 guint16 maxsiglen; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2796 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2797 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2798 maxsiglen = (guint16) va_arg(ap, int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2799 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2800 |
15823 | 2801 purple_debug_misc("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2802 "locate rights: max sig len = %d\n", maxsiglen); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2803 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2804 od->rights.maxsiglen = od->rights.maxawaymsglen = (guint)maxsiglen; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2805 |
15823 | 2806 aim_locate_setcaps(od, purple_caps); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2807 oscar_set_info_and_status(account, TRUE, account->user_info, TRUE, |
15823 | 2808 purple_account_get_active_status(account)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2809 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2810 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2811 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2812 |
15823 | 2813 static int purple_parse_buddyrights(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2814 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2815 guint16 maxbuddies, maxwatchers; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2816 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2817 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2818 maxbuddies = (guint16) va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2819 maxwatchers = (guint16) va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2820 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2821 |
15823 | 2822 purple_debug_misc("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2823 "buddy list rights: Max buddies = %hu / Max watchers = %hu\n", maxbuddies, maxwatchers); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2824 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2825 od->rights.maxbuddies = (guint)maxbuddies; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2826 od->rights.maxwatchers = (guint)maxwatchers; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2827 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2828 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2829 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2830 |
31654
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2831 static void oscar_format_username(PurpleConnection *gc, const char *new_display_name) |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2832 { |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2833 OscarData *od; |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2834 const char *old_display_name, *username; |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2835 char *tmp, *at_sign; |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2836 |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2837 old_display_name = purple_connection_get_display_name(gc); |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2838 if (old_display_name && strchr(old_display_name, '@')) { |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2839 purple_debug_info("oscar", "Cowardly refusing to attempt to format " |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2840 "screen name because the current formatting according to " |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2841 "the server (%s) appears to be an email address\n", |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2842 old_display_name); |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2843 return; |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2844 } |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2845 |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2846 username = purple_account_get_username(purple_connection_get_account(gc)); |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2847 if (oscar_util_name_compare(username, new_display_name)) { |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2848 purple_notify_error(gc, NULL, _("The new formatting is invalid."), |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2849 _("Username formatting can change only capitalization and whitespace.")); |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2850 return; |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2851 } |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2852 |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2853 tmp = g_strdup(new_display_name); |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2854 |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2855 /* |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2856 * If our local username is an email address then strip off the domain. |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2857 * This allows formatting to work if the user entered their username as |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2858 * 'something@aim.com' or possibly other AOL-owned domains. |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2859 */ |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2860 at_sign = strchr(tmp, '@'); |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2861 if (at_sign) |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2862 at_sign[0] = '\0'; |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2863 |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2864 od = purple_connection_get_protocol_data(gc); |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2865 if (!flap_connection_getbytype(od, SNAC_FAMILY_ADMIN)) { |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2866 /* We don't have a connection to an "admin" server. Make one. */ |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2867 od->setnick = TRUE; |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2868 g_free(od->newformatting); |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2869 od->newformatting = tmp; |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2870 aim_srv_requestnew(od, SNAC_FAMILY_ADMIN); |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2871 } else { |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2872 aim_admin_setnick(od, flap_connection_getbytype(od, SNAC_FAMILY_ADMIN), tmp); |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2873 g_free(tmp); |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2874 } |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2875 } |
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2876 |
15823 | 2877 static int purple_bosrights(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
2878 PurpleConnection *gc; | |
2879 PurpleAccount *account; | |
2880 PurpleStatus *status; | |
27466
eb059c7d8b11
Oh, make sure we still set the itmsurl if we're available but don't have
Mark Doliner <mark@kingant.net>
parents:
27465
diff
changeset
|
2881 gboolean is_available; |
19394
bbaa74c3264a
I'm going to assume this works, without the benefit of testing. Restore AIM idle time on a reconnect. Fixes #333
Sean Egan <seanegan@gmail.com>
parents:
19197
diff
changeset
|
2882 PurplePresence *presence; |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
2883 const char *username, *message, *itmsurl; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2884 char *tmp; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2885 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2886 guint16 maxpermits, maxdenies; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2887 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2888 gc = od->gc; |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
2889 od = purple_connection_get_protocol_data(gc); |
15823 | 2890 account = purple_connection_get_account(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2891 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2892 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2893 maxpermits = (guint16) va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2894 maxdenies = (guint16) va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2895 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2896 |
15823 | 2897 purple_debug_misc("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2898 "BOS rights: Max permit = %hu / Max deny = %hu\n", maxpermits, maxdenies); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2899 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2900 od->rights.maxpermits = (guint)maxpermits; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2901 od->rights.maxdenies = (guint)maxdenies; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2902 |
15823 | 2903 purple_debug_info("oscar", "buddy list loaded\n"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2904 |
15823 | 2905 if (purple_account_get_user_info(account) != NULL) |
2906 serv_set_info(gc, purple_account_get_user_info(account)); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2907 |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
2908 username = purple_account_get_username(account); |
31654
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2909 if (!od->icq && strcmp(username, purple_connection_get_display_name(gc)) != 0) { |
22603
e8d35793bd71
Only call oscar_format_screenname() on connecting if we need to
Mark Doliner <mark@kingant.net>
parents:
22551
diff
changeset
|
2910 /* |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
2911 * Format the username for AIM accounts if it's different |
22603
e8d35793bd71
Only call oscar_format_screenname() on connecting if we need to
Mark Doliner <mark@kingant.net>
parents:
22551
diff
changeset
|
2912 * than what's currently set. |
e8d35793bd71
Only call oscar_format_screenname() on connecting if we need to
Mark Doliner <mark@kingant.net>
parents:
22551
diff
changeset
|
2913 */ |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
2914 oscar_format_username(gc, username); |
31654
b39a2bd81566
Small changes to how we format oscar screen names. We now
Mark Doliner <mark@kingant.net>
parents:
31534
diff
changeset
|
2915 } |
15680
cad32dba756b
Automatically format screenname to account->username
Sean Egan <seanegan@gmail.com>
parents:
15679
diff
changeset
|
2916 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2917 /* Set our available message based on the current status */ |
15823 | 2918 status = purple_account_get_active_status(account); |
27466
eb059c7d8b11
Oh, make sure we still set the itmsurl if we're available but don't have
Mark Doliner <mark@kingant.net>
parents:
27465
diff
changeset
|
2919 is_available = purple_status_is_available(status); |
eb059c7d8b11
Oh, make sure we still set the itmsurl if we're available but don't have
Mark Doliner <mark@kingant.net>
parents:
27465
diff
changeset
|
2920 if (is_available) |
15823 | 2921 message = purple_status_get_attr_string(status, "message"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2922 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2923 message = NULL; |
15823 | 2924 tmp = purple_markup_strip_html(message); |
2925 itmsurl = purple_status_get_attr_string(status, "itmsurl"); | |
27466
eb059c7d8b11
Oh, make sure we still set the itmsurl if we're available but don't have
Mark Doliner <mark@kingant.net>
parents:
27465
diff
changeset
|
2926 aim_srv_setextrainfo(od, FALSE, 0, is_available, tmp, itmsurl); |
30831
be056399ae5f
Fixes #12044. We send a dummy packet with DC version = 8 to make
ivan.komarov@soc.pidgin.im
parents:
30829
diff
changeset
|
2927 aim_srv_set_dc_info(od); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2928 g_free(tmp); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2929 |
19394
bbaa74c3264a
I'm going to assume this works, without the benefit of testing. Restore AIM idle time on a reconnect. Fixes #333
Sean Egan <seanegan@gmail.com>
parents:
19197
diff
changeset
|
2930 presence = purple_status_get_presence(status); |
19583
66882abaf8f1
rewster from #pidgin pointed out that the conditional was reversed, and
Ka-Hing Cheung <khc@hxbc.us>
parents:
19394
diff
changeset
|
2931 aim_srv_setidle(od, !purple_presence_is_idle(presence) ? 0 : time(NULL) - purple_presence_get_idle_time(presence)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2932 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2933 if (od->icq) { |
30801
3ada0cc7d2c5
"Invisibility mode" improvements.
ivan.komarov@soc.pidgin.im
parents:
30800
diff
changeset
|
2934 oscar_set_extended_status(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2935 aim_icq_setsecurity(od, |
15823 | 2936 purple_account_get_bool(account, "authorization", OSCAR_DEFAULT_AUTHORIZATION), |
2937 purple_account_get_bool(account, "web_aware", OSCAR_DEFAULT_WEB_AWARE)); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2938 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2939 |
27242
763247959e00
It's ok to always request this connection now. It probably still doesn't
Mark Doliner <mark@kingant.net>
parents:
27225
diff
changeset
|
2940 aim_srv_requestnew(od, SNAC_FAMILY_ALERT); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2941 aim_srv_requestnew(od, SNAC_FAMILY_CHATNAV); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2942 |
28758
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
2943 od->bos.have_rights = TRUE; |
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
2944 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2945 /* |
28758
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
2946 * If we've already received our feedbag data then we're not waiting on |
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
2947 * anything else, so send the server clientready. |
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
2948 * |
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
2949 * Normally we get bos rights before we get our feedbag data, so this |
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
2950 * rarely (never?) happens. And I'm not sure it actually matters if we |
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
2951 * wait for bos rights before calling clientready. But it seems safer |
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
2952 * to do it this way. |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2953 */ |
28758
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
2954 if (od->ssi.received_data) { |
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
2955 aim_srv_clientready(od, conn); |
28881
30f8f2105740
I believe this change fixes offline message retrieval.
Mark Doliner <mark@kingant.net>
parents:
28879
diff
changeset
|
2956 |
30f8f2105740
I believe this change fixes offline message retrieval.
Mark Doliner <mark@kingant.net>
parents:
28879
diff
changeset
|
2957 /* Request offline messages for AIM and ICQ */ |
30f8f2105740
I believe this change fixes offline message retrieval.
Mark Doliner <mark@kingant.net>
parents:
28879
diff
changeset
|
2958 aim_im_reqofflinemsgs(od); |
30f8f2105740
I believe this change fixes offline message retrieval.
Mark Doliner <mark@kingant.net>
parents:
28879
diff
changeset
|
2959 |
28758
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
2960 purple_connection_set_state(gc, PURPLE_CONNECTED); |
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
2961 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2962 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2963 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2964 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2965 |
15823 | 2966 static int purple_popup(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2967 { |
15823 | 2968 PurpleConnection *gc = od->gc; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2969 gchar *text; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2970 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2971 char *msg, *url; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2972 guint16 wid, hei, delay; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2973 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2974 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2975 msg = va_arg(ap, char *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2976 url = va_arg(ap, char *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2977 wid = (guint16) va_arg(ap, int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2978 hei = (guint16) va_arg(ap, int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2979 delay = (guint16) va_arg(ap, int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2980 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2981 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2982 text = g_strdup_printf("%s<br><a href=\"%s\">%s</a>", msg, url, url); |
15823 | 2983 purple_notify_formatted(gc, NULL, _("Pop-Up Message"), NULL, text, NULL, NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2984 g_free(text); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2985 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2986 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2987 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2988 |
15823 | 2989 static void oscar_searchresults_add_buddy_cb(PurpleConnection *gc, GList *row, void *user_data) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2990 { |
15823 | 2991 purple_blist_request_add_buddy(purple_connection_get_account(gc), |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2992 g_list_nth_data(row, 0), NULL, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2993 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2994 |
15823 | 2995 static int purple_parse_searchreply(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2996 { |
15823 | 2997 PurpleConnection *gc = od->gc; |
2998 PurpleNotifySearchResults *results; | |
2999 PurpleNotifySearchColumn *column; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3000 gchar *secondary; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3001 int i, num; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3002 va_list ap; |
22394
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3003 char *email, *usernames; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3004 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3005 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3006 email = va_arg(ap, char *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3007 num = va_arg(ap, int); |
22394
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3008 usernames = va_arg(ap, char *); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3009 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3010 |
15823 | 3011 results = purple_notify_searchresults_new(); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3012 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3013 if (results == NULL) { |
15823 | 3014 purple_debug_error("oscar", "purple_parse_searchreply: " |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3015 "Unable to display the search results.\n"); |
15823 | 3016 purple_notify_error(gc, NULL, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3017 _("Unable to display the search results."), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3018 NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3019 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3020 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3021 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3022 secondary = g_strdup_printf( |
22394
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3023 dngettext(PACKAGE, "The following username is associated with %s", |
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3024 "The following usernames are associated with %s", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3025 num), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3026 email); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3027 |
22394
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3028 column = purple_notify_searchresults_column_new(_("Username")); |
15823 | 3029 purple_notify_searchresults_column_add(results, column); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3030 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3031 for (i = 0; i < num; i++) { |
22394
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3032 GList *row; |
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3033 row = g_list_append(NULL, g_strdup(&usernames[i * (MAXSNLEN + 1)])); |
15823 | 3034 purple_notify_searchresults_row_add(results, row); |
3035 } | |
3036 purple_notify_searchresults_button_add(results, PURPLE_NOTIFY_BUTTON_ADD, | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3037 oscar_searchresults_add_buddy_cb); |
15823 | 3038 purple_notify_searchresults(gc, NULL, NULL, secondary, results, NULL, NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3039 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3040 g_free(secondary); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3041 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3042 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3043 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3044 |
15823 | 3045 static int purple_parse_searcherror(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3046 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3047 char *email; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3048 char *buf; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3049 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3050 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3051 email = va_arg(ap, char *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3052 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3053 |
23182
e0bcb8cfda74
Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents:
22846
diff
changeset
|
3054 buf = g_strdup_printf(_("No results found for email address %s"), email); |
15823 | 3055 purple_notify_error(od->gc, NULL, buf, NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3056 g_free(buf); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3057 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3058 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3059 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3060 |
15823 | 3061 static int purple_account_confirm(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
3062 PurpleConnection *gc = od->gc; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3063 guint16 status; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3064 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3065 char msg[256]; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3066 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3067 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3068 status = (guint16) va_arg(ap, unsigned int); /* status code of confirmation request */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3069 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3070 |
15823 | 3071 purple_debug_info("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3072 "account confirmation returned status 0x%04x (%s)\n", status, |
23182
e0bcb8cfda74
Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents:
22846
diff
changeset
|
3073 status ? "unknown" : "email sent"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3074 if (!status) { |
23182
e0bcb8cfda74
Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents:
22846
diff
changeset
|
3075 g_snprintf(msg, sizeof(msg), _("You should receive an email asking to confirm %s."), |
15823 | 3076 purple_account_get_username(purple_connection_get_account(gc))); |
3077 purple_notify_info(gc, NULL, _("Account Confirmation Requested"), msg); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3078 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3079 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3080 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3081 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3082 |
15823 | 3083 static int purple_info_change(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
3084 PurpleConnection *gc = od->gc; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3085 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3086 guint16 perms, err; |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
3087 char *url, *bn, *email; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3088 int change; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3089 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3090 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3091 change = va_arg(ap, int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3092 perms = (guint16) va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3093 err = (guint16) va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3094 url = va_arg(ap, char *); |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
3095 bn = va_arg(ap, char *); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3096 email = va_arg(ap, char *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3097 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3098 |
15823 | 3099 purple_debug_misc("oscar", |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
3100 "account info: because of %s, perms=0x%04x, err=0x%04x, url=%s, bn=%s, email=%s\n", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3101 change ? "change" : "request", perms, err, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3102 (url != NULL) ? url : "(null)", |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
3103 (bn != NULL) ? bn : "(null)", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3104 (email != NULL) ? email : "(null)"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3105 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3106 if ((err > 0) && (url != NULL)) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3107 char *dialog_msg; |
22394
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3108 |
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3109 if (err == 0x0001) |
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3110 dialog_msg = g_strdup_printf(_("Error 0x%04x: Unable to format username because the requested name differs from the original."), err); |
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3111 else if (err == 0x0006) |
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3112 dialog_msg = g_strdup_printf(_("Error 0x%04x: Unable to format username because it is invalid."), err); |
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3113 else if (err == 0x00b) |
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3114 dialog_msg = g_strdup_printf(_("Error 0x%04x: Unable to format username because the requested name is too long."), err); |
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3115 else if (err == 0x001d) |
23182
e0bcb8cfda74
Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents:
22846
diff
changeset
|
3116 dialog_msg = g_strdup_printf(_("Error 0x%04x: Unable to change email address because there is already a request pending for this username."), err); |
22394
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3117 else if (err == 0x0021) |
23182
e0bcb8cfda74
Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents:
22846
diff
changeset
|
3118 dialog_msg = g_strdup_printf(_("Error 0x%04x: Unable to change email address because the given address has too many usernames associated with it."), err); |
22394
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3119 else if (err == 0x0023) |
23182
e0bcb8cfda74
Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents:
22846
diff
changeset
|
3120 dialog_msg = g_strdup_printf(_("Error 0x%04x: Unable to change email address because the given address is invalid."), err); |
22394
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3121 else |
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3122 dialog_msg = g_strdup_printf(_("Error 0x%04x: Unknown error."), err); |
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3123 purple_notify_error(gc, NULL, |
3e2fe115c330
Switch to using "username" instead of "screen name." I really really
Mark Doliner <mark@kingant.net>
parents:
22342
diff
changeset
|
3124 _("Error Changing Account Info"), dialog_msg); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3125 g_free(dialog_msg); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3126 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3127 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3128 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3129 if (email != NULL) { |
23182
e0bcb8cfda74
Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents:
22846
diff
changeset
|
3130 char *dialog_msg = g_strdup_printf(_("The email address for %s is %s"), |
15823 | 3131 purple_account_get_username(purple_connection_get_account(gc)), email); |
3132 purple_notify_info(gc, NULL, _("Account Info"), dialog_msg); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3133 g_free(dialog_msg); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3134 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3135 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3136 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3137 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3138 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3139 void |
15823 | 3140 oscar_keepalive(PurpleConnection *gc) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3141 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3142 OscarData *od; |
31764
04576947c4e0
Send keepalives for all types of network connections. Will hopefully
Mark Doliner <mark@kingant.net>
parents:
31694
diff
changeset
|
3143 GSList *l; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3144 |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
3145 od = purple_connection_get_protocol_data(gc); |
31764
04576947c4e0
Send keepalives for all types of network connections. Will hopefully
Mark Doliner <mark@kingant.net>
parents:
31694
diff
changeset
|
3146 for (l = od->oscar_connections; l; l = l->next) { |
04576947c4e0
Send keepalives for all types of network connections. Will hopefully
Mark Doliner <mark@kingant.net>
parents:
31694
diff
changeset
|
3147 flap_connection_send_keepalive(od, l->data); |
04576947c4e0
Send keepalives for all types of network connections. Will hopefully
Mark Doliner <mark@kingant.net>
parents:
31694
diff
changeset
|
3148 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3149 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3150 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3151 unsigned int |
15823 | 3152 oscar_send_typing(PurpleConnection *gc, const char *name, PurpleTypingState state) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3153 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3154 OscarData *od; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3155 PeerConnection *conn; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3156 |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
3157 od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3158 conn = peer_connection_find_by_type(od, name, OSCAR_CAPABILITY_DIRECTIM); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3159 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3160 if ((conn != NULL) && (conn->ready)) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3161 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3162 peer_odc_send_typing(conn, state); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3163 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3164 else { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3165 /* Don't send if this turkey is in our deny list */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3166 GSList *list; |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
3167 for (list=gc->account->deny; (list && oscar_util_name_compare(name, list->data)); list=list->next); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3168 if (!list) { |
15823 | 3169 struct buddyinfo *bi = g_hash_table_lookup(od->buddyinfo, purple_normalize(gc->account, name)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3170 if (bi && bi->typingnot) { |
15823 | 3171 if (state == PURPLE_TYPING) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3172 aim_im_sendmtn(od, 0x0001, name, 0x0002); |
15823 | 3173 else if (state == PURPLE_TYPED) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3174 aim_im_sendmtn(od, 0x0001, name, 0x0001); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3175 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3176 aim_im_sendmtn(od, 0x0001, name, 0x0000); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3177 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3178 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3179 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3180 return 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3181 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3182 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3183 /* TODO: Move this into odc.c! */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3184 static void |
15823 | 3185 purple_odc_send_im(PeerConnection *conn, const char *message, PurpleMessageFlags imflags) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3186 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3187 GString *msg; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3188 GString *data; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3189 gchar *tmp; |
30818
9d386bf63eab
Stop using custom encodings (and LATIN-1, for that matter) for sending
ivan.komarov@soc.pidgin.im
parents:
30815
diff
changeset
|
3190 gsize tmplen; |
9d386bf63eab
Stop using custom encodings (and LATIN-1, for that matter) for sending
ivan.komarov@soc.pidgin.im
parents:
30815
diff
changeset
|
3191 guint16 charset; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3192 GData *attribs; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3193 const char *start, *end, *last; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3194 int oscar_id = 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3195 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3196 msg = g_string_new("<HTML><BODY>"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3197 data = g_string_new("<BINARY>"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3198 last = message; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3199 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3200 /* for each valid IMG tag... */ |
15823 | 3201 while (last && *last && purple_markup_find_tag("img", last, &start, &end, &attribs)) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3202 { |
15823 | 3203 PurpleStoredImage *image = NULL; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3204 const char *id; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3205 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3206 if (start - last) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3207 g_string_append_len(msg, last, start - last); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3208 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3209 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3210 id = g_datalist_get_data(&attribs, "id"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3211 |
15823 | 3212 /* ... if it refers to a valid purple image ... */ |
16375
391a79778f89
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@wiktel.com>
parents:
16330
diff
changeset
|
3213 if (id && (image = purple_imgstore_find_by_id(atoi(id)))) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3214 /* ... append the message from start to the tag ... */ |
15823 | 3215 unsigned long size = purple_imgstore_get_size(image); |
3216 const char *filename = purple_imgstore_get_filename(image); | |
16375
391a79778f89
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@wiktel.com>
parents:
16330
diff
changeset
|
3217 gconstpointer imgdata = purple_imgstore_get_data(image); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3218 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3219 oscar_id++; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3220 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3221 /* ... insert a new img tag with the oscar id ... */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3222 if (filename) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3223 g_string_append_printf(msg, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3224 "<IMG SRC=\"%s\" ID=\"%d\" DATASIZE=\"%lu\">", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3225 filename, oscar_id, size); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3226 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3227 g_string_append_printf(msg, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3228 "<IMG ID=\"%d\" DATASIZE=\"%lu\">", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3229 oscar_id, size); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3230 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3231 /* ... and append the data to the binary section ... */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3232 g_string_append_printf(data, "<DATA ID=\"%d\" SIZE=\"%lu\">", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3233 oscar_id, size); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3234 g_string_append_len(data, imgdata, size); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3235 g_string_append(data, "</DATA>"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3236 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3237 /* If the tag is invalid, skip it, thus no else here */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3238 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3239 g_datalist_clear(&attribs); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3240 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3241 /* continue from the end of the tag */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3242 last = end + 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3243 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3244 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3245 /* append any remaining message data */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3246 if (last && *last) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3247 g_string_append(msg, last); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3248 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3249 g_string_append(msg, "</BODY></HTML>"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3250 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3251 /* Convert the message to a good encoding */ |
30827 | 3252 tmp = oscar_encode_im(msg->str, &tmplen, &charset, NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3253 g_string_free(msg, TRUE); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3254 msg = g_string_new_len(tmp, tmplen); |
17150
9c8172ddc72d
Fix a leak of the string in each Direct IM message, reported by jas8522 in AdiumTicket:#6982
Evan Schoenberg <evan.s@dreskin.net>
parents:
16956
diff
changeset
|
3255 g_free(tmp); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3256 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3257 /* Append any binary data that we may have */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3258 if (oscar_id) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3259 msg = g_string_append_len(msg, data->str, data->len); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3260 msg = g_string_append(msg, "</BINARY>"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3261 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3262 g_string_free(data, TRUE); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3263 |
28991
8a90bd0a3b79
Plucked d2a1d52b3bbf29baa53b9ddaa635d50b6332064f from im.pidgin.adium
Evan Schoenberg <evan.s@dreskin.net>
parents:
28884
diff
changeset
|
3264 purple_debug_info("oscar", "sending direct IM %s using charset %i", msg->str, charset); |
31534
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
31488
diff
changeset
|
3265 |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
3266 peer_odc_send_im(conn, msg->str, msg->len, charset, |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
3267 imflags & PURPLE_MESSAGE_AUTO_RESP); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3268 g_string_free(msg, TRUE); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3269 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3270 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3271 int |
15823 | 3272 oscar_send_im(PurpleConnection *gc, const char *name, const char *message, PurpleMessageFlags imflags) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3273 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3274 OscarData *od; |
15823 | 3275 PurpleAccount *account; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3276 PeerConnection *conn; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3277 int ret; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3278 char *tmp1, *tmp2; |
22342
03b2b21b4c42
* Don't flag outgoing oscar messages as "offline deliverable" if the
Mark Doliner <mark@kingant.net>
parents:
22337
diff
changeset
|
3279 gboolean is_sms, is_html; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3280 |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
3281 od = purple_connection_get_protocol_data(gc); |
15823 | 3282 account = purple_connection_get_account(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3283 ret = 0; |
15823 | 3284 |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
3285 is_sms = oscar_util_valid_name_sms(name); |
22342
03b2b21b4c42
* Don't flag outgoing oscar messages as "offline deliverable" if the
Mark Doliner <mark@kingant.net>
parents:
22337
diff
changeset
|
3286 |
03b2b21b4c42
* Don't flag outgoing oscar messages as "offline deliverable" if the
Mark Doliner <mark@kingant.net>
parents:
22337
diff
changeset
|
3287 if (od->icq && is_sms) { |
19640
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
3288 /* |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
3289 * We're sending to a phone number and this is ICQ, |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
3290 * so send the message as an SMS using aim_icq_sendsms() |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
3291 */ |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
3292 int ret; |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
3293 purple_debug_info("oscar", "Sending SMS to %s.\n", name); |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
3294 ret = aim_icq_sendsms(od, name, message, purple_account_get_username(account)); |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
3295 return (ret >= 0 ? 1 : ret); |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
3296 } |
eb0933e158a4
Add non-US SMS support for ICQ. This is a patch from DB42.
Mark Doliner <mark@kingant.net>
parents:
19583
diff
changeset
|
3297 |
15823 | 3298 if (imflags & PURPLE_MESSAGE_AUTO_RESP) |
30794
9881f18b95b1
Got rid of family_icq.c -> oscar.c callbacks. Now it will be possible
ivan.komarov@soc.pidgin.im
parents:
30792
diff
changeset
|
3299 tmp1 = oscar_util_format_string(message, name); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3300 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3301 tmp1 = g_strdup(message); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3302 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3303 conn = peer_connection_find_by_type(od, name, OSCAR_CAPABILITY_DIRECTIM); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3304 if ((conn != NULL) && (conn->ready)) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3305 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3306 /* If we're directly connected, send a direct IM */ |
29150
4cb8d0fcfd2f
oscar: Add '\n' to a debug message missing it.
Paul Aurich <paul@darkrain42.org>
parents:
29130
diff
changeset
|
3307 purple_debug_info("oscar", "Sending direct IM with flags %i\n", imflags); |
15823 | 3308 purple_odc_send_im(conn, tmp1, imflags); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3309 } else { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3310 struct buddyinfo *bi; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3311 struct aim_sendimext_args args; |
15823 | 3312 PurpleConversation *conv; |
16390
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3313 PurpleStoredImage *img; |
22342
03b2b21b4c42
* Don't flag outgoing oscar messages as "offline deliverable" if the
Mark Doliner <mark@kingant.net>
parents:
22337
diff
changeset
|
3314 PurpleBuddy *buddy; |
15823 | 3315 |
3316 conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, name, account); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3317 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3318 if (strstr(tmp1, "<IMG ")) |
15823 | 3319 purple_conversation_write(conv, "", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3320 _("Your IM Image was not sent. " |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3321 "You must be Direct Connected to send IM Images."), |
15823 | 3322 PURPLE_MESSAGE_ERROR, time(NULL)); |
3323 | |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
3324 buddy = purple_find_buddy(account, name); |
22342
03b2b21b4c42
* Don't flag outgoing oscar messages as "offline deliverable" if the
Mark Doliner <mark@kingant.net>
parents:
22337
diff
changeset
|
3325 |
15823 | 3326 bi = g_hash_table_lookup(od->buddyinfo, purple_normalize(account, name)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3327 if (!bi) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3328 bi = g_new0(struct buddyinfo, 1); |
15823 | 3329 g_hash_table_insert(od->buddyinfo, g_strdup(purple_normalize(account, name)), bi); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3330 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3331 |
30818
9d386bf63eab
Stop using custom encodings (and LATIN-1, for that matter) for sending
ivan.komarov@soc.pidgin.im
parents:
30815
diff
changeset
|
3332 args.flags = 0; |
22342
03b2b21b4c42
* Don't flag outgoing oscar messages as "offline deliverable" if the
Mark Doliner <mark@kingant.net>
parents:
22337
diff
changeset
|
3333 |
03b2b21b4c42
* Don't flag outgoing oscar messages as "offline deliverable" if the
Mark Doliner <mark@kingant.net>
parents:
22337
diff
changeset
|
3334 if (!is_sms && (!buddy || !PURPLE_BUDDY_IS_ONLINE(buddy))) |
03b2b21b4c42
* Don't flag outgoing oscar messages as "offline deliverable" if the
Mark Doliner <mark@kingant.net>
parents:
22337
diff
changeset
|
3335 args.flags |= AIM_IMFLAGS_OFFLINE; |
03b2b21b4c42
* Don't flag outgoing oscar messages as "offline deliverable" if the
Mark Doliner <mark@kingant.net>
parents:
22337
diff
changeset
|
3336 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3337 if (od->icq) { |
30144
c66e766acb06
And allow sending HTML over ICQ, too. Only lightly tested
Mark Doliner <mark@kingant.net>
parents:
30143
diff
changeset
|
3338 args.features = features_icq; |
c66e766acb06
And allow sending HTML over ICQ, too. Only lightly tested
Mark Doliner <mark@kingant.net>
parents:
30143
diff
changeset
|
3339 args.featureslen = sizeof(features_icq); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3340 } else { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3341 args.features = features_aim; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3342 args.featureslen = sizeof(features_aim); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3343 |
15823 | 3344 if (imflags & PURPLE_MESSAGE_AUTO_RESP) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3345 args.flags |= AIM_IMFLAGS_AWAY; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3346 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3347 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3348 if (bi->ico_need) { |
15823 | 3349 purple_debug_info("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3350 "Sending buddy icon request with message\n"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3351 args.flags |= AIM_IMFLAGS_BUDDYREQ; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3352 bi->ico_need = FALSE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3353 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3354 |
16390
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3355 img = purple_buddy_icons_find_account_icon(account); |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3356 if (img) { |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3357 gconstpointer data = purple_imgstore_get_data(img); |
30011 | 3358 args.iconlen = purple_imgstore_get_size(img); |
3359 args.iconsum = aimutil_iconsum(data, args.iconlen); | |
16621
dbd0a01a9a81
The OSCAR timestamp stuff.
Richard Laager <rlaager@wiktel.com>
parents:
16483
diff
changeset
|
3360 args.iconstamp = purple_buddy_icons_get_account_icon_timestamp(account); |
16390
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3361 |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3362 if ((args.iconlen != bi->ico_me_len) || (args.iconsum != bi->ico_me_csum) || (args.iconstamp != bi->ico_me_time)) { |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3363 bi->ico_informed = FALSE; |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3364 bi->ico_sent = FALSE; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3365 } |
16390
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3366 |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3367 /* |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3368 * TODO: |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3369 * For some reason sending our icon to people only works |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3370 * when we're the ones who initiated the conversation. If |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3371 * the other person sends the first IM then they never get |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3372 * the icon. We should fix that. |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3373 */ |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3374 if (!bi->ico_informed) { |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3375 purple_debug_info("oscar", |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3376 "Claiming to have a buddy icon\n"); |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3377 args.flags |= AIM_IMFLAGS_HASICON; |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3378 bi->ico_me_len = args.iconlen; |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3379 bi->ico_me_csum = args.iconsum; |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3380 bi->ico_me_time = args.iconstamp; |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3381 bi->ico_informed = TRUE; |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3382 } |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3383 |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3384 purple_imgstore_unref(img); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3385 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3386 |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
3387 args.destbn = name; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3388 |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
3389 if (oscar_util_valid_name_sms(name)) { |
30144
c66e766acb06
And allow sending HTML over ICQ, too. Only lightly tested
Mark Doliner <mark@kingant.net>
parents:
30143
diff
changeset
|
3390 /* Messaging an SMS (mobile) user--strip HTML */ |
16083
f2a4b05407d7
Patch from shlomil in ticket #78.
Shlomi Loubaton <shlomister@gmail.com>
parents:
16063
diff
changeset
|
3391 tmp2 = purple_markup_strip_html(tmp1); |
17824
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
3392 is_html = FALSE; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3393 } else { |
30571
17d5518c5cad
Copy the third hunk from 3c30f64efedafc379b6536852bbb3b6ef5f1f6c9 to trunk
Mark Doliner <mark@kingant.net>
parents:
30406
diff
changeset
|
3394 /* ICQ 6 wants its HTML wrapped in these tags. Oblige it. */ |
17d5518c5cad
Copy the third hunk from 3c30f64efedafc379b6536852bbb3b6ef5f1f6c9 to trunk
Mark Doliner <mark@kingant.net>
parents:
30406
diff
changeset
|
3395 tmp2 = g_strdup_printf("<HTML><BODY>%s</BODY></HTML>", tmp1); |
17824
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
3396 is_html = TRUE; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3397 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3398 g_free(tmp1); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3399 tmp1 = tmp2; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3400 |
30827 | 3401 args.msg = oscar_encode_im(tmp1, &args.msglen, &args.charset, NULL); |
17824
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
3402 if (is_html && (args.msglen > MAXMSGLEN)) { |
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
3403 /* If the length was too long, try stripping the HTML and then running it back through |
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
3404 * purple_strdup_withhtml() and the encoding process. The result may be shorter. */ |
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
3405 g_free((char *)args.msg); |
23269 | 3406 |
17824
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
3407 tmp2 = purple_markup_strip_html(tmp1); |
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
3408 g_free(tmp1); |
18598
c7a5cd17b045
re-escapes the entities that was unescaped by purple_markup_strip_html()
Ka-Hing Cheung <khc@hxbc.us>
parents:
18280
diff
changeset
|
3409 |
c7a5cd17b045
re-escapes the entities that was unescaped by purple_markup_strip_html()
Ka-Hing Cheung <khc@hxbc.us>
parents:
18280
diff
changeset
|
3410 /* re-escape the entities */ |
c7a5cd17b045
re-escapes the entities that was unescaped by purple_markup_strip_html()
Ka-Hing Cheung <khc@hxbc.us>
parents:
18280
diff
changeset
|
3411 tmp1 = g_markup_escape_text(tmp2, -1); |
17824
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
3412 g_free(tmp2); |
23269 | 3413 |
18598
c7a5cd17b045
re-escapes the entities that was unescaped by purple_markup_strip_html()
Ka-Hing Cheung <khc@hxbc.us>
parents:
18280
diff
changeset
|
3414 tmp2 = purple_strdup_withhtml(tmp1); |
c7a5cd17b045
re-escapes the entities that was unescaped by purple_markup_strip_html()
Ka-Hing Cheung <khc@hxbc.us>
parents:
18280
diff
changeset
|
3415 g_free(tmp1); |
c7a5cd17b045
re-escapes the entities that was unescaped by purple_markup_strip_html()
Ka-Hing Cheung <khc@hxbc.us>
parents:
18280
diff
changeset
|
3416 tmp1 = tmp2; |
c7a5cd17b045
re-escapes the entities that was unescaped by purple_markup_strip_html()
Ka-Hing Cheung <khc@hxbc.us>
parents:
18280
diff
changeset
|
3417 |
30827 | 3418 args.msg = oscar_encode_im(tmp1, &args.msglen, &args.charset, NULL); |
19653
941965d6fd88
Patch from QuLogic. Fixes #2903 ('Missing newlines in debug messages.')
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19641
diff
changeset
|
3419 purple_debug_info("oscar", "Sending %s as %s because the original was too long.\n", |
17824
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
3420 message, (char *)args.msg); |
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
3421 } |
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
3422 |
30818
9d386bf63eab
Stop using custom encodings (and LATIN-1, for that matter) for sending
ivan.komarov@soc.pidgin.im
parents:
30815
diff
changeset
|
3423 purple_debug_info("oscar", "Sending IM, charset=0x%04hx, length=%" G_GSIZE_FORMAT "\n", args.charset, args.msglen); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3424 ret = aim_im_sendch1_ext(od, &args); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3425 g_free((char *)args.msg); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3426 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3427 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3428 g_free(tmp1); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3429 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3430 if (ret >= 0) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3431 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3432 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3433 return ret; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3434 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3435 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3436 /* |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3437 * As of 26 June 2006, ICQ users can request AIM info from |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3438 * everyone, and can request ICQ info from ICQ users, and |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3439 * AIM users can only request AIM info. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3440 */ |
15823 | 3441 void oscar_get_info(PurpleConnection *gc, const char *name) { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
3442 OscarData *od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3443 |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
3444 if (od->icq && oscar_util_valid_name_icq(name)) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3445 aim_icq_getallinfo(od, name); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3446 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3447 aim_locate_getinfoshort(od, name, 0x00000003); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3448 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3449 |
15823 | 3450 void oscar_set_idle(PurpleConnection *gc, int time) { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
3451 OscarData *od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3452 aim_srv_setidle(od, time); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3453 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3454 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3455 void |
15823 | 3456 oscar_set_info(PurpleConnection *gc, const char *rawinfo) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3457 { |
15823 | 3458 PurpleAccount *account; |
3459 PurpleStatus *status; | |
3460 | |
3461 account = purple_connection_get_account(gc); | |
3462 status = purple_account_get_active_status(account); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3463 oscar_set_info_and_status(account, TRUE, rawinfo, FALSE, status); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3464 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3465 |
30801
3ada0cc7d2c5
"Invisibility mode" improvements.
ivan.komarov@soc.pidgin.im
parents:
30800
diff
changeset
|
3466 static guint32 |
3ada0cc7d2c5
"Invisibility mode" improvements.
ivan.komarov@soc.pidgin.im
parents:
30800
diff
changeset
|
3467 oscar_get_extended_status(PurpleConnection *gc) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3468 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3469 OscarData *od; |
15823 | 3470 PurpleAccount *account; |
3471 PurpleStatus *status; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3472 const gchar *status_id; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3473 guint32 data = 0x00000000; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3474 |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
3475 od = purple_connection_get_protocol_data(gc); |
15823 | 3476 account = purple_connection_get_account(gc); |
3477 status = purple_account_get_active_status(account); | |
3478 status_id = purple_status_get_id(status); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3479 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3480 data |= AIM_ICQ_STATE_HIDEIP; |
15823 | 3481 if (purple_account_get_bool(account, "web_aware", OSCAR_DEFAULT_WEB_AWARE)) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3482 data |= AIM_ICQ_STATE_WEBAWARE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3483 |
17799
3bc25e19ce1c
wabz pointed out that this string comparision was being done twice. I
Mark Doliner <mark@kingant.net>
parents:
17673
diff
changeset
|
3484 if (!strcmp(status_id, OSCAR_STATUS_ID_AVAILABLE)) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3485 data |= AIM_ICQ_STATE_NORMAL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3486 else if (!strcmp(status_id, OSCAR_STATUS_ID_AWAY)) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3487 data |= AIM_ICQ_STATE_AWAY; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3488 else if (!strcmp(status_id, OSCAR_STATUS_ID_DND)) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3489 data |= AIM_ICQ_STATE_AWAY | AIM_ICQ_STATE_DND | AIM_ICQ_STATE_BUSY; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3490 else if (!strcmp(status_id, OSCAR_STATUS_ID_NA)) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3491 data |= AIM_ICQ_STATE_OUT | AIM_ICQ_STATE_AWAY; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3492 else if (!strcmp(status_id, OSCAR_STATUS_ID_OCCUPIED)) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3493 data |= AIM_ICQ_STATE_AWAY | AIM_ICQ_STATE_BUSY; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3494 else if (!strcmp(status_id, OSCAR_STATUS_ID_FREE4CHAT)) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3495 data |= AIM_ICQ_STATE_CHAT; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3496 else if (!strcmp(status_id, OSCAR_STATUS_ID_INVISIBLE)) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3497 data |= AIM_ICQ_STATE_INVISIBLE; |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
3498 else if (!strcmp(status_id, OSCAR_STATUS_ID_EVIL)) |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
3499 data |= AIM_ICQ_STATE_EVIL; |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
3500 else if (!strcmp(status_id, OSCAR_STATUS_ID_DEPRESSION)) |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
3501 data |= AIM_ICQ_STATE_DEPRESSION; |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
3502 else if (!strcmp(status_id, OSCAR_STATUS_ID_ATWORK)) |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
3503 data |= AIM_ICQ_STATE_ATWORK; |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
3504 else if (!strcmp(status_id, OSCAR_STATUS_ID_ATHOME)) |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
3505 data |= AIM_ICQ_STATE_ATHOME; |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
3506 else if (!strcmp(status_id, OSCAR_STATUS_ID_LUNCH)) |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
3507 data |= AIM_ICQ_STATE_LUNCH; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3508 else if (!strcmp(status_id, OSCAR_STATUS_ID_CUSTOM)) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3509 data |= AIM_ICQ_STATE_OUT | AIM_ICQ_STATE_AWAY; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3510 |
30801
3ada0cc7d2c5
"Invisibility mode" improvements.
ivan.komarov@soc.pidgin.im
parents:
30800
diff
changeset
|
3511 return data; |
3ada0cc7d2c5
"Invisibility mode" improvements.
ivan.komarov@soc.pidgin.im
parents:
30800
diff
changeset
|
3512 } |
3ada0cc7d2c5
"Invisibility mode" improvements.
ivan.komarov@soc.pidgin.im
parents:
30800
diff
changeset
|
3513 |
3ada0cc7d2c5
"Invisibility mode" improvements.
ivan.komarov@soc.pidgin.im
parents:
30800
diff
changeset
|
3514 static void |
3ada0cc7d2c5
"Invisibility mode" improvements.
ivan.komarov@soc.pidgin.im
parents:
30800
diff
changeset
|
3515 oscar_set_extended_status(PurpleConnection *gc) |
3ada0cc7d2c5
"Invisibility mode" improvements.
ivan.komarov@soc.pidgin.im
parents:
30800
diff
changeset
|
3516 { |
30804
1a81e5b64779
Adium guys need the itmsurl stuff, which I erroneously removed
ivan.komarov@soc.pidgin.im
parents:
30803
diff
changeset
|
3517 aim_srv_setextrainfo(purple_connection_get_protocol_data(gc), TRUE, oscar_get_extended_status(gc), FALSE, NULL, NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3518 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3519 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3520 static void |
15823 | 3521 oscar_set_info_and_status(PurpleAccount *account, gboolean setinfo, const char *rawinfo, |
3522 gboolean setstatus, PurpleStatus *status) | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3523 { |
15823 | 3524 PurpleConnection *gc = purple_account_get_connection(account); |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
3525 OscarData *od = purple_connection_get_protocol_data(gc); |
15823 | 3526 PurpleStatusType *status_type; |
3527 PurpleStatusPrimitive primitive; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3528 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3529 char *info_encoding = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3530 char *info = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3531 gsize infolen = 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3532 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3533 char *away_encoding = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3534 char *away = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3535 gsize awaylen = 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3536 |
25464
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3537 char *status_text = NULL; |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3538 const char *itmsurl = NULL; |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3539 |
15823 | 3540 status_type = purple_status_get_type(status); |
3541 primitive = purple_status_type_get_primitive(status_type); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3542 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3543 if (!setinfo) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3544 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3545 /* Do nothing! */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3546 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3547 else if (od->rights.maxsiglen == 0) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3548 { |
15823 | 3549 purple_notify_warning(gc, NULL, _("Unable to set AIM profile."), |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3550 _("You have probably requested to set your " |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3551 "profile before the login procedure completed. " |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3552 "Your profile remains unset; try setting it " |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3553 "again when you are fully connected.")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3554 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3555 else if (rawinfo != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3556 { |
25464
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3557 char *htmlinfo = purple_strdup_withhtml(rawinfo); |
30827 | 3558 info = oscar_encode_im(htmlinfo, &infolen, NULL, &info_encoding); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3559 g_free(htmlinfo); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3560 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3561 if (infolen > od->rights.maxsiglen) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3562 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3563 gchar *errstr; |
16063
fa8aeab4ca5a
Hopefully prevent libpurple causing problems for 3rd party UIs if they also
Stu Tomlinson <stu@nosnilmot.com>
parents:
16059
diff
changeset
|
3564 errstr = g_strdup_printf(dngettext(PACKAGE, "The maximum profile length of %d byte " |
16135 | 3565 "has been exceeded. It has been truncated for you.", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3566 "The maximum profile length of %d bytes " |
16135 | 3567 "has been exceeded. It has been truncated for you.", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3568 od->rights.maxsiglen), od->rights.maxsiglen); |
15823 | 3569 purple_notify_warning(gc, NULL, _("Profile too long."), errstr); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3570 g_free(errstr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3571 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3572 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3573 |
25464
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3574 if (setstatus) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3575 { |
25464
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3576 const char *status_html; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3577 |
15823 | 3578 status_html = purple_status_get_attr_string(status, "message"); |
25464
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3579 |
26260
37a3f30a8d80
fix a crash when changing to away without a status message
Richard Nelson <wabz@pidgin.im>
parents:
26255
diff
changeset
|
3580 if (status_html == NULL || primitive == PURPLE_STATUS_AVAILABLE || primitive == PURPLE_STATUS_INVISIBLE) |
25464
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3581 { |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3582 /* This is needed for us to un-set any previous away message. */ |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3583 away = g_strdup(""); |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3584 } |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3585 else |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3586 { |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3587 gchar *linkified; |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3588 |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3589 /* We do this for icq too so that they work for old third party clients */ |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3590 linkified = purple_markup_linkify(status_html); |
30827 | 3591 away = oscar_encode_im(linkified, &awaylen, NULL, &away_encoding); |
25464
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3592 g_free(linkified); |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3593 |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3594 if (awaylen > od->rights.maxawaymsglen) |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3595 { |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3596 gchar *errstr; |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3597 |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3598 errstr = g_strdup_printf(dngettext(PACKAGE, "The maximum away message length of %d byte " |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3599 "has been exceeded. It has been truncated for you.", |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3600 "The maximum away message length of %d bytes " |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3601 "has been exceeded. It has been truncated for you.", |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3602 od->rights.maxawaymsglen), od->rights.maxawaymsglen); |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3603 purple_notify_warning(gc, NULL, _("Away message too long."), errstr); |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3604 g_free(errstr); |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3605 } |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3606 } |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3607 } |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3608 |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3609 aim_locate_setprofile(od, |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3610 info_encoding, info, MIN(infolen, od->rights.maxsiglen), |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3611 away_encoding, away, MIN(awaylen, od->rights.maxawaymsglen)); |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3612 g_free(info); |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3613 g_free(away); |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3614 |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3615 if (setstatus) |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3616 { |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3617 const char *status_html; |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3618 |
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3619 status_html = purple_status_get_attr_string(status, "message"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3620 if (status_html != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3621 { |
15823 | 3622 status_text = purple_markup_strip_html(status_html); |
25054
8f544de62330
Patch to properly publish status messages for statuses other than Available.
Daniel Lj <dimmuxx@yahoo.se>
parents:
25031
diff
changeset
|
3623 /* If the status_text is longer than 251 characters then truncate it */ |
18774
88ad571744b4
Looks like AOL increased the length of available messages from 60
Mark Doliner <mark@kingant.net>
parents:
18755
diff
changeset
|
3624 if (strlen(status_text) > MAXAVAILMSGLEN) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3625 { |
18774
88ad571744b4
Looks like AOL increased the length of available messages from 60
Mark Doliner <mark@kingant.net>
parents:
18755
diff
changeset
|
3626 char *tmp = g_utf8_find_prev_char(status_text, &status_text[MAXAVAILMSGLEN - 2]); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3627 strcpy(tmp, "..."); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3628 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3629 } |
25464
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3630 |
15823 | 3631 itmsurl = purple_status_get_attr_string(status, "itmsurl"); |
31534
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
31488
diff
changeset
|
3632 |
30804
1a81e5b64779
Adium guys need the itmsurl stuff, which I erroneously removed
ivan.komarov@soc.pidgin.im
parents:
30803
diff
changeset
|
3633 aim_srv_setextrainfo(od, TRUE, oscar_get_extended_status(gc), TRUE, status_text, itmsurl); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3634 g_free(status_text); |
25464
0e93bbb7f5ca
Woo boy this function is a little crazy. I shuffled some things around:
Mark Doliner <mark@kingant.net>
parents:
25459
diff
changeset
|
3635 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3636 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3637 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3638 static void |
30801
3ada0cc7d2c5
"Invisibility mode" improvements.
ivan.komarov@soc.pidgin.im
parents:
30800
diff
changeset
|
3639 oscar_set_icq_permdeny(PurpleAccount *account) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3640 { |
15823 | 3641 PurpleConnection *gc = purple_account_get_connection(account); |
30800
05c634403678
Start using the real ICQ block list (SSI type 0xe) for allowing/blocking
ivan.komarov@soc.pidgin.im
parents:
30799
diff
changeset
|
3642 OscarData *od = purple_connection_get_protocol_data(gc); |
05c634403678
Start using the real ICQ block list (SSI type 0xe) for allowing/blocking
ivan.komarov@soc.pidgin.im
parents:
30799
diff
changeset
|
3643 gboolean invisible = purple_account_is_status_active(account, OSCAR_STATUS_ID_INVISIBLE); |
25459
4d758dcd5715
Change the way oscar deals with account->perm_deny a little bit.
Mark Doliner <mark@kingant.net>
parents:
25452
diff
changeset
|
3644 |
4d758dcd5715
Change the way oscar deals with account->perm_deny a little bit.
Mark Doliner <mark@kingant.net>
parents:
25452
diff
changeset
|
3645 /* |
30800
05c634403678
Start using the real ICQ block list (SSI type 0xe) for allowing/blocking
ivan.komarov@soc.pidgin.im
parents:
30799
diff
changeset
|
3646 * For ICQ the permit/deny setting controls who can see you |
05c634403678
Start using the real ICQ block list (SSI type 0xe) for allowing/blocking
ivan.komarov@soc.pidgin.im
parents:
30799
diff
changeset
|
3647 * online. Mimicking the official client's behavior, we use PURPLE_PRIVACY_ALLOW_USERS |
05c634403678
Start using the real ICQ block list (SSI type 0xe) for allowing/blocking
ivan.komarov@soc.pidgin.im
parents:
30799
diff
changeset
|
3648 * when our status is "invisible" and PURPLE_PRIVACY_DENY_USERS otherwise. |
05c634403678
Start using the real ICQ block list (SSI type 0xe) for allowing/blocking
ivan.komarov@soc.pidgin.im
parents:
30799
diff
changeset
|
3649 * In the former case, we are visible only to buddies on our "permanently visible" list. |
30801
3ada0cc7d2c5
"Invisibility mode" improvements.
ivan.komarov@soc.pidgin.im
parents:
30800
diff
changeset
|
3650 * In the latter, we are invisible only to buddies on our "permanently invisible" list. |
25459
4d758dcd5715
Change the way oscar deals with account->perm_deny a little bit.
Mark Doliner <mark@kingant.net>
parents:
25452
diff
changeset
|
3651 */ |
30800
05c634403678
Start using the real ICQ block list (SSI type 0xe) for allowing/blocking
ivan.komarov@soc.pidgin.im
parents:
30799
diff
changeset
|
3652 aim_ssi_setpermdeny(od, invisible ? PURPLE_PRIVACY_ALLOW_USERS : PURPLE_PRIVACY_DENY_USERS); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3653 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3654 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3655 void |
15823 | 3656 oscar_set_status(PurpleAccount *account, PurpleStatus *status) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3657 { |
29193
328a7ff06110
Use the od->icq boolean in a few places where we were calling
Mark Doliner <mark@kingant.net>
parents:
29154
diff
changeset
|
3658 PurpleConnection *pc; |
328a7ff06110
Use the od->icq boolean in a few places where we were calling
Mark Doliner <mark@kingant.net>
parents:
29154
diff
changeset
|
3659 OscarData *od; |
328a7ff06110
Use the od->icq boolean in a few places where we were calling
Mark Doliner <mark@kingant.net>
parents:
29154
diff
changeset
|
3660 |
15823 | 3661 purple_debug_info("oscar", "Set status to %s\n", purple_status_get_name(status)); |
3662 | |
31857
c446bf0b83d2
Fix unsetting your mood when "None" is selected. (#7431)
Mark Doliner <mark@kingant.net>
parents:
31851
diff
changeset
|
3663 /* Either setting a new status active or setting a status inactive. |
c446bf0b83d2
Fix unsetting your mood when "None" is selected. (#7431)
Mark Doliner <mark@kingant.net>
parents:
31851
diff
changeset
|
3664 * (Only possible for independent status (i.e. X-Status moods.) */ |
c446bf0b83d2
Fix unsetting your mood when "None" is selected. (#7431)
Mark Doliner <mark@kingant.net>
parents:
31851
diff
changeset
|
3665 if (!purple_status_is_active(status) && !purple_status_is_independent(status)) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3666 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3667 |
15823 | 3668 if (!purple_account_is_connected(account)) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3669 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3670 |
29854 | 3671 pc = purple_account_get_connection(account); |
3672 od = purple_connection_get_protocol_data(pc); | |
3673 | |
29829
11cb7f2bb6e8
Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@wiktel.com>
parents:
29818
diff
changeset
|
3674 /* There's no need to do the stuff below for mood updates. */ |
29834
1fb503adb2ae
Move the mood UI for ICQ into Pidgin. It still uses the new request API
Richard Laager <rlaager@wiktel.com>
parents:
29829
diff
changeset
|
3675 if (purple_status_type_get_primitive(purple_status_get_type(status)) == PURPLE_STATUS_MOOD) { |
29854 | 3676 aim_locate_setcaps(od, purple_caps); |
29829
11cb7f2bb6e8
Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@wiktel.com>
parents:
29818
diff
changeset
|
3677 return; |
29834
1fb503adb2ae
Move the mood UI for ICQ into Pidgin. It still uses the new request API
Richard Laager <rlaager@wiktel.com>
parents:
29829
diff
changeset
|
3678 } |
29829
11cb7f2bb6e8
Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@wiktel.com>
parents:
29818
diff
changeset
|
3679 |
30809
50d472b3d752
Fixed a bug I accidentally introduced in fb1ab831dedebf45ea50b6f87bfc00265a0115ef.
ivan.komarov@soc.pidgin.im
parents:
30806
diff
changeset
|
3680 if (od->icq) { |
50d472b3d752
Fixed a bug I accidentally introduced in fb1ab831dedebf45ea50b6f87bfc00265a0115ef.
ivan.komarov@soc.pidgin.im
parents:
30806
diff
changeset
|
3681 /* Set visibility */ |
30801
3ada0cc7d2c5
"Invisibility mode" improvements.
ivan.komarov@soc.pidgin.im
parents:
30800
diff
changeset
|
3682 oscar_set_icq_permdeny(account); |
30809
50d472b3d752
Fixed a bug I accidentally introduced in fb1ab831dedebf45ea50b6f87bfc00265a0115ef.
ivan.komarov@soc.pidgin.im
parents:
30806
diff
changeset
|
3683 } |
30801
3ada0cc7d2c5
"Invisibility mode" improvements.
ivan.komarov@soc.pidgin.im
parents:
30800
diff
changeset
|
3684 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3685 /* Set the AIM-style away message for both AIM and ICQ accounts */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3686 oscar_set_info_and_status(account, FALSE, NULL, TRUE, status); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3687 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3688 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3689 void |
31851
0cf50b0f7af4
Add invite message support to Oscar.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31848
diff
changeset
|
3690 oscar_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group, const char *msg) |
0cf50b0f7af4
Add invite message support to Oscar.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31848
diff
changeset
|
3691 { |
20721
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
3692 OscarData *od; |
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
3693 PurpleAccount *account; |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
3694 const char *bname, *gname; |
20721
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
3695 |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
3696 od = purple_connection_get_protocol_data(gc); |
20721
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
3697 account = purple_connection_get_account(gc); |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
3698 bname = purple_buddy_get_name(buddy); |
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
3699 gname = purple_group_get_name(group); |
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
3700 |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
3701 if (!oscar_util_valid_name(bname)) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3702 gchar *buf; |
27463
f541583e31bd
More uniformity among disconnect error messages
Mark Doliner <mark@kingant.net>
parents:
27459
diff
changeset
|
3703 buf = g_strdup_printf(_("Unable to add the buddy %s because the username is invalid. Usernames must be a valid email address, or start with a letter and contain only letters, numbers and spaces, or contain only numbers."), bname); |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
3704 if (!purple_conv_present_error(bname, account, buf)) |
24374
75545fdf8944
String changes. I'm kind of blindly making changes to the qq strings
Mark Doliner <mark@kingant.net>
parents:
24315
diff
changeset
|
3705 purple_notify_error(gc, NULL, _("Unable to Add"), buf); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3706 g_free(buf); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3707 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3708 /* Remove from local list */ |
15823 | 3709 purple_blist_remove_buddy(buddy); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3710 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3711 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3712 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3713 |
25006
032651900c32
Oscar: Re-request authorization when adding a buddy that is already on the list.
Paul Aurich <paul@darkrain42.org>
parents:
24642
diff
changeset
|
3714 if (od->ssi.received_data) { |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
3715 if (!aim_ssi_itemlist_finditem(&od->ssi.local, gname, bname, AIM_SSI_TYPE_BUDDY)) { |
25006
032651900c32
Oscar: Re-request authorization when adding a buddy that is already on the list.
Paul Aurich <paul@darkrain42.org>
parents:
24642
diff
changeset
|
3716 purple_debug_info("oscar", |
26285 | 3717 "ssi: adding buddy %s to group %s\n", bname, gname); |
3718 aim_ssi_addbuddy(od, bname, gname, NULL, purple_buddy_get_alias_only(buddy), NULL, NULL, 0); | |
25006
032651900c32
Oscar: Re-request authorization when adding a buddy that is already on the list.
Paul Aurich <paul@darkrain42.org>
parents:
24642
diff
changeset
|
3719 |
032651900c32
Oscar: Re-request authorization when adding a buddy that is already on the list.
Paul Aurich <paul@darkrain42.org>
parents:
24642
diff
changeset
|
3720 /* Mobile users should always be online */ |
26285 | 3721 if (bname[0] == '+') { |
25465
9ea3474065dc
propagate from branch 'im.pidgin.pidgin' (head 303af74a38e7b313d4fb0be4d4054a16cb13d819)
Paul Aurich <paul@darkrain42.org>
diff
changeset
|
3722 purple_prpl_got_user_status(account, bname, |
25006
032651900c32
Oscar: Re-request authorization when adding a buddy that is already on the list.
Paul Aurich <paul@darkrain42.org>
parents:
24642
diff
changeset
|
3723 OSCAR_STATUS_ID_AVAILABLE, NULL); |
25465
9ea3474065dc
propagate from branch 'im.pidgin.pidgin' (head 303af74a38e7b313d4fb0be4d4054a16cb13d819)
Paul Aurich <paul@darkrain42.org>
diff
changeset
|
3724 purple_prpl_got_user_status(account, bname, |
25006
032651900c32
Oscar: Re-request authorization when adding a buddy that is already on the list.
Paul Aurich <paul@darkrain42.org>
parents:
24642
diff
changeset
|
3725 OSCAR_STATUS_ID_MOBILE, NULL); |
032651900c32
Oscar: Re-request authorization when adding a buddy that is already on the list.
Paul Aurich <paul@darkrain42.org>
parents:
24642
diff
changeset
|
3726 } |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
3727 } else if (aim_ssi_waitingforauth(&od->ssi.local, |
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
3728 aim_ssi_itemlist_findparentname(&od->ssi.local, bname), |
25465
9ea3474065dc
propagate from branch 'im.pidgin.pidgin' (head 303af74a38e7b313d4fb0be4d4054a16cb13d819)
Paul Aurich <paul@darkrain42.org>
diff
changeset
|
3729 bname)) { |
25006
032651900c32
Oscar: Re-request authorization when adding a buddy that is already on the list.
Paul Aurich <paul@darkrain42.org>
parents:
24642
diff
changeset
|
3730 /* Not authorized -- Re-request authorization */ |
31851
0cf50b0f7af4
Add invite message support to Oscar.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31848
diff
changeset
|
3731 oscar_auth_sendrequest(gc, bname, msg); |
20721
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
3732 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3733 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3734 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3735 /* XXX - Should this be done from AIM accounts, as well? */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3736 if (od->icq) |
30790
674a656893a3
Show authorization request sender's nickname in the "Authorize buddy?"
ivan.komarov@soc.pidgin.im
parents:
30571
diff
changeset
|
3737 aim_icq_getalias(od, bname, FALSE, NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3738 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3739 |
15823 | 3740 void oscar_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group) { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
3741 OscarData *od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3742 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3743 if (od->ssi.received_data) { |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
3744 const char *gname = purple_group_get_name(group); |
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
3745 const char *bname = purple_buddy_get_name(buddy); |
15823 | 3746 purple_debug_info("oscar", |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
3747 "ssi: deleting buddy %s from group %s\n", bname, gname); |
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
3748 aim_ssi_delbuddy(od, bname, gname); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3749 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3750 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3751 |
15823 | 3752 void oscar_move_buddy(PurpleConnection *gc, const char *name, const char *old_group, const char *new_group) { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
3753 OscarData *od = purple_connection_get_protocol_data(gc); |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
3754 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3755 if (od->ssi.received_data && strcmp(old_group, new_group)) { |
15823 | 3756 purple_debug_info("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3757 "ssi: moving buddy %s from group %s to group %s\n", name, old_group, new_group); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3758 aim_ssi_movebuddy(od, old_group, new_group, name); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3759 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3760 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3761 |
15823 | 3762 void oscar_alias_buddy(PurpleConnection *gc, const char *name, const char *alias) { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
3763 OscarData *od = purple_connection_get_protocol_data(gc); |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
3764 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3765 if (od->ssi.received_data) { |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
3766 char *gname = aim_ssi_itemlist_findparentname(&od->ssi.local, name); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3767 if (gname) { |
15823 | 3768 purple_debug_info("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3769 "ssi: changing the alias for buddy %s to %s\n", name, alias ? alias : "(none)"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3770 aim_ssi_aliasbuddy(od, gname, name, alias); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3771 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3772 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3773 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3774 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3775 /* |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3776 * FYI, the OSCAR SSI code removes empty groups automatically. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3777 */ |
15823 | 3778 void oscar_rename_group(PurpleConnection *gc, const char *old_name, PurpleGroup *group, GList *moved_buddies) { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
3779 OscarData *od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3780 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3781 if (od->ssi.received_data) { |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
3782 const char *gname = purple_group_get_name(group); |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
3783 if (aim_ssi_itemlist_finditem(&od->ssi.local, gname, NULL, AIM_SSI_TYPE_GROUP)) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3784 GList *cur, *groups = NULL; |
15823 | 3785 PurpleAccount *account = purple_connection_get_account(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3786 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3787 /* Make a list of what the groups each buddy is in */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3788 for (cur = moved_buddies; cur != NULL; cur = cur->next) { |
15823 | 3789 PurpleBlistNode *node = cur->data; |
3790 /* node is PurpleBuddy, parent is a PurpleContact. | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3791 * We must go two levels up to get the Group */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3792 groups = g_list_append(groups, |
25290
8d562557ed6f
Some more PurpleBuddy::proto_data related changes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
25289
diff
changeset
|
3793 purple_buddy_get_group((PurpleBuddy*)node)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3794 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3795 |
15823 | 3796 purple_account_remove_buddies(account, moved_buddies, groups); |
3797 purple_account_add_buddies(account, moved_buddies); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3798 g_list_free(groups); |
15823 | 3799 purple_debug_info("oscar", |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
3800 "ssi: moved all buddies from group %s to %s\n", old_name, gname); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3801 } else { |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
3802 aim_ssi_rename_group(od, old_name, gname); |
15823 | 3803 purple_debug_info("oscar", |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
3804 "ssi: renamed group %s to %s\n", old_name, gname); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3805 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3806 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3807 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3808 |
18755
84d53c3c699d
Some changes from Matthew Goldstein and I to not automatically remove
Mark Doliner <mark@kingant.net>
parents:
18642
diff
changeset
|
3809 void oscar_remove_group(PurpleConnection *gc, PurpleGroup *group) |
84d53c3c699d
Some changes from Matthew Goldstein and I to not automatically remove
Mark Doliner <mark@kingant.net>
parents:
18642
diff
changeset
|
3810 { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
3811 aim_ssi_delgroup(purple_connection_get_protocol_data(gc), purple_group_get_name(group)); |
18755
84d53c3c699d
Some changes from Matthew Goldstein and I to not automatically remove
Mark Doliner <mark@kingant.net>
parents:
18642
diff
changeset
|
3812 } |
84d53c3c699d
Some changes from Matthew Goldstein and I to not automatically remove
Mark Doliner <mark@kingant.net>
parents:
18642
diff
changeset
|
3813 |
15823 | 3814 static gboolean purple_ssi_rerequestdata(gpointer data) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3815 OscarData *od = data; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3816 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3817 aim_ssi_reqdata(od); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3818 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3819 return TRUE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3820 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3821 |
15823 | 3822 static int purple_ssi_parseerr(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
3823 PurpleConnection *gc = od->gc; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3824 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3825 guint16 reason; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3826 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3827 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3828 reason = (guint16)va_arg(ap, unsigned int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3829 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3830 |
15823 | 3831 purple_debug_error("oscar", "ssi: SNAC error %hu\n", reason); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3832 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3833 if (reason == 0x0005) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3834 if (od->getblisttimer > 0) |
15823 | 3835 purple_timeout_remove(od->getblisttimer); |
26255
53b04369fb10
Only show the oscar error "we couldn't fetch your buddy list, but
Mark Doliner <mark@kingant.net>
parents:
25464
diff
changeset
|
3836 else |
53b04369fb10
Only show the oscar error "we couldn't fetch your buddy list, but
Mark Doliner <mark@kingant.net>
parents:
25464
diff
changeset
|
3837 /* We only show this error the first time it happens */ |
53b04369fb10
Only show the oscar error "we couldn't fetch your buddy list, but
Mark Doliner <mark@kingant.net>
parents:
25464
diff
changeset
|
3838 purple_notify_error(gc, NULL, |
53b04369fb10
Only show the oscar error "we couldn't fetch your buddy list, but
Mark Doliner <mark@kingant.net>
parents:
25464
diff
changeset
|
3839 _("Unable to Retrieve Buddy List"), |
53b04369fb10
Only show the oscar error "we couldn't fetch your buddy list, but
Mark Doliner <mark@kingant.net>
parents:
25464
diff
changeset
|
3840 _("The AIM servers were temporarily unable to send " |
53b04369fb10
Only show the oscar error "we couldn't fetch your buddy list, but
Mark Doliner <mark@kingant.net>
parents:
25464
diff
changeset
|
3841 "your buddy list. Your buddy list is not lost, and " |
53b04369fb10
Only show the oscar error "we couldn't fetch your buddy list, but
Mark Doliner <mark@kingant.net>
parents:
25464
diff
changeset
|
3842 "will probably become available in a few minutes.")); |
26612
b87843de7c6a
A patch from Arunan Balasubramaniam to use timeouts in seconds instead of
foss@abala.me
parents:
26325
diff
changeset
|
3843 od->getblisttimer = purple_timeout_add_seconds(30, purple_ssi_rerequestdata, od); |
21014
0314cb293463
Return if we couldn't get our buddylist rather than trying to
Mark Doliner <mark@kingant.net>
parents:
21000
diff
changeset
|
3844 return 1; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3845 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3846 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3847 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3848 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3849 |
15823 | 3850 static int purple_ssi_parserights(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3851 int i; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3852 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3853 int numtypes; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3854 guint16 *maxitems; |
23777
62fda5f78f6a
Stu reckoned that having a new block to build the debug string is ugly;
Will Thompson <will.thompson@collabora.co.uk>
parents:
23776
diff
changeset
|
3855 GString *msg; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3856 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3857 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3858 numtypes = va_arg(ap, int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3859 maxitems = va_arg(ap, guint16 *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3860 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3861 |
23777
62fda5f78f6a
Stu reckoned that having a new block to build the debug string is ugly;
Will Thompson <will.thompson@collabora.co.uk>
parents:
23776
diff
changeset
|
3862 msg = g_string_new("ssi rights:"); |
62fda5f78f6a
Stu reckoned that having a new block to build the debug string is ugly;
Will Thompson <will.thompson@collabora.co.uk>
parents:
23776
diff
changeset
|
3863 for (i=0; i<numtypes; i++) |
62fda5f78f6a
Stu reckoned that having a new block to build the debug string is ugly;
Will Thompson <will.thompson@collabora.co.uk>
parents:
23776
diff
changeset
|
3864 g_string_append_printf(msg, " max type 0x%04x=%hd,", i, maxitems[i]); |
62fda5f78f6a
Stu reckoned that having a new block to build the debug string is ugly;
Will Thompson <will.thompson@collabora.co.uk>
parents:
23776
diff
changeset
|
3865 g_string_append(msg, "\n"); |
24398
0320b4a33432
Backport the 'purple_debug_*(msg)' -> 'purple_debug_*("%s", msg);' fixes.
Richard Laager <rlaager@wiktel.com>
parents:
24393
diff
changeset
|
3866 purple_debug_misc("oscar", "%s", msg->str); |
23777
62fda5f78f6a
Stu reckoned that having a new block to build the debug string is ugly;
Will Thompson <will.thompson@collabora.co.uk>
parents:
23776
diff
changeset
|
3867 g_string_free(msg, TRUE); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3868 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3869 if (numtypes >= 0) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3870 od->rights.maxbuddies = maxitems[0]; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3871 if (numtypes >= 1) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3872 od->rights.maxgroups = maxitems[1]; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3873 if (numtypes >= 2) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3874 od->rights.maxpermits = maxitems[2]; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3875 if (numtypes >= 3) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3876 od->rights.maxdenies = maxitems[3]; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3877 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3878 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3879 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3880 |
15823 | 3881 static int purple_ssi_parselist(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3882 { |
15823 | 3883 PurpleConnection *gc; |
3884 PurpleAccount *account; | |
3885 PurpleGroup *g; | |
3886 PurpleBuddy *b; | |
30810
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3887 GSList *cur, *next, *buddies; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3888 struct aim_ssi_item *curitem; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3889 guint32 tmp; |
16390
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
3890 PurpleStoredImage *img; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3891 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3892 guint16 fmtver, numitems; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3893 guint32 timestamp; |
30800
05c634403678
Start using the real ICQ block list (SSI type 0xe) for allowing/blocking
ivan.komarov@soc.pidgin.im
parents:
30799
diff
changeset
|
3894 guint16 deny_entry_type = aim_ssi_getdenyentrytype(od); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3895 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3896 gc = od->gc; |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
3897 od = purple_connection_get_protocol_data(gc); |
15823 | 3898 account = purple_connection_get_account(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3899 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3900 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3901 fmtver = (guint16)va_arg(ap, int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3902 numitems = (guint16)va_arg(ap, int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3903 timestamp = va_arg(ap, guint32); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3904 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3905 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3906 /* Don't attempt to re-request our buddy list later */ |
30810
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3907 if (od->getblisttimer != 0) { |
15823 | 3908 purple_timeout_remove(od->getblisttimer); |
30810
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3909 od->getblisttimer = 0; |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3910 } |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3911 |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3912 purple_debug_info("oscar", "ssi: syncing local list and server list\n"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3913 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3914 /* Clean the buddy list */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3915 aim_ssi_cleanlist(od); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3916 |
30810
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3917 /*** Begin code for pruning buddies from local list if they're not in server list ***/ |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3918 |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3919 /* Buddies */ |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3920 cur = NULL; |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3921 for (buddies = purple_find_buddies(account, NULL); |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3922 buddies; |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3923 buddies = g_slist_delete_link(buddies, buddies)) |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3924 { |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3925 PurpleGroup *g; |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3926 const char *gname; |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3927 const char *bname; |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3928 |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3929 b = buddies->data; |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3930 g = purple_buddy_get_group(b); |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3931 gname = purple_group_get_name(g); |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3932 bname = purple_buddy_get_name(b); |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3933 |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
3934 if (aim_ssi_itemlist_exists(&od->ssi.local, bname)) { |
30810
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3935 /* If the buddy is an ICQ user then load his nickname */ |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3936 const char *servernick = purple_blist_node_get_string((PurpleBlistNode*)b, "servernick"); |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3937 char *alias; |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3938 const char *balias; |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3939 if (servernick) |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3940 serv_got_alias(gc, bname, servernick); |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3941 |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3942 /* Store local alias on server */ |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
3943 alias = aim_ssi_getalias(&od->ssi.local, gname, bname); |
30810
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3944 balias = purple_buddy_get_local_buddy_alias(b); |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3945 if (!alias && balias && *balias) |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3946 aim_ssi_aliasbuddy(od, gname, bname, balias); |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3947 g_free(alias); |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3948 } else { |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3949 purple_debug_info("oscar", |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3950 "ssi: removing buddy %s from local list\n", bname); |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3951 /* Queue the buddy for removal from the local list */ |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3952 cur = g_slist_prepend(cur, b); |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3953 } |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3954 } |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3955 while (cur != NULL) { |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3956 purple_blist_remove_buddy(cur->data); |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3957 cur = g_slist_delete_link(cur, cur); |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3958 } |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3959 |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3960 /* Permit list (ICQ doesn't have one) */ |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3961 if (!od->icq) { |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3962 next = account->permit; |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3963 while (next != NULL) { |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3964 cur = next; |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3965 next = next->next; |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
3966 if (!aim_ssi_itemlist_finditem(&od->ssi.local, NULL, cur->data, AIM_SSI_TYPE_PERMIT)) { |
26846
0e99b80b54c6
Make purple_find_buddies(account, NULL) O(# buddies in the account) and rewrite purple_ssi_parselist to take advantage of said efficiency.
hanzz@soc.pidgin.im
parents:
26612
diff
changeset
|
3967 purple_debug_info("oscar", |
30810
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3968 "ssi: removing permit %s from local list\n", (const char *)cur->data); |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3969 purple_privacy_permit_remove(account, cur->data, TRUE); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3970 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3971 } |
30810
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3972 } |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3973 |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3974 /* Deny list */ |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3975 next = account->deny; |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3976 while (next != NULL) { |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3977 cur = next; |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3978 next = next->next; |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
3979 if (!aim_ssi_itemlist_finditem(&od->ssi.local, NULL, cur->data, deny_entry_type)) { |
30810
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3980 purple_debug_info("oscar", |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3981 "ssi: removing deny %s from local list\n", (const char *)cur->data); |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3982 purple_privacy_deny_remove(account, cur->data, TRUE); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3983 } |
30810
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3984 } |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3985 |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3986 /* Presence settings (idle time visibility) */ |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
3987 tmp = aim_ssi_getpresence(&od->ssi.local); |
30810
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3988 if (tmp != 0xFFFFFFFF) { |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3989 const char *idle_reporting_pref; |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3990 gboolean report_idle; |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3991 |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3992 idle_reporting_pref = purple_prefs_get_string("/purple/away/idle_reporting"); |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3993 report_idle = strcmp(idle_reporting_pref, "none") != 0; |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3994 |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3995 if (report_idle) |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3996 aim_ssi_setpresence(od, tmp | AIM_SSI_PRESENCE_FLAG_SHOWIDLE); |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3997 else |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3998 aim_ssi_setpresence(od, tmp & ~AIM_SSI_PRESENCE_FLAG_SHOWIDLE); |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
3999 } |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
4000 |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
4001 /*** End code for pruning buddies from local list ***/ |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
4002 |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
4003 /*** Begin code for adding from server list to local list ***/ |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
4004 |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
4005 for (curitem=od->ssi.local.data; curitem; curitem=curitem->next) { |
31694
6b2b8cc8e7ae
OOH! I think I found the cause of a bug! I changed this function in revision
Mark Doliner <mark@kingant.net>
parents:
31693
diff
changeset
|
4006 if (curitem->name && !g_utf8_validate(curitem->name, -1, NULL)) { |
30810
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
4007 /* Got node with invalid UTF-8 in the name. Skip it. */ |
31694
6b2b8cc8e7ae
OOH! I think I found the cause of a bug! I changed this function in revision
Mark Doliner <mark@kingant.net>
parents:
31693
diff
changeset
|
4008 purple_debug_warning("oscar", "ssi: server list contains item of " |
6b2b8cc8e7ae
OOH! I think I found the cause of a bug! I changed this function in revision
Mark Doliner <mark@kingant.net>
parents:
31693
diff
changeset
|
4009 "type 0x%04hhx with a non-utf8 name\n", curitem->type); |
6b2b8cc8e7ae
OOH! I think I found the cause of a bug! I changed this function in revision
Mark Doliner <mark@kingant.net>
parents:
31693
diff
changeset
|
4010 continue; |
6b2b8cc8e7ae
OOH! I think I found the cause of a bug! I changed this function in revision
Mark Doliner <mark@kingant.net>
parents:
31693
diff
changeset
|
4011 } |
30810
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
4012 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4013 switch (curitem->type) { |
28862 | 4014 case AIM_SSI_TYPE_BUDDY: { /* Buddy */ |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4015 if (curitem->name) { |
22415
a491ebed7f3a
I realized that I don't like initializing variables when I declare
Mark Doliner <mark@kingant.net>
parents:
22398
diff
changeset
|
4016 struct aim_ssi_item *groupitem; |
a491ebed7f3a
I realized that I don't like initializing variables when I declare
Mark Doliner <mark@kingant.net>
parents:
22398
diff
changeset
|
4017 char *gname, *gname_utf8, *alias, *alias_utf8; |
a491ebed7f3a
I realized that I don't like initializing variables when I declare
Mark Doliner <mark@kingant.net>
parents:
22398
diff
changeset
|
4018 |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
4019 groupitem = aim_ssi_itemlist_find(&od->ssi.local, curitem->gid, 0x0000); |
22415
a491ebed7f3a
I realized that I don't like initializing variables when I declare
Mark Doliner <mark@kingant.net>
parents:
22398
diff
changeset
|
4020 gname = groupitem ? groupitem->name : NULL; |
30834
a6511abec788
A couple of refactorings related to oscar_utf8_try_convert().
ivan.komarov@soc.pidgin.im
parents:
30832
diff
changeset
|
4021 gname_utf8 = oscar_utf8_try_convert(account, od, gname); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4022 |
18755
84d53c3c699d
Some changes from Matthew Goldstein and I to not automatically remove
Mark Doliner <mark@kingant.net>
parents:
18642
diff
changeset
|
4023 g = purple_find_group(gname_utf8 ? gname_utf8 : _("Orphans")); |
84d53c3c699d
Some changes from Matthew Goldstein and I to not automatically remove
Mark Doliner <mark@kingant.net>
parents:
18642
diff
changeset
|
4024 if (g == NULL) { |
84d53c3c699d
Some changes from Matthew Goldstein and I to not automatically remove
Mark Doliner <mark@kingant.net>
parents:
18642
diff
changeset
|
4025 g = purple_group_new(gname_utf8 ? gname_utf8 : _("Orphans")); |
84d53c3c699d
Some changes from Matthew Goldstein and I to not automatically remove
Mark Doliner <mark@kingant.net>
parents:
18642
diff
changeset
|
4026 purple_blist_add_group(g, NULL); |
84d53c3c699d
Some changes from Matthew Goldstein and I to not automatically remove
Mark Doliner <mark@kingant.net>
parents:
18642
diff
changeset
|
4027 } |
84d53c3c699d
Some changes from Matthew Goldstein and I to not automatically remove
Mark Doliner <mark@kingant.net>
parents:
18642
diff
changeset
|
4028 |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
4029 alias = aim_ssi_getalias_from_item(curitem); |
30834
a6511abec788
A couple of refactorings related to oscar_utf8_try_convert().
ivan.komarov@soc.pidgin.im
parents:
30832
diff
changeset
|
4030 alias_utf8 = oscar_utf8_try_convert(account, od, alias); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4031 |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4032 b = purple_find_buddy_in_group(account, curitem->name, g); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4033 if (b) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4034 /* Get server stored alias */ |
20630
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4035 purple_blist_alias_buddy(b, alias_utf8); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4036 } else { |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4037 b = purple_buddy_new(account, curitem->name, alias_utf8); |
15823 | 4038 |
4039 purple_debug_info("oscar", | |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4040 "ssi: adding buddy %s to group %s to local list\n", curitem->name, gname); |
15823 | 4041 purple_blist_add_buddy(b, NULL, g, NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4042 } |
20721
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
4043 |
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
4044 /* Mobile users should always be online */ |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4045 if (curitem->name[0] == '+') { |
20721
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
4046 purple_prpl_got_user_status(account, |
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
4047 purple_buddy_get_name(b), |
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
4048 OSCAR_STATUS_ID_AVAILABLE, NULL); |
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
4049 purple_prpl_got_user_status(account, |
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
4050 purple_buddy_get_name(b), |
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
4051 OSCAR_STATUS_ID_MOBILE, NULL); |
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
4052 } |
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
4053 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4054 g_free(gname_utf8); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4055 g_free(alias_utf8); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4056 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4057 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4058 |
28862 | 4059 case AIM_SSI_TYPE_GROUP: { /* Group */ |
31693
3fe2bd895946
There is code above these lines, just before the start of the switch(),
Mark Doliner <mark@kingant.net>
parents:
31654
diff
changeset
|
4060 if (curitem->name != NULL && purple_find_group(curitem->name) == NULL) { |
3fe2bd895946
There is code above these lines, just before the start of the switch(),
Mark Doliner <mark@kingant.net>
parents:
31654
diff
changeset
|
4061 g = purple_group_new(curitem->name); |
18755
84d53c3c699d
Some changes from Matthew Goldstein and I to not automatically remove
Mark Doliner <mark@kingant.net>
parents:
18642
diff
changeset
|
4062 purple_blist_add_group(g, NULL); |
84d53c3c699d
Some changes from Matthew Goldstein and I to not automatically remove
Mark Doliner <mark@kingant.net>
parents:
18642
diff
changeset
|
4063 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4064 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4065 |
30800
05c634403678
Start using the real ICQ block list (SSI type 0xe) for allowing/blocking
ivan.komarov@soc.pidgin.im
parents:
30799
diff
changeset
|
4066 case AIM_SSI_TYPE_PERMIT: { /* Permit buddy (unless we're on ICQ) */ |
05c634403678
Start using the real ICQ block list (SSI type 0xe) for allowing/blocking
ivan.komarov@soc.pidgin.im
parents:
30799
diff
changeset
|
4067 if (!od->icq && curitem->name) { |
30810
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
4068 for (cur = account->permit; (cur && oscar_util_name_compare(curitem->name, cur->data)); cur = cur->next); |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
4069 if (!cur) { |
15823 | 4070 purple_debug_info("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4071 "ssi: adding permit buddy %s to local list\n", curitem->name); |
15823 | 4072 purple_privacy_permit_add(account, curitem->name, TRUE); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4073 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4074 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4075 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4076 |
30800
05c634403678
Start using the real ICQ block list (SSI type 0xe) for allowing/blocking
ivan.komarov@soc.pidgin.im
parents:
30799
diff
changeset
|
4077 case AIM_SSI_TYPE_ICQDENY: |
28862 | 4078 case AIM_SSI_TYPE_DENY: { /* Deny buddy */ |
30800
05c634403678
Start using the real ICQ block list (SSI type 0xe) for allowing/blocking
ivan.komarov@soc.pidgin.im
parents:
30799
diff
changeset
|
4079 if (curitem->type == deny_entry_type && curitem->name) { |
30810
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
4080 for (cur = account->deny; (cur && oscar_util_name_compare(curitem->name, cur->data)); cur = cur->next); |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
4081 if (!cur) { |
15823 | 4082 purple_debug_info("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4083 "ssi: adding deny buddy %s to local list\n", curitem->name); |
15823 | 4084 purple_privacy_deny_add(account, curitem->name, TRUE); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4085 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4086 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4087 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4088 |
28862 | 4089 case AIM_SSI_TYPE_PDINFO: { /* Permit/deny setting */ |
25459
4d758dcd5715
Change the way oscar deals with account->perm_deny a little bit.
Mark Doliner <mark@kingant.net>
parents:
25452
diff
changeset
|
4090 /* |
4d758dcd5715
Change the way oscar deals with account->perm_deny a little bit.
Mark Doliner <mark@kingant.net>
parents:
25452
diff
changeset
|
4091 * We don't inherit the permit/deny setting from the server |
4d758dcd5715
Change the way oscar deals with account->perm_deny a little bit.
Mark Doliner <mark@kingant.net>
parents:
25452
diff
changeset
|
4092 * for ICQ because, for ICQ, this setting controls who can |
4d758dcd5715
Change the way oscar deals with account->perm_deny a little bit.
Mark Doliner <mark@kingant.net>
parents:
25452
diff
changeset
|
4093 * see your online status when you are invisible. Thus it is |
4d758dcd5715
Change the way oscar deals with account->perm_deny a little bit.
Mark Doliner <mark@kingant.net>
parents:
25452
diff
changeset
|
4094 * a part of your status and not really related to blocking. |
4d758dcd5715
Change the way oscar deals with account->perm_deny a little bit.
Mark Doliner <mark@kingant.net>
parents:
25452
diff
changeset
|
4095 */ |
4d758dcd5715
Change the way oscar deals with account->perm_deny a little bit.
Mark Doliner <mark@kingant.net>
parents:
25452
diff
changeset
|
4096 if (!od->icq && curitem->data) { |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
4097 guint8 perm_deny = aim_ssi_getpermdeny(&od->ssi.local); |
25459
4d758dcd5715
Change the way oscar deals with account->perm_deny a little bit.
Mark Doliner <mark@kingant.net>
parents:
25452
diff
changeset
|
4098 if (perm_deny != 0 && perm_deny != account->perm_deny) |
4d758dcd5715
Change the way oscar deals with account->perm_deny a little bit.
Mark Doliner <mark@kingant.net>
parents:
25452
diff
changeset
|
4099 { |
15823 | 4100 purple_debug_info("oscar", |
25459
4d758dcd5715
Change the way oscar deals with account->perm_deny a little bit.
Mark Doliner <mark@kingant.net>
parents:
25452
diff
changeset
|
4101 "ssi: changing permdeny from %d to %hhu\n", account->perm_deny, perm_deny); |
4d758dcd5715
Change the way oscar deals with account->perm_deny a little bit.
Mark Doliner <mark@kingant.net>
parents:
25452
diff
changeset
|
4102 account->perm_deny = perm_deny; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4103 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4104 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4105 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4106 |
28862 | 4107 case AIM_SSI_TYPE_PRESENCEPREFS: { /* Presence setting */ |
15823 | 4108 /* We don't want to change Purple's setting because it applies to all accounts */ |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4109 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4110 } /* End of switch on curitem->type */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4111 } /* End of for loop */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4112 |
30810
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
4113 /*** End code for adding from server list to local list ***/ |
b8f47c07ca42
Cleanup some code I wrote a long time ago in a galaxy far far away.
Mark Doliner <mark@kingant.net>
parents:
30809
diff
changeset
|
4114 |
30809
50d472b3d752
Fixed a bug I accidentally introduced in fb1ab831dedebf45ea50b6f87bfc00265a0115ef.
ivan.komarov@soc.pidgin.im
parents:
30806
diff
changeset
|
4115 if (od->icq) { |
50d472b3d752
Fixed a bug I accidentally introduced in fb1ab831dedebf45ea50b6f87bfc00265a0115ef.
ivan.komarov@soc.pidgin.im
parents:
30806
diff
changeset
|
4116 oscar_set_icq_permdeny(account); |
50d472b3d752
Fixed a bug I accidentally introduced in fb1ab831dedebf45ea50b6f87bfc00265a0115ef.
ivan.komarov@soc.pidgin.im
parents:
30806
diff
changeset
|
4117 } else { |
50d472b3d752
Fixed a bug I accidentally introduced in fb1ab831dedebf45ea50b6f87bfc00265a0115ef.
ivan.komarov@soc.pidgin.im
parents:
30806
diff
changeset
|
4118 oscar_set_aim_permdeny(gc); |
50d472b3d752
Fixed a bug I accidentally introduced in fb1ab831dedebf45ea50b6f87bfc00265a0115ef.
ivan.komarov@soc.pidgin.im
parents:
30806
diff
changeset
|
4119 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4120 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4121 /* Activate SSI */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4122 /* Sending the enable causes other people to be able to see you, and you to see them */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4123 /* Make sure your privacy setting/invisibility is set how you want it before this! */ |
15823 | 4124 purple_debug_info("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4125 "ssi: activating server-stored buddy list\n"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4126 aim_ssi_enable(od); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4127 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4128 /* |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4129 * Make sure our server-stored icon is updated correctly in |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4130 * the event that the local user set a new icon while this |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4131 * account was offline. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4132 */ |
16390
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
4133 img = purple_buddy_icons_find_account_icon(account); |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
4134 oscar_set_icon(gc, img); |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
4135 purple_imgstore_unref(img); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4136 |
28758
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
4137 /* |
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
4138 * If we've already received our bos rights then we're not waiting on |
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
4139 * anything else, so send the server clientready. |
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
4140 */ |
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
4141 if (od->bos.have_rights) { |
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
4142 aim_srv_clientready(od, conn); |
28881
30f8f2105740
I believe this change fixes offline message retrieval.
Mark Doliner <mark@kingant.net>
parents:
28879
diff
changeset
|
4143 |
30f8f2105740
I believe this change fixes offline message retrieval.
Mark Doliner <mark@kingant.net>
parents:
28879
diff
changeset
|
4144 /* Request offline messages for AIM and ICQ */ |
30f8f2105740
I believe this change fixes offline message retrieval.
Mark Doliner <mark@kingant.net>
parents:
28879
diff
changeset
|
4145 aim_im_reqofflinemsgs(od); |
30f8f2105740
I believe this change fixes offline message retrieval.
Mark Doliner <mark@kingant.net>
parents:
28879
diff
changeset
|
4146 |
28758
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
4147 purple_connection_set_state(gc, PURPLE_CONNECTED); |
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
4148 } |
3161c687d7bc
Don't call aim_src_clientready() until we have activated our feedbag
Mark Doliner <mark@kingant.net>
parents:
28591
diff
changeset
|
4149 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4150 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4151 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4152 |
15823 | 4153 static int purple_ssi_parseack(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
4154 PurpleConnection *gc = od->gc; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4155 va_list ap; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4156 struct aim_ssi_tmp *retval; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4157 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4158 va_start(ap, fr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4159 retval = va_arg(ap, struct aim_ssi_tmp *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4160 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4161 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4162 while (retval) { |
15823 | 4163 purple_debug_misc("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4164 "ssi: status is 0x%04hx for a 0x%04hx action with name %s\n", retval->ack, retval->action, retval->item ? (retval->item->name ? retval->item->name : "no name") : "no item"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4165 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4166 if (retval->ack != 0xffff) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4167 switch (retval->ack) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4168 case 0x0000: { /* added successfully */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4169 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4170 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4171 case 0x000c: { /* you are over the limit, the cheat is to the limit, come on fhqwhgads */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4172 gchar *buf; |
27463
f541583e31bd
More uniformity among disconnect error messages
Mark Doliner <mark@kingant.net>
parents:
27459
diff
changeset
|
4173 buf = g_strdup_printf(_("Unable to add the buddy %s because you have too many buddies in your buddy list. Please remove one and try again."), (retval->name ? retval->name : _("(no name)"))); |
15823 | 4174 if ((retval->name != NULL) && !purple_conv_present_error(retval->name, purple_connection_get_account(gc), buf)) |
24374
75545fdf8944
String changes. I'm kind of blindly making changes to the qq strings
Mark Doliner <mark@kingant.net>
parents:
24315
diff
changeset
|
4175 purple_notify_error(gc, NULL, _("Unable to Add"), buf); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4176 g_free(buf); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4177 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4178 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4179 case 0x000e: { /* buddy requires authorization */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4180 if ((retval->action == SNAC_SUBTYPE_FEEDBAG_ADD) && (retval->name)) |
31851
0cf50b0f7af4
Add invite message support to Oscar.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31848
diff
changeset
|
4181 oscar_auth_sendrequest(gc, retval->name, NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4182 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4183 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4184 default: { /* La la la */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4185 gchar *buf; |
15823 | 4186 purple_debug_error("oscar", "ssi: Action 0x%04hx was unsuccessful with error 0x%04hx\n", retval->action, retval->ack); |
27463
f541583e31bd
More uniformity among disconnect error messages
Mark Doliner <mark@kingant.net>
parents:
27459
diff
changeset
|
4187 buf = g_strdup_printf(_("Unable to add the buddy %s for an unknown reason."), |
18278
c3d5b91be081
Get rid of the portion of this error message that says "The most
Mark Doliner <mark@kingant.net>
parents:
18207
diff
changeset
|
4188 (retval->name ? retval->name : _("(no name)"))); |
15823 | 4189 if ((retval->name != NULL) && !purple_conv_present_error(retval->name, purple_connection_get_account(gc), buf)) |
24374
75545fdf8944
String changes. I'm kind of blindly making changes to the qq strings
Mark Doliner <mark@kingant.net>
parents:
24315
diff
changeset
|
4190 purple_notify_error(gc, NULL, _("Unable to Add"), buf); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4191 g_free(buf); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4192 } break; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4193 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4194 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4195 retval = retval->next; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4196 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4197 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4198 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4199 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4200 |
20630
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4201 static int |
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4202 purple_ssi_parseaddmod(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) |
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4203 { |
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4204 PurpleConnection *gc; |
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4205 PurpleAccount *account; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4206 char *gname, *gname_utf8, *alias, *alias_utf8; |
15823 | 4207 PurpleBuddy *b; |
4208 PurpleGroup *g; | |
21993
bb1190d6961c
Partial support for reading ICQ 6 status notes. The status note will
Mark Doliner <mark@kingant.net>
parents:
21737
diff
changeset
|
4209 struct aim_ssi_item *ssi_item; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4210 va_list ap; |
20630
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4211 guint16 snac_subtype, type; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4212 const char *name; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4213 |
20630
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4214 gc = od->gc; |
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4215 account = purple_connection_get_account(gc); |
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4216 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4217 va_start(ap, fr); |
20630
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4218 snac_subtype = (guint16)va_arg(ap, int); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4219 type = (guint16)va_arg(ap, int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4220 name = va_arg(ap, char *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4221 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4222 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4223 if ((type != 0x0000) || (name == NULL)) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4224 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4225 |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
4226 gname = aim_ssi_itemlist_findparentname(&od->ssi.local, name); |
29193
328a7ff06110
Use the od->icq boolean in a few places where we were calling
Mark Doliner <mark@kingant.net>
parents:
29154
diff
changeset
|
4227 gname_utf8 = gname ? oscar_utf8_try_convert(account, od, gname) : NULL; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4228 |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
4229 alias = aim_ssi_getalias(&od->ssi.local, gname, name); |
30834
a6511abec788
A couple of refactorings related to oscar_utf8_try_convert().
ivan.komarov@soc.pidgin.im
parents:
30832
diff
changeset
|
4230 alias_utf8 = oscar_utf8_try_convert(account, od, alias); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4231 g_free(alias); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4232 |
20630
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4233 b = purple_find_buddy(account, name); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4234 if (b) { |
20630
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4235 /* |
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4236 * You're logged in somewhere else and you aliased one |
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4237 * of your buddies, so update our local buddy list with |
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4238 * the person's new alias. |
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4239 */ |
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4240 purple_blist_alias_buddy(b, alias_utf8); |
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4241 } else if (snac_subtype == 0x0008) { |
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4242 /* |
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4243 * You're logged in somewhere else and you added a buddy to |
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4244 * your server list, so add them to your local buddy list. |
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4245 */ |
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4246 b = purple_buddy_new(account, name, alias_utf8); |
15823 | 4247 |
4248 if (!(g = purple_find_group(gname_utf8 ? gname_utf8 : _("Orphans")))) { | |
4249 g = purple_group_new(gname_utf8 ? gname_utf8 : _("Orphans")); | |
4250 purple_blist_add_group(g, NULL); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4251 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4252 |
15823 | 4253 purple_debug_info("oscar", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4254 "ssi: adding buddy %s to group %s to local list\n", name, gname_utf8 ? gname_utf8 : _("Orphans")); |
15823 | 4255 purple_blist_add_buddy(b, NULL, g, NULL); |
20721
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
4256 |
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
4257 /* Mobile users should always be online */ |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4258 if (name[0] == '+') { |
20721
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
4259 purple_prpl_got_user_status(account, |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4260 name, OSCAR_STATUS_ID_AVAILABLE, NULL); |
20721
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
4261 purple_prpl_got_user_status(account, |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4262 name, OSCAR_STATUS_ID_MOBILE, NULL); |
20721
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
4263 } |
d579d77d4604
Make phone numbers always show up as online and mobile. AOL takes
Mark Doliner <mark@kingant.net>
parents:
20661
diff
changeset
|
4264 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4265 } |
20630
41dd71aa79d6
Another patch from Collin from ComBOTS Product GmbH. Now, if you
Mark Doliner <mark@kingant.net>
parents:
20629
diff
changeset
|
4266 |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
4267 ssi_item = aim_ssi_itemlist_finditem(&od->ssi.local, |
21993
bb1190d6961c
Partial support for reading ICQ 6 status notes. The status note will
Mark Doliner <mark@kingant.net>
parents:
21737
diff
changeset
|
4268 gname, name, AIM_SSI_TYPE_BUDDY); |
25028
2c80f3d839c7
Patch to fix retrieval of ICQ status messages from users of ICQ 6.x, Miranda,
Daniel Lj <dimmuxx@yahoo.se>
parents:
25024
diff
changeset
|
4269 if (ssi_item == NULL) |
21993
bb1190d6961c
Partial support for reading ICQ 6 status notes. The status note will
Mark Doliner <mark@kingant.net>
parents:
21737
diff
changeset
|
4270 { |
bb1190d6961c
Partial support for reading ICQ 6 status notes. The status note will
Mark Doliner <mark@kingant.net>
parents:
21737
diff
changeset
|
4271 purple_debug_error("oscar", "purple_ssi_parseaddmod: " |
bb1190d6961c
Partial support for reading ICQ 6 status notes. The status note will
Mark Doliner <mark@kingant.net>
parents:
21737
diff
changeset
|
4272 "Could not find ssi item for oncoming buddy %s, " |
bb1190d6961c
Partial support for reading ICQ 6 status notes. The status note will
Mark Doliner <mark@kingant.net>
parents:
21737
diff
changeset
|
4273 "group %s\n", name, gname); |
bb1190d6961c
Partial support for reading ICQ 6 status notes. The status note will
Mark Doliner <mark@kingant.net>
parents:
21737
diff
changeset
|
4274 } |
bb1190d6961c
Partial support for reading ICQ 6 status notes. The status note will
Mark Doliner <mark@kingant.net>
parents:
21737
diff
changeset
|
4275 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4276 g_free(gname_utf8); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4277 g_free(alias_utf8); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4278 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4279 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4280 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4281 |
15823 | 4282 static int purple_ssi_authgiven(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
4283 PurpleConnection *gc = od->gc; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4284 va_list ap; |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
4285 char *bn, *msg; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4286 gchar *dialog_msg, *nombre; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4287 struct name_data *data; |
15823 | 4288 PurpleBuddy *buddy; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4289 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4290 va_start(ap, fr); |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
4291 bn = va_arg(ap, char *); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4292 msg = va_arg(ap, char *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4293 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4294 |
15823 | 4295 purple_debug_info("oscar", |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
4296 "ssi: %s has given you permission to add him to your buddy list\n", bn); |
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
4297 |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4298 buddy = purple_find_buddy(purple_connection_get_account(gc), bn); |
15823 | 4299 if (buddy && (purple_buddy_get_alias_only(buddy))) |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
4300 nombre = g_strdup_printf("%s (%s)", bn, purple_buddy_get_alias_only(buddy)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4301 else |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
4302 nombre = g_strdup(bn); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4303 |
22637
e970c0c8a48d
nosnilmot pointed out that this error message seemed to be wrong. I agree
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
22603
diff
changeset
|
4304 dialog_msg = g_strdup_printf(_("The user %s has given you permission to add him or her to your buddy list. Do you want to add this user?"), nombre); |
16894
84e2c7cc590a
Free nombre as soon as we're done using it, for clarity
Evan Schoenberg <evan.s@dreskin.net>
parents:
16893
diff
changeset
|
4305 g_free(nombre); |
84e2c7cc590a
Free nombre as soon as we're done using it, for clarity
Evan Schoenberg <evan.s@dreskin.net>
parents:
16893
diff
changeset
|
4306 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4307 data = g_new(struct name_data, 1); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4308 data->gc = gc; |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
4309 data->name = g_strdup(bn); |
16893
5ade68b6a410
Pass the screenname properly to purple_account_request_authorization(), passing the nick (if available) separately. Store the nick for use in callbacks in data->nick where possible.
Evan Schoenberg <evan.s@dreskin.net>
parents:
16843
diff
changeset
|
4310 data->nick = (buddy ? g_strdup(purple_buddy_get_alias_only(buddy)) : NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4311 |
21099
51cf02dbdb0e
disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents:
21095
diff
changeset
|
4312 purple_request_yes_no(gc, NULL, _("Authorization Given"), dialog_msg, |
22137
6dab6629497a
Improve oscar's default actions a tad bit
Mark Doliner <mark@kingant.net>
parents:
22129
diff
changeset
|
4313 PURPLE_DEFAULT_ACTION_NONE, |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
4314 purple_connection_get_account(gc), bn, NULL, |
21099
51cf02dbdb0e
disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents:
21095
diff
changeset
|
4315 data, |
15823 | 4316 G_CALLBACK(purple_icq_buddyadd), |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4317 G_CALLBACK(oscar_free_name_data)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4318 g_free(dialog_msg); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4319 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4320 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4321 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4322 |
30012
a7875e67ad9c
Don't try to convert the message in incoming auth requests. The oscar
Mark Doliner <mark@kingant.net>
parents:
30011
diff
changeset
|
4323 static int purple_ssi_authrequest(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) |
a7875e67ad9c
Don't try to convert the message in incoming auth requests. The oscar
Mark Doliner <mark@kingant.net>
parents:
30011
diff
changeset
|
4324 { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4325 va_list ap; |
30012
a7875e67ad9c
Don't try to convert the message in incoming auth requests. The oscar
Mark Doliner <mark@kingant.net>
parents:
30011
diff
changeset
|
4326 const char *bn; |
30790
674a656893a3
Show authorization request sender's nickname in the "Authorize buddy?"
ivan.komarov@soc.pidgin.im
parents:
30571
diff
changeset
|
4327 char *msg; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4328 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4329 va_start(ap, fr); |
30012
a7875e67ad9c
Don't try to convert the message in incoming auth requests. The oscar
Mark Doliner <mark@kingant.net>
parents:
30011
diff
changeset
|
4330 bn = va_arg(ap, const char *); |
30790
674a656893a3
Show authorization request sender's nickname in the "Authorize buddy?"
ivan.komarov@soc.pidgin.im
parents:
30571
diff
changeset
|
4331 msg = va_arg(ap, char *); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4332 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4333 |
15823 | 4334 purple_debug_info("oscar", |
30012
a7875e67ad9c
Don't try to convert the message in incoming auth requests. The oscar
Mark Doliner <mark@kingant.net>
parents:
30011
diff
changeset
|
4335 "ssi: received authorization request from %s\n", bn); |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
4336 |
30012
a7875e67ad9c
Don't try to convert the message in incoming auth requests. The oscar
Mark Doliner <mark@kingant.net>
parents:
30011
diff
changeset
|
4337 if (!msg) { |
a7875e67ad9c
Don't try to convert the message in incoming auth requests. The oscar
Mark Doliner <mark@kingant.net>
parents:
30011
diff
changeset
|
4338 purple_debug_warning("oscar", "Received auth request from %s with " |
a7875e67ad9c
Don't try to convert the message in incoming auth requests. The oscar
Mark Doliner <mark@kingant.net>
parents:
30011
diff
changeset
|
4339 "empty message\n", bn); |
a7875e67ad9c
Don't try to convert the message in incoming auth requests. The oscar
Mark Doliner <mark@kingant.net>
parents:
30011
diff
changeset
|
4340 } else if (!g_utf8_validate(msg, -1, NULL)) { |
a7875e67ad9c
Don't try to convert the message in incoming auth requests. The oscar
Mark Doliner <mark@kingant.net>
parents:
30011
diff
changeset
|
4341 purple_debug_warning("oscar", "Received auth request from %s with " |
a7875e67ad9c
Don't try to convert the message in incoming auth requests. The oscar
Mark Doliner <mark@kingant.net>
parents:
30011
diff
changeset
|
4342 "invalid UTF-8 message\n", bn); |
a7875e67ad9c
Don't try to convert the message in incoming auth requests. The oscar
Mark Doliner <mark@kingant.net>
parents:
30011
diff
changeset
|
4343 msg = NULL; |
a7875e67ad9c
Don't try to convert the message in incoming auth requests. The oscar
Mark Doliner <mark@kingant.net>
parents:
30011
diff
changeset
|
4344 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4345 |
30790
674a656893a3
Show authorization request sender's nickname in the "Authorize buddy?"
ivan.komarov@soc.pidgin.im
parents:
30571
diff
changeset
|
4346 aim_icq_getalias(od, bn, TRUE, msg); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4347 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4348 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4349 |
15823 | 4350 static int purple_ssi_authreply(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
4351 PurpleConnection *gc = od->gc; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4352 va_list ap; |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
4353 char *bn, *msg; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4354 gchar *dialog_msg, *nombre; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4355 guint8 reply; |
15823 | 4356 PurpleBuddy *buddy; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4357 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4358 va_start(ap, fr); |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
4359 bn = va_arg(ap, char *); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4360 reply = (guint8)va_arg(ap, int); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4361 msg = va_arg(ap, char *); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4362 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4363 |
15823 | 4364 purple_debug_info("oscar", |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
4365 "ssi: received authorization reply from %s. Reply is 0x%04hhx\n", bn, reply); |
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
4366 |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4367 buddy = purple_find_buddy(purple_connection_get_account(gc), bn); |
15823 | 4368 if (buddy && (purple_buddy_get_alias_only(buddy))) |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
4369 nombre = g_strdup_printf("%s (%s)", bn, purple_buddy_get_alias_only(buddy)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4370 else |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
4371 nombre = g_strdup(bn); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4372 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4373 if (reply) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4374 /* Granted */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4375 dialog_msg = g_strdup_printf(_("The user %s has granted your request to add them to your buddy list."), nombre); |
15823 | 4376 purple_notify_info(gc, NULL, _("Authorization Granted"), dialog_msg); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4377 } else { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4378 /* Denied */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4379 dialog_msg = g_strdup_printf(_("The user %s has denied your request to add them to your buddy list for the following reason:\n%s"), nombre, msg ? msg : _("No reason given.")); |
15823 | 4380 purple_notify_info(gc, NULL, _("Authorization Denied"), dialog_msg); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4381 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4382 g_free(dialog_msg); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4383 g_free(nombre); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4384 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4385 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4386 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4387 |
15823 | 4388 static int purple_ssi_gotadded(OscarData *od, FlapConnection *conn, FlapFrame *fr, ...) { |
4389 PurpleConnection *gc = od->gc; | |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4390 PurpleAccount *account = purple_connection_get_account(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4391 va_list ap; |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
4392 char *bn; |
15823 | 4393 PurpleBuddy *buddy; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4394 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4395 va_start(ap, fr); |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
4396 bn = va_arg(ap, char *); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4397 va_end(ap); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4398 |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4399 buddy = purple_find_buddy(account, bn); |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
4400 purple_debug_info("oscar", "ssi: %s added you to their buddy list\n", bn); |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4401 purple_account_notify_added(account, bn, NULL, |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4402 (buddy ? purple_buddy_get_alias_only(buddy) : NULL), NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4403 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4404 return 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4405 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4406 |
15823 | 4407 GList *oscar_chat_info(PurpleConnection *gc) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4408 GList *m = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4409 struct proto_chat_entry *pce; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4410 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4411 pce = g_new0(struct proto_chat_entry, 1); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4412 pce->label = _("_Room:"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4413 pce->identifier = "room"; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4414 pce->required = TRUE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4415 m = g_list_append(m, pce); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4416 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4417 pce = g_new0(struct proto_chat_entry, 1); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4418 pce->label = _("_Exchange:"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4419 pce->identifier = "exchange"; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4420 pce->required = TRUE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4421 pce->is_int = TRUE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4422 pce->min = 4; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4423 pce->max = 20; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4424 m = g_list_append(m, pce); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4425 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4426 return m; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4427 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4428 |
15823 | 4429 GHashTable *oscar_chat_info_defaults(PurpleConnection *gc, const char *chat_name) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4430 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4431 GHashTable *defaults; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4432 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4433 defaults = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, g_free); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4434 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4435 if (chat_name != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4436 g_hash_table_insert(defaults, "room", g_strdup(chat_name)); |
21737
80aaf91b1025
Have oscar specify a default chat room exchange of 4. Finch always
Mark Doliner <mark@kingant.net>
parents:
21736
diff
changeset
|
4437 g_hash_table_insert(defaults, "exchange", g_strdup("4")); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4438 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4439 return defaults; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4440 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4441 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4442 char * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4443 oscar_get_chat_name(GHashTable *data) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4444 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4445 return g_strdup(g_hash_table_lookup(data, "room")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4446 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4447 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4448 void |
15823 | 4449 oscar_join_chat(PurpleConnection *gc, GHashTable *data) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4450 { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4451 OscarData *od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4452 FlapConnection *conn; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4453 char *name, *exchange; |
21728
86f62b1e2a5a
g_return_if_fail() if the chat room name or exchange aren't set or
Mark Doliner <mark@kingant.net>
parents:
21723
diff
changeset
|
4454 int exchange_int; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4455 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4456 name = g_hash_table_lookup(data, "room"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4457 exchange = g_hash_table_lookup(data, "exchange"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4458 |
21728
86f62b1e2a5a
g_return_if_fail() if the chat room name or exchange aren't set or
Mark Doliner <mark@kingant.net>
parents:
21723
diff
changeset
|
4459 g_return_if_fail(name != NULL && *name != '\0'); |
86f62b1e2a5a
g_return_if_fail() if the chat room name or exchange aren't set or
Mark Doliner <mark@kingant.net>
parents:
21723
diff
changeset
|
4460 g_return_if_fail(exchange != NULL); |
86f62b1e2a5a
g_return_if_fail() if the chat room name or exchange aren't set or
Mark Doliner <mark@kingant.net>
parents:
21723
diff
changeset
|
4461 |
86f62b1e2a5a
g_return_if_fail() if the chat room name or exchange aren't set or
Mark Doliner <mark@kingant.net>
parents:
21723
diff
changeset
|
4462 errno = 0; |
86f62b1e2a5a
g_return_if_fail() if the chat room name or exchange aren't set or
Mark Doliner <mark@kingant.net>
parents:
21723
diff
changeset
|
4463 exchange_int = strtol(exchange, NULL, 10); |
86f62b1e2a5a
g_return_if_fail() if the chat room name or exchange aren't set or
Mark Doliner <mark@kingant.net>
parents:
21723
diff
changeset
|
4464 g_return_if_fail(errno == 0); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4465 |
15823 | 4466 purple_debug_info("oscar", "Attempting to join chat room %s.\n", name); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4467 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4468 if ((conn = flap_connection_getbytype(od, SNAC_FAMILY_CHATNAV))) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4469 { |
15823 | 4470 purple_debug_info("oscar", "chatnav exists, creating room\n"); |
21728
86f62b1e2a5a
g_return_if_fail() if the chat room name or exchange aren't set or
Mark Doliner <mark@kingant.net>
parents:
21723
diff
changeset
|
4471 aim_chatnav_createroom(od, conn, name, exchange_int); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4472 } else { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4473 /* this gets tricky */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4474 struct create_room *cr = g_new0(struct create_room, 1); |
15823 | 4475 purple_debug_info("oscar", "chatnav does not exist, opening chatnav\n"); |
21728
86f62b1e2a5a
g_return_if_fail() if the chat room name or exchange aren't set or
Mark Doliner <mark@kingant.net>
parents:
21723
diff
changeset
|
4476 cr->exchange = exchange_int; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4477 cr->name = g_strdup(name); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4478 od->create_rooms = g_slist_prepend(od->create_rooms, cr); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4479 aim_srv_requestnew(od, SNAC_FAMILY_CHATNAV); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4480 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4481 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4482 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4483 void |
15823 | 4484 oscar_chat_invite(PurpleConnection *gc, int id, const char *message, const char *name) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4485 { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4486 OscarData *od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4487 struct chat_connection *ccon = find_oscar_chat(gc, id); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4488 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4489 if (ccon == NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4490 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4491 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4492 aim_im_sendch2_chatinvite(od, name, message ? message : "", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4493 ccon->exchange, ccon->name, 0x0); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4494 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4495 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4496 void |
15823 | 4497 oscar_chat_leave(PurpleConnection *gc, int id) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4498 { |
15823 | 4499 PurpleConversation *conv; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4500 struct chat_connection *cc; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4501 |
15823 | 4502 conv = purple_find_chat(gc, id); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4503 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4504 g_return_if_fail(conv != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4505 |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4506 purple_debug_info("oscar", "Leaving chat room %s\n", |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4507 purple_conversation_get_name(conv)); |
15823 | 4508 |
4509 cc = find_oscar_chat(gc, purple_conv_chat_get_id(PURPLE_CONV_CHAT(conv))); | |
31399
a467e55ec3c7
Move the call to flap_connection_schedule_destroy from oscar_chat_kill
Mark Doliner <mark@kingant.net>
parents:
31398
diff
changeset
|
4510 flap_connection_schedule_destroy(cc->conn, OSCAR_DISCONNECT_DONE, NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4511 oscar_chat_kill(gc, cc); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4512 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4513 |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4514 int oscar_send_chat(PurpleConnection *gc, int id, const char *message, PurpleMessageFlags flags) |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4515 { |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4516 OscarData *od = purple_connection_get_protocol_data(gc); |
15823 | 4517 PurpleConversation *conv = NULL; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4518 struct chat_connection *c = NULL; |
17824
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
4519 char *buf, *buf2, *buf3; |
30818
9d386bf63eab
Stop using custom encodings (and LATIN-1, for that matter) for sending
ivan.komarov@soc.pidgin.im
parents:
30815
diff
changeset
|
4520 guint16 charset; |
9d386bf63eab
Stop using custom encodings (and LATIN-1, for that matter) for sending
ivan.komarov@soc.pidgin.im
parents:
30815
diff
changeset
|
4521 char *charsetstr; |
9d386bf63eab
Stop using custom encodings (and LATIN-1, for that matter) for sending
ivan.komarov@soc.pidgin.im
parents:
30815
diff
changeset
|
4522 gsize len; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4523 |
15823 | 4524 if (!(conv = purple_find_chat(gc, id))) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4525 return -EINVAL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4526 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4527 if (!(c = find_oscar_chat_by_conv(gc, conv))) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4528 return -EINVAL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4529 |
15823 | 4530 buf = purple_strdup_withhtml(message); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4531 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4532 if (strstr(buf, "<IMG ")) |
15823 | 4533 purple_conversation_write(conv, "", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4534 _("Your IM Image was not sent. " |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4535 "You cannot send IM Images in AIM chats."), |
15823 | 4536 PURPLE_MESSAGE_ERROR, time(NULL)); |
4537 | |
30827 | 4538 buf2 = oscar_encode_im(buf, &len, &charset, &charsetstr); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4539 /* |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4540 * Evan S. suggested that maxvis really does mean "number of |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4541 * visible characters" and not "number of bytes" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4542 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4543 if ((len > c->maxlen) || (len > c->maxvis)) { |
17824
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
4544 /* If the length was too long, try stripping the HTML and then running it back through |
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
4545 * purple_strdup_withhtml() and the encoding process. The result may be shorter. */ |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4546 g_free(buf2); |
17824
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
4547 |
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
4548 buf3 = purple_markup_strip_html(buf); |
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
4549 g_free(buf); |
17826
329ca72df5fa
Remove a pair of unneeded strlen's
Mark Doliner <mark@kingant.net>
parents:
17825
diff
changeset
|
4550 |
17824
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
4551 buf = purple_strdup_withhtml(buf3); |
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
4552 g_free(buf3); |
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
4553 |
30827 | 4554 buf2 = oscar_encode_im(buf, &len, &charset, &charsetstr); |
17824
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
4555 |
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
4556 if ((len > c->maxlen) || (len > c->maxvis)) { |
30818
9d386bf63eab
Stop using custom encodings (and LATIN-1, for that matter) for sending
ivan.komarov@soc.pidgin.im
parents:
30815
diff
changeset
|
4557 purple_debug_warning("oscar", |
9d386bf63eab
Stop using custom encodings (and LATIN-1, for that matter) for sending
ivan.komarov@soc.pidgin.im
parents:
30815
diff
changeset
|
4558 "Could not send %s because (%" G_GSIZE_FORMAT " > maxlen %i) or (%" G_GSIZE_FORMAT " > maxvis %i)\n", |
17824
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
4559 buf2, len, c->maxlen, len, c->maxvis); |
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
4560 g_free(buf); |
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
4561 g_free(buf2); |
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
4562 return -E2BIG; |
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
4563 } |
17826
329ca72df5fa
Remove a pair of unneeded strlen's
Mark Doliner <mark@kingant.net>
parents:
17825
diff
changeset
|
4564 |
19653
941965d6fd88
Patch from QuLogic. Fixes #2903 ('Missing newlines in debug messages.')
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19641
diff
changeset
|
4565 purple_debug_info("oscar", "Sending %s as %s because the original was too long.\n", |
17826
329ca72df5fa
Remove a pair of unneeded strlen's
Mark Doliner <mark@kingant.net>
parents:
17825
diff
changeset
|
4566 message, buf2); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4567 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4568 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4569 aim_chat_send_im(od, c->conn, 0, buf2, len, charsetstr, "en"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4570 g_free(buf2); |
17824
ba1478c35cc0
If a message is known to be too long to send to a chat or IM, and it's an HTML message, strip the HTML, re-encode, and try again. The chat part is particularly useful given the short maximum message length and the fact that purple_markup_linkify() will have linkified long links to being twice the number of characters. The IM part is not triggerred in my experience because MAXMSGLEN seems to be far above the number of characters allowed; perhaps it is a number of bytes, not characters?
Evan Schoenberg <evan.s@dreskin.net>
parents:
17799
diff
changeset
|
4571 g_free(buf); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4572 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4573 return 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4574 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4575 |
29834
1fb503adb2ae
Move the mood UI for ICQ into Pidgin. It still uses the new request API
Richard Laager <rlaager@wiktel.com>
parents:
29829
diff
changeset
|
4576 PurpleMood* oscar_get_purple_moods(PurpleAccount *account) |
1fb503adb2ae
Move the mood UI for ICQ into Pidgin. It still uses the new request API
Richard Laager <rlaager@wiktel.com>
parents:
29829
diff
changeset
|
4577 { |
1fb503adb2ae
Move the mood UI for ICQ into Pidgin. It still uses the new request API
Richard Laager <rlaager@wiktel.com>
parents:
29829
diff
changeset
|
4578 return icq_get_purple_moods(account); |
1fb503adb2ae
Move the mood UI for ICQ into Pidgin. It still uses the new request API
Richard Laager <rlaager@wiktel.com>
parents:
29829
diff
changeset
|
4579 } |
1fb503adb2ae
Move the mood UI for ICQ into Pidgin. It still uses the new request API
Richard Laager <rlaager@wiktel.com>
parents:
29829
diff
changeset
|
4580 |
15823 | 4581 const char *oscar_list_icon_icq(PurpleAccount *a, PurpleBuddy *b) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4582 { |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4583 const char *name = b ? purple_buddy_get_name(b) : NULL; |
32307
4c046f6564cd
Change the heuristic we use for setting od->icq. We used to set it to
Mark Doliner <mark@kingant.net>
parents:
32296
diff
changeset
|
4584 if (name && !oscar_util_valid_name_sms(name) && oscar_util_valid_name_icq(name)) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4585 return "icq"; |
32307
4c046f6564cd
Change the heuristic we use for setting od->icq. We used to set it to
Mark Doliner <mark@kingant.net>
parents:
32296
diff
changeset
|
4586 |
4c046f6564cd
Change the heuristic we use for setting od->icq. We used to set it to
Mark Doliner <mark@kingant.net>
parents:
32296
diff
changeset
|
4587 return "icq"; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4588 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4589 |
15823 | 4590 const char *oscar_list_icon_aim(PurpleAccount *a, PurpleBuddy *b) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4591 { |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4592 const char *name = b ? purple_buddy_get_name(b) : NULL; |
32307
4c046f6564cd
Change the heuristic we use for setting od->icq. We used to set it to
Mark Doliner <mark@kingant.net>
parents:
32296
diff
changeset
|
4593 if (name && !oscar_util_valid_name_sms(name) && oscar_util_valid_name_icq(name)) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4594 return "icq"; |
32307
4c046f6564cd
Change the heuristic we use for setting od->icq. We used to set it to
Mark Doliner <mark@kingant.net>
parents:
32296
diff
changeset
|
4595 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4596 return "aim"; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4597 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4598 |
23269 | 4599 const char *oscar_list_emblem(PurpleBuddy *b) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4600 { |
15823 | 4601 PurpleConnection *gc = NULL; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4602 OscarData *od = NULL; |
15823 | 4603 PurpleAccount *account = NULL; |
4604 PurplePresence *presence; | |
4605 PurpleStatus *status; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4606 const char *status_id; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4607 aim_userinfo_t *userinfo = NULL; |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4608 const char *name; |
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4609 |
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4610 account = purple_buddy_get_account(b); |
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4611 name = purple_buddy_get_name(b); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4612 if (account != NULL) |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4613 gc = purple_account_get_connection(account); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4614 if (gc != NULL) |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4615 od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4616 if (od != NULL) |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4617 userinfo = aim_locate_finduserinfo(od, name); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4618 |
15823 | 4619 presence = purple_buddy_get_presence(b); |
4620 status = purple_presence_get_active_status(presence); | |
4621 status_id = purple_status_get_id(status); | |
4622 | |
4623 if (purple_presence_is_online(presence) == FALSE) { | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4624 char *gname; |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4625 if ((name) && (od) && (od->ssi.received_data) && |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
4626 (gname = aim_ssi_itemlist_findparentname(&od->ssi.local, name)) && |
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
4627 (aim_ssi_waitingforauth(&od->ssi.local, gname, name))) { |
15463 | 4628 return "not-authorized"; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4629 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4630 } |
23269 | 4631 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4632 if (userinfo != NULL ) { |
15463 | 4633 if (userinfo->flags & AIM_FLAG_ADMINISTRATOR) |
4634 return "admin"; | |
4635 if (userinfo->flags & AIM_FLAG_ACTIVEBUDDY) | |
4636 return "bot"; | |
4637 if (userinfo->capabilities & OSCAR_CAPABILITY_SECUREIM) | |
4638 return "secure"; | |
20582
749c35474b09
Use birthday emblem in OSCAR. Fixes #300
Sean Egan <seanegan@gmail.com>
parents:
19686
diff
changeset
|
4639 if (userinfo->icqinfo.status & AIM_ICQ_STATE_BIRTHDAY) |
749c35474b09
Use birthday emblem in OSCAR. Fixes #300
Sean Egan <seanegan@gmail.com>
parents:
19686
diff
changeset
|
4640 return "birthday"; |
29829
11cb7f2bb6e8
Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@wiktel.com>
parents:
29818
diff
changeset
|
4641 |
11cb7f2bb6e8
Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@wiktel.com>
parents:
29818
diff
changeset
|
4642 /* Make the mood icon override anything below this. */ |
11cb7f2bb6e8
Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@wiktel.com>
parents:
29818
diff
changeset
|
4643 if (purple_presence_is_status_primitive_active(presence, PURPLE_STATUS_MOOD)) |
11cb7f2bb6e8
Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@wiktel.com>
parents:
29818
diff
changeset
|
4644 return NULL; |
11cb7f2bb6e8
Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@wiktel.com>
parents:
29818
diff
changeset
|
4645 |
29818
2c95b7c57ebb
Fix up the X-Status code in many ways:
Richard Laager <rlaager@wiktel.com>
parents:
29814
diff
changeset
|
4646 if (userinfo->capabilities & OSCAR_CAPABILITY_HIPTOP) |
2c95b7c57ebb
Fix up the X-Status code in many ways:
Richard Laager <rlaager@wiktel.com>
parents:
29814
diff
changeset
|
4647 return "hiptop"; |
15463 | 4648 } |
4649 return NULL; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4650 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4651 |
23267
043e4b0c274e
Short-circuit earlier if the buddy is offline
Mark Doliner <mark@kingant.net>
parents:
23246
diff
changeset
|
4652 void oscar_tooltip_text(PurpleBuddy *b, PurpleNotifyUserInfo *user_info, gboolean full) |
043e4b0c274e
Short-circuit earlier if the buddy is offline
Mark Doliner <mark@kingant.net>
parents:
23246
diff
changeset
|
4653 { |
043e4b0c274e
Short-circuit earlier if the buddy is offline
Mark Doliner <mark@kingant.net>
parents:
23246
diff
changeset
|
4654 PurpleConnection *gc; |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4655 PurpleAccount *account; |
23267
043e4b0c274e
Short-circuit earlier if the buddy is offline
Mark Doliner <mark@kingant.net>
parents:
23246
diff
changeset
|
4656 OscarData *od; |
043e4b0c274e
Short-circuit earlier if the buddy is offline
Mark Doliner <mark@kingant.net>
parents:
23246
diff
changeset
|
4657 aim_userinfo_t *userinfo; |
043e4b0c274e
Short-circuit earlier if the buddy is offline
Mark Doliner <mark@kingant.net>
parents:
23246
diff
changeset
|
4658 |
23268
9f34726fe141
Whoops, I should have inverted this logic.
Mark Doliner <mark@kingant.net>
parents:
23267
diff
changeset
|
4659 if (!PURPLE_BUDDY_IS_ONLINE(b)) |
23267
043e4b0c274e
Short-circuit earlier if the buddy is offline
Mark Doliner <mark@kingant.net>
parents:
23246
diff
changeset
|
4660 return; |
043e4b0c274e
Short-circuit earlier if the buddy is offline
Mark Doliner <mark@kingant.net>
parents:
23246
diff
changeset
|
4661 |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4662 account = purple_buddy_get_account(b); |
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4663 gc = purple_account_get_connection(account); |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4664 od = purple_connection_get_protocol_data(gc); |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4665 userinfo = aim_locate_finduserinfo(od, purple_buddy_get_name(b)); |
23267
043e4b0c274e
Short-circuit earlier if the buddy is offline
Mark Doliner <mark@kingant.net>
parents:
23246
diff
changeset
|
4666 |
31086
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
4667 oscar_user_info_append_status(gc, user_info, b, userinfo, /* use_html_status */ FALSE); |
23267
043e4b0c274e
Short-circuit earlier if the buddy is offline
Mark Doliner <mark@kingant.net>
parents:
23246
diff
changeset
|
4668 |
043e4b0c274e
Short-circuit earlier if the buddy is offline
Mark Doliner <mark@kingant.net>
parents:
23246
diff
changeset
|
4669 if (full) |
043e4b0c274e
Short-circuit earlier if the buddy is offline
Mark Doliner <mark@kingant.net>
parents:
23246
diff
changeset
|
4670 oscar_user_info_append_extra_info(gc, user_info, b, userinfo); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4671 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4672 |
15823 | 4673 char *oscar_status_text(PurpleBuddy *b) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4674 { |
15823 | 4675 PurpleConnection *gc; |
4676 PurpleAccount *account; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4677 OscarData *od; |
15823 | 4678 const PurplePresence *presence; |
4679 const PurpleStatus *status; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4680 const char *id; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4681 const char *message; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4682 gchar *ret = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4683 |
15823 | 4684 gc = purple_account_get_connection(purple_buddy_get_account(b)); |
4685 account = purple_connection_get_account(gc); | |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4686 od = purple_connection_get_protocol_data(gc); |
15823 | 4687 presence = purple_buddy_get_presence(b); |
4688 status = purple_presence_get_active_status(presence); | |
4689 id = purple_status_get_id(status); | |
4690 | |
18207
d3dfcfb5755c
Fix for a crash when trying to get oscar_status_text for a buddy on an
Stu Tomlinson <stu@nosnilmot.com>
parents:
18125
diff
changeset
|
4691 if ((od != NULL) && !purple_presence_is_online(presence)) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4692 { |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4693 const char *name = purple_buddy_get_name(b); |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
4694 char *gname = aim_ssi_itemlist_findparentname(&od->ssi.local, name); |
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
4695 if (aim_ssi_waitingforauth(&od->ssi.local, gname, name)) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4696 ret = g_strdup(_("Not Authorized")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4697 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4698 ret = g_strdup(_("Offline")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4699 } |
25028
2c80f3d839c7
Patch to fix retrieval of ICQ status messages from users of ICQ 6.x, Miranda,
Daniel Lj <dimmuxx@yahoo.se>
parents:
25024
diff
changeset
|
4700 else |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4701 { |
15823 | 4702 message = purple_status_get_attr_string(status, "message"); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4703 if (message != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4704 { |
31086
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
4705 gchar *tmp = oscar_util_format_string(message, purple_account_get_username(account)); |
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
4706 ret = purple_markup_escape_text(tmp, -1); |
1558900f47e5
Merged my changes that fix #11964 and #12593. Mark looked over them
ivan.komarov@soc.pidgin.im
parents:
31085
diff
changeset
|
4707 g_free(tmp); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4708 } |
25028
2c80f3d839c7
Patch to fix retrieval of ICQ status messages from users of ICQ 6.x, Miranda,
Daniel Lj <dimmuxx@yahoo.se>
parents:
25024
diff
changeset
|
4709 else if (purple_status_is_available(status)) |
2c80f3d839c7
Patch to fix retrieval of ICQ status messages from users of ICQ 6.x, Miranda,
Daniel Lj <dimmuxx@yahoo.se>
parents:
25024
diff
changeset
|
4710 { |
2c80f3d839c7
Patch to fix retrieval of ICQ status messages from users of ICQ 6.x, Miranda,
Daniel Lj <dimmuxx@yahoo.se>
parents:
25024
diff
changeset
|
4711 /* Don't show "Available" as status message in case buddy doesn't have a status message */ |
2c80f3d839c7
Patch to fix retrieval of ICQ status messages from users of ICQ 6.x, Miranda,
Daniel Lj <dimmuxx@yahoo.se>
parents:
25024
diff
changeset
|
4712 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4713 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4714 { |
25028
2c80f3d839c7
Patch to fix retrieval of ICQ status messages from users of ICQ 6.x, Miranda,
Daniel Lj <dimmuxx@yahoo.se>
parents:
25024
diff
changeset
|
4715 ret = g_strdup(purple_status_get_name(status)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4716 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4717 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4718 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4719 return ret; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4720 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4721 |
30809
50d472b3d752
Fixed a bug I accidentally introduced in fb1ab831dedebf45ea50b6f87bfc00265a0115ef.
ivan.komarov@soc.pidgin.im
parents:
30806
diff
changeset
|
4722 void oscar_set_aim_permdeny(PurpleConnection *gc) { |
15823 | 4723 PurpleAccount *account = purple_connection_get_account(gc); |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4724 OscarData *od = purple_connection_get_protocol_data(gc); |
25459
4d758dcd5715
Change the way oscar deals with account->perm_deny a little bit.
Mark Doliner <mark@kingant.net>
parents:
25452
diff
changeset
|
4725 |
4d758dcd5715
Change the way oscar deals with account->perm_deny a little bit.
Mark Doliner <mark@kingant.net>
parents:
25452
diff
changeset
|
4726 /* |
30805
5bfef3338383
Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
30804
diff
changeset
|
4727 * Conveniently there is a one-to-one mapping between the |
5bfef3338383
Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
30804
diff
changeset
|
4728 * values of libpurple's PurplePrivacyType and the values used |
5bfef3338383
Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
30804
diff
changeset
|
4729 * by the oscar protocol. |
25459
4d758dcd5715
Change the way oscar deals with account->perm_deny a little bit.
Mark Doliner <mark@kingant.net>
parents:
25452
diff
changeset
|
4730 */ |
30805
5bfef3338383
Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
30804
diff
changeset
|
4731 aim_ssi_setpermdeny(od, account->perm_deny); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4732 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4733 |
15823 | 4734 void oscar_add_permit(PurpleConnection *gc, const char *who) { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4735 OscarData *od = purple_connection_get_protocol_data(gc); |
15823 | 4736 purple_debug_info("oscar", "ssi: About to add a permit\n"); |
30805
5bfef3338383
Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
30804
diff
changeset
|
4737 aim_ssi_add_to_private_list(od, who, AIM_SSI_TYPE_PERMIT); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4738 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4739 |
15823 | 4740 void oscar_add_deny(PurpleConnection *gc, const char *who) { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4741 OscarData *od = purple_connection_get_protocol_data(gc); |
15823 | 4742 purple_debug_info("oscar", "ssi: About to add a deny\n"); |
30805
5bfef3338383
Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
30804
diff
changeset
|
4743 aim_ssi_add_to_private_list(od, who, aim_ssi_getdenyentrytype(od)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4744 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4745 |
15823 | 4746 void oscar_rem_permit(PurpleConnection *gc, const char *who) { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4747 OscarData *od = purple_connection_get_protocol_data(gc); |
15823 | 4748 purple_debug_info("oscar", "ssi: About to delete a permit\n"); |
30805
5bfef3338383
Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
30804
diff
changeset
|
4749 aim_ssi_del_from_private_list(od, who, AIM_SSI_TYPE_PERMIT); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4750 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4751 |
15823 | 4752 void oscar_rem_deny(PurpleConnection *gc, const char *who) { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4753 OscarData *od = purple_connection_get_protocol_data(gc); |
15823 | 4754 purple_debug_info("oscar", "ssi: About to delete a deny\n"); |
30805
5bfef3338383
Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
30804
diff
changeset
|
4755 aim_ssi_del_from_private_list(od, who, aim_ssi_getdenyentrytype(od)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4756 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4757 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4758 GList * |
15823 | 4759 oscar_status_types(PurpleAccount *account) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4760 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4761 gboolean is_icq; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4762 GList *status_types = NULL; |
15823 | 4763 PurpleStatusType *type; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4764 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4765 g_return_val_if_fail(account != NULL, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4766 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4767 /* Used to flag some statuses as "user settable" or not */ |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
4768 is_icq = oscar_util_valid_name_icq(purple_account_get_username(account)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4769 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4770 /* Common status types */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4771 /* Really the available message should only be settable for AIM accounts */ |
15823 | 4772 type = purple_status_type_new_with_attrs(PURPLE_STATUS_AVAILABLE, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4773 OSCAR_STATUS_ID_AVAILABLE, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4774 NULL, TRUE, TRUE, FALSE, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4775 "message", _("Message"), |
15823 | 4776 purple_value_new(PURPLE_TYPE_STRING), |
15628
2261750cf4e9
Allow setting of the iTunes Music Store URL for AIM accounts. It's
Mark Doliner <mark@kingant.net>
parents:
15625
diff
changeset
|
4777 "itmsurl", _("iTunes Music Store Link"), |
15823 | 4778 purple_value_new(PURPLE_TYPE_STRING), NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4779 status_types = g_list_prepend(status_types, type); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4780 |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4781 type = purple_status_type_new_with_attrs(PURPLE_STATUS_AVAILABLE, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4782 OSCAR_STATUS_ID_FREE4CHAT, |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4783 _("Free For Chat"), TRUE, is_icq, FALSE, |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4784 "message", _("Message"), |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4785 purple_value_new(PURPLE_TYPE_STRING), NULL); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4786 |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4787 status_types = g_list_prepend(status_types, type); |
30011 | 4788 |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4789 type = purple_status_type_new_with_attrs(PURPLE_STATUS_AVAILABLE, |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4790 OSCAR_STATUS_ID_EVIL, |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4791 _("Evil"), TRUE, is_icq, FALSE, |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4792 "message", _("Message"), |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4793 purple_value_new(PURPLE_TYPE_STRING), NULL); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4794 status_types = g_list_prepend(status_types, type); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4795 |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4796 |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4797 type = purple_status_type_new_with_attrs(PURPLE_STATUS_AVAILABLE, |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4798 OSCAR_STATUS_ID_DEPRESSION, |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4799 _("Depression"), TRUE, is_icq, FALSE, |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4800 "message", _("Message"), |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4801 purple_value_new(PURPLE_TYPE_STRING), NULL); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4802 status_types = g_list_prepend(status_types, type); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4803 |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4804 |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4805 type = purple_status_type_new_with_attrs(PURPLE_STATUS_AVAILABLE, |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4806 OSCAR_STATUS_ID_ATHOME, |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4807 _("At home"), TRUE, is_icq, FALSE, |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4808 "message", _("Message"), |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4809 purple_value_new(PURPLE_TYPE_STRING), NULL); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4810 status_types = g_list_prepend(status_types, type); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4811 |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4812 |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4813 type = purple_status_type_new_with_attrs(PURPLE_STATUS_AVAILABLE, |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4814 OSCAR_STATUS_ID_ATWORK, |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4815 _("At work"), TRUE, is_icq, FALSE, |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4816 "message", _("Message"), |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4817 purple_value_new(PURPLE_TYPE_STRING), NULL); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4818 |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4819 status_types = g_list_prepend(status_types, type); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4820 |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4821 |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4822 type = purple_status_type_new_with_attrs(PURPLE_STATUS_AVAILABLE, |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4823 OSCAR_STATUS_ID_LUNCH, |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4824 _("Lunch"), TRUE, is_icq, FALSE, |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4825 "message", _("Message"), |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4826 purple_value_new(PURPLE_TYPE_STRING), NULL); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4827 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4828 status_types = g_list_prepend(status_types, type); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4829 |
15823 | 4830 type = purple_status_type_new_with_attrs(PURPLE_STATUS_AWAY, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4831 OSCAR_STATUS_ID_AWAY, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4832 NULL, TRUE, TRUE, FALSE, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4833 "message", _("Message"), |
15823 | 4834 purple_value_new(PURPLE_TYPE_STRING), NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4835 status_types = g_list_prepend(status_types, type); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4836 |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4837 type = purple_status_type_new_with_attrs(PURPLE_STATUS_INVISIBLE, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4838 OSCAR_STATUS_ID_INVISIBLE, |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4839 NULL, TRUE, TRUE, FALSE, |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4840 "message", _("Message"), |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4841 purple_value_new(PURPLE_TYPE_STRING), NULL); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
4842 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4843 status_types = g_list_prepend(status_types, type); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4844 |
15823 | 4845 type = purple_status_type_new_full(PURPLE_STATUS_MOBILE, OSCAR_STATUS_ID_MOBILE, NULL, FALSE, FALSE, TRUE); |
15524
84b3ab83df35
Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents:
15463
diff
changeset
|
4846 status_types = g_list_prepend(status_types, type); |
84b3ab83df35
Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents:
15463
diff
changeset
|
4847 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4848 /* ICQ-specific status types */ |
15823 | 4849 type = purple_status_type_new_with_attrs(PURPLE_STATUS_UNAVAILABLE, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4850 OSCAR_STATUS_ID_OCCUPIED, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4851 _("Occupied"), TRUE, is_icq, FALSE, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4852 "message", _("Message"), |
15823 | 4853 purple_value_new(PURPLE_TYPE_STRING), NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4854 status_types = g_list_prepend(status_types, type); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4855 |
16412
569eba287c84
Sean proposed changing ICQ's "do not disturb" status from being
Mark Doliner <mark@kingant.net>
parents:
16330
diff
changeset
|
4856 type = purple_status_type_new_with_attrs(PURPLE_STATUS_UNAVAILABLE, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4857 OSCAR_STATUS_ID_DND, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4858 _("Do Not Disturb"), TRUE, is_icq, FALSE, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4859 "message", _("Message"), |
15823 | 4860 purple_value_new(PURPLE_TYPE_STRING), NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4861 status_types = g_list_prepend(status_types, type); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4862 |
15823 | 4863 type = purple_status_type_new_with_attrs(PURPLE_STATUS_EXTENDED_AWAY, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4864 OSCAR_STATUS_ID_NA, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4865 _("Not Available"), TRUE, is_icq, FALSE, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4866 "message", _("Message"), |
15823 | 4867 purple_value_new(PURPLE_TYPE_STRING), NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4868 status_types = g_list_prepend(status_types, type); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4869 |
15823 | 4870 type = purple_status_type_new_full(PURPLE_STATUS_OFFLINE, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4871 OSCAR_STATUS_ID_OFFLINE, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4872 NULL, TRUE, TRUE, FALSE); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4873 status_types = g_list_prepend(status_types, type); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4874 |
29829
11cb7f2bb6e8
Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@wiktel.com>
parents:
29818
diff
changeset
|
4875 type = purple_status_type_new_with_attrs(PURPLE_STATUS_MOOD, |
11cb7f2bb6e8
Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@wiktel.com>
parents:
29818
diff
changeset
|
4876 "mood", NULL, TRUE, is_icq, TRUE, |
11cb7f2bb6e8
Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@wiktel.com>
parents:
29818
diff
changeset
|
4877 PURPLE_MOOD_NAME, _("Mood Name"), purple_value_new(PURPLE_TYPE_STRING), |
11cb7f2bb6e8
Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@wiktel.com>
parents:
29818
diff
changeset
|
4878 PURPLE_MOOD_COMMENT, _("Mood Comment"), purple_value_new(PURPLE_TYPE_STRING), |
11cb7f2bb6e8
Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@wiktel.com>
parents:
29818
diff
changeset
|
4879 NULL); |
11cb7f2bb6e8
Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@wiktel.com>
parents:
29818
diff
changeset
|
4880 status_types = g_list_prepend(status_types, type); |
11cb7f2bb6e8
Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@wiktel.com>
parents:
29818
diff
changeset
|
4881 |
11cb7f2bb6e8
Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@wiktel.com>
parents:
29818
diff
changeset
|
4882 return g_list_reverse(status_types); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4883 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4884 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4885 static void oscar_ssi_editcomment(struct name_data *data, const char *text) { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4886 PurpleConnection *gc; |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4887 PurpleAccount *account; |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4888 OscarData *od; |
15823 | 4889 PurpleBuddy *b; |
4890 PurpleGroup *g; | |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4891 |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4892 gc = data->gc; |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4893 od = purple_connection_get_protocol_data(gc); |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4894 account = purple_connection_get_account(gc); |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4895 |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4896 b = purple_find_buddy(account, data->name); |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4897 if (b == NULL) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4898 oscar_free_name_data(data); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4899 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4900 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4901 |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4902 g = purple_buddy_get_group(b); |
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4903 if (g == NULL) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4904 oscar_free_name_data(data); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4905 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4906 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4907 |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4908 aim_ssi_editcomment(od, purple_group_get_name(g), data->name, text); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4909 oscar_free_name_data(data); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4910 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4911 |
15823 | 4912 static void oscar_buddycb_edit_comment(PurpleBlistNode *node, gpointer ignore) { |
4913 | |
4914 PurpleBuddy *buddy; | |
4915 PurpleConnection *gc; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4916 OscarData *od; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4917 struct name_data *data; |
15823 | 4918 PurpleGroup *g; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4919 char *comment; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4920 gchar *comment_utf8; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4921 gchar *title; |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4922 PurpleAccount *account; |
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4923 const char *name; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4924 |
15823 | 4925 g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node)); |
4926 | |
4927 buddy = (PurpleBuddy *) node; | |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4928 name = purple_buddy_get_name(buddy); |
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4929 account = purple_buddy_get_account(buddy); |
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4930 gc = purple_account_get_connection(account); |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4931 od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4932 |
15823 | 4933 if (!(g = purple_buddy_get_group(buddy))) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4934 return; |
24315
dd787f8d5e91
Fix a potential leak, thanks to "KuSh". Fixes #7463.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
24163
diff
changeset
|
4935 |
dd787f8d5e91
Fix a potential leak, thanks to "KuSh". Fixes #7463.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
24163
diff
changeset
|
4936 data = g_new(struct name_data, 1); |
dd787f8d5e91
Fix a potential leak, thanks to "KuSh". Fixes #7463.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
24163
diff
changeset
|
4937 |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
4938 comment = aim_ssi_getcomment(&od->ssi.local, purple_group_get_name(g), name); |
29193
328a7ff06110
Use the od->icq boolean in a few places where we were calling
Mark Doliner <mark@kingant.net>
parents:
29154
diff
changeset
|
4939 comment_utf8 = comment ? oscar_utf8_try_convert(account, od, comment) : NULL; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4940 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4941 data->gc = gc; |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4942 data->name = g_strdup(name); |
16893
5ade68b6a410
Pass the screenname properly to purple_account_request_authorization(), passing the nick (if available) separately. Store the nick for use in callbacks in data->nick where possible.
Evan Schoenberg <evan.s@dreskin.net>
parents:
16843
diff
changeset
|
4943 data->nick = g_strdup(purple_buddy_get_alias_only(buddy)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4944 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4945 title = g_strdup_printf(_("Buddy Comment for %s"), data->name); |
21099
51cf02dbdb0e
disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents:
21095
diff
changeset
|
4946 purple_request_input(gc, title, _("Buddy Comment:"), NULL, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4947 comment_utf8, TRUE, FALSE, NULL, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4948 _("_OK"), G_CALLBACK(oscar_ssi_editcomment), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4949 _("_Cancel"), G_CALLBACK(oscar_free_name_data), |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4950 account, data->name, NULL, |
21099
51cf02dbdb0e
disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents:
21095
diff
changeset
|
4951 data); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4952 g_free(title); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4953 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4954 g_free(comment); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4955 g_free(comment_utf8); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4956 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4957 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4958 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4959 oscar_ask_directim_yes_cb(struct oscar_ask_directim_data *data) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4960 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4961 peer_connection_propose(data->od, OSCAR_CAPABILITY_DIRECTIM, data->who); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4962 g_free(data->who); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4963 g_free(data); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4964 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4965 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4966 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4967 oscar_ask_directim_no_cb(struct oscar_ask_directim_data *data) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4968 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4969 g_free(data->who); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4970 g_free(data); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4971 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4972 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4973 /* This is called from right-click menu on a buddy node. */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4974 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4975 oscar_ask_directim(gpointer object, gpointer ignored) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4976 { |
15823 | 4977 PurpleBlistNode *node; |
4978 PurpleBuddy *buddy; | |
4979 PurpleConnection *gc; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4980 gchar *buf; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4981 struct oscar_ask_directim_data *data; |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4982 PurpleAccount *account; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4983 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4984 node = object; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4985 |
15823 | 4986 g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node)); |
4987 | |
4988 buddy = (PurpleBuddy *)node; | |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4989 account = purple_buddy_get_account(buddy); |
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4990 gc = purple_account_get_connection(account); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4991 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4992 data = g_new0(struct oscar_ask_directim_data, 1); |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4993 data->who = g_strdup(purple_buddy_get_name(buddy)); |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
4994 data->od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4995 buf = g_strdup_printf(_("You have selected to open a Direct IM connection with %s."), |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
4996 data->who); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4997 |
21099
51cf02dbdb0e
disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents:
21095
diff
changeset
|
4998 purple_request_action(gc, NULL, buf, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4999 _("Because this reveals your IP address, it " |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5000 "may be considered a security risk. Do you " |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5001 "wish to continue?"), |
22137
6dab6629497a
Improve oscar's default actions a tad bit
Mark Doliner <mark@kingant.net>
parents:
22129
diff
changeset
|
5002 0, /* Default action is "connect" */ |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
5003 account, data->who, NULL, |
21099
51cf02dbdb0e
disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents:
21095
diff
changeset
|
5004 data, 2, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5005 _("C_onnect"), G_CALLBACK(oscar_ask_directim_yes_cb), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5006 _("_Cancel"), G_CALLBACK(oscar_ask_directim_no_cb)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5007 g_free(buf); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5008 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5009 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5010 static void |
28309
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5011 oscar_close_directim(gpointer object, gpointer ignored) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5012 { |
28309
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5013 PurpleBlistNode *node; |
15823 | 5014 PurpleBuddy *buddy; |
28309
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5015 PurpleAccount *account; |
15823 | 5016 PurpleConnection *gc; |
28309
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5017 PurpleConversation *conv; |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5018 OscarData *od; |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5019 PeerConnection *conn; |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5020 const char *name; |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5021 |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5022 node = object; |
15823 | 5023 |
5024 g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node)); | |
5025 | |
28309
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5026 buddy = (PurpleBuddy*)node; |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5027 name = purple_buddy_get_name(buddy); |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5028 account = purple_buddy_get_account(buddy); |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5029 gc = purple_account_get_connection(account); |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5030 od = gc->proto_data; |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5031 conn = peer_connection_find_by_type(od, name, OSCAR_CAPABILITY_DIRECTIM); |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5032 |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5033 if (conn != NULL) |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5034 { |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5035 if (!conn->ready) |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5036 aim_im_sendch2_cancel(conn); |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5037 |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5038 peer_connection_destroy(conn, OSCAR_DISCONNECT_LOCAL_CLOSED, NULL); |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5039 |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5040 /* OSCAR_DISCONNECT_LOCAL_CLOSED doesn't write anything to the convo |
30865
1cdae196aac8
Standardize on "cancelled".
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30837
diff
changeset
|
5041 * window. Let the user know that we cancelled the Direct IM. */ |
28309
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5042 conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, name); |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5043 purple_conversation_write(conv, NULL, _("You closed the connection."), |
30011 | 5044 PURPLE_MESSAGE_SYSTEM, time(NULL)); |
5045 } | |
5046 } | |
5047 | |
5048 static void oscar_get_icqxstatusmsg(PurpleBlistNode *node, gpointer ignore) | |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
5049 { |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
5050 PurpleBuddy *buddy; |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
5051 PurpleConnection *gc; |
31848
85412e09b61b
Fix libpurple compile when PURPLE_HIDE_STRUCTS is enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31764
diff
changeset
|
5052 OscarData *od; |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
5053 PurpleAccount *account; |
31848
85412e09b61b
Fix libpurple compile when PURPLE_HIDE_STRUCTS is enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31764
diff
changeset
|
5054 const char *bname; |
30011 | 5055 |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
5056 g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node)); |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
5057 |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
5058 buddy = (PurpleBuddy *)node; |
31848
85412e09b61b
Fix libpurple compile when PURPLE_HIDE_STRUCTS is enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31764
diff
changeset
|
5059 bname = purple_buddy_get_name(buddy); |
85412e09b61b
Fix libpurple compile when PURPLE_HIDE_STRUCTS is enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31764
diff
changeset
|
5060 |
85412e09b61b
Fix libpurple compile when PURPLE_HIDE_STRUCTS is enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31764
diff
changeset
|
5061 account = purple_buddy_get_account(buddy); |
85412e09b61b
Fix libpurple compile when PURPLE_HIDE_STRUCTS is enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31764
diff
changeset
|
5062 gc = purple_account_get_connection(account); |
85412e09b61b
Fix libpurple compile when PURPLE_HIDE_STRUCTS is enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31764
diff
changeset
|
5063 od = purple_connection_get_protocol_data(gc); |
85412e09b61b
Fix libpurple compile when PURPLE_HIDE_STRUCTS is enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31764
diff
changeset
|
5064 |
85412e09b61b
Fix libpurple compile when PURPLE_HIDE_STRUCTS is enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31764
diff
changeset
|
5065 purple_debug_info("oscar", "Manual X-Status Get From %s to %s:\n", bname, purple_account_get_username(account)); |
85412e09b61b
Fix libpurple compile when PURPLE_HIDE_STRUCTS is enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31764
diff
changeset
|
5066 |
85412e09b61b
Fix libpurple compile when PURPLE_HIDE_STRUCTS is enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31764
diff
changeset
|
5067 icq_im_xstatus_request(od, bname); |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
5068 } |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
5069 |
29854 | 5070 static void |
5071 oscar_get_aim_info_cb(PurpleBlistNode *node, gpointer ignore) | |
5072 { | |
5073 PurpleBuddy *buddy; | |
5074 PurpleConnection *gc; | |
5075 | |
5076 g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node)); | |
5077 | |
5078 buddy = (PurpleBuddy *)node; | |
5079 gc = purple_account_get_connection(purple_buddy_get_account(buddy)); | |
5080 | |
5081 aim_locate_getinfoshort(purple_connection_get_protocol_data(gc), | |
5082 purple_buddy_get_name(buddy), 0x00000003); | |
5083 } | |
5084 | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5085 static GList * |
15823 | 5086 oscar_buddy_menu(PurpleBuddy *buddy) { |
5087 PurpleConnection *gc; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5088 OscarData *od; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5089 GList *menu; |
15823 | 5090 PurpleMenuAction *act; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5091 aim_userinfo_t *userinfo; |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
5092 PurpleAccount *account; |
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
5093 const char *bname = purple_buddy_get_name(buddy); |
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
5094 |
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
5095 account = purple_buddy_get_account(buddy); |
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
5096 gc = purple_account_get_connection(account); |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
5097 od = purple_connection_get_protocol_data(gc); |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
5098 userinfo = aim_locate_finduserinfo(od, bname); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5099 menu = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5100 |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
5101 if (od->icq && oscar_util_valid_name_icq(bname)) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5102 { |
15823 | 5103 act = purple_menu_action_new(_("Get AIM Info"), |
5104 PURPLE_CALLBACK(oscar_get_aim_info_cb), | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5105 NULL, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5106 menu = g_list_prepend(menu, act); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5107 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5108 |
24926
6f1f809d6fa2
Use purple_buddy_get_group() instead of aim_ssi_itemlist_exists() to check
Mark Doliner <mark@kingant.net>
parents:
24923
diff
changeset
|
5109 if (purple_buddy_get_group(buddy) != NULL) |
24923
8a930bc2734d
Don't show the 'Edit Buddy Comment' option for PurpleBuddys that are not
Stu Tomlinson <stu@nosnilmot.com>
parents:
24884
diff
changeset
|
5110 { |
24926
6f1f809d6fa2
Use purple_buddy_get_group() instead of aim_ssi_itemlist_exists() to check
Mark Doliner <mark@kingant.net>
parents:
24923
diff
changeset
|
5111 /* We only do this if the user is in our buddy list */ |
24923
8a930bc2734d
Don't show the 'Edit Buddy Comment' option for PurpleBuddys that are not
Stu Tomlinson <stu@nosnilmot.com>
parents:
24884
diff
changeset
|
5112 act = purple_menu_action_new(_("Edit Buddy Comment"), |
8a930bc2734d
Don't show the 'Edit Buddy Comment' option for PurpleBuddys that are not
Stu Tomlinson <stu@nosnilmot.com>
parents:
24884
diff
changeset
|
5113 PURPLE_CALLBACK(oscar_buddycb_edit_comment), |
8a930bc2734d
Don't show the 'Edit Buddy Comment' option for PurpleBuddys that are not
Stu Tomlinson <stu@nosnilmot.com>
parents:
24884
diff
changeset
|
5114 NULL, NULL); |
8a930bc2734d
Don't show the 'Edit Buddy Comment' option for PurpleBuddys that are not
Stu Tomlinson <stu@nosnilmot.com>
parents:
24884
diff
changeset
|
5115 menu = g_list_prepend(menu, act); |
8a930bc2734d
Don't show the 'Edit Buddy Comment' option for PurpleBuddys that are not
Stu Tomlinson <stu@nosnilmot.com>
parents:
24884
diff
changeset
|
5116 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5117 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5118 if (od->icq) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5119 { |
29812
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
5120 act = purple_menu_action_new(_("Get X-Status Msg"), |
365b90fa23cf
This patch comes from the combined work of contributors minstrel, NightFox,
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
24315
diff
changeset
|
5121 PURPLE_CALLBACK(oscar_get_icqxstatusmsg), |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5122 NULL, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5123 menu = g_list_prepend(menu, act); |
30805
5bfef3338383
Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
30804
diff
changeset
|
5124 menu = g_list_prepend(menu, create_visibility_menu_item(od, bname)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5125 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5126 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5127 if (userinfo && |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
5128 oscar_util_name_compare(purple_account_get_username(account), bname) && |
15823 | 5129 PURPLE_BUDDY_IS_ONLINE(buddy)) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5130 { |
28309
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5131 PeerConnection *conn; |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5132 conn = peer_connection_find_by_type(od, bname, OSCAR_CAPABILITY_DIRECTIM); |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5133 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5134 if (userinfo->capabilities & OSCAR_CAPABILITY_DIRECTIM) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5135 { |
28309
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5136 if (conn) |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5137 { |
28342
7c6591eda2f9
Per rekkanoryo, "End Direct IM Session". Refs #2556.
Paul Aurich <paul@darkrain42.org>
parents:
28311
diff
changeset
|
5138 act = purple_menu_action_new(_("End Direct IM Session"), |
28309
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5139 PURPLE_CALLBACK(oscar_close_directim), |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5140 NULL, NULL); |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5141 } |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5142 else |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5143 { |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5144 act = purple_menu_action_new(_("Direct IM"), |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5145 PURPLE_CALLBACK(oscar_ask_directim), |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5146 NULL, NULL); |
bd9df4e45904
Add a "Cancel Direct IM" buddy action when connected. Closes #2556.
Paul Aurich <paul@darkrain42.org>
parents:
27505
diff
changeset
|
5147 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5148 menu = g_list_prepend(menu, act); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5149 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5150 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5151 |
24926
6f1f809d6fa2
Use purple_buddy_get_group() instead of aim_ssi_itemlist_exists() to check
Mark Doliner <mark@kingant.net>
parents:
24923
diff
changeset
|
5152 if (od->ssi.received_data && purple_buddy_get_group(buddy) != NULL) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5153 { |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
5154 /* |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
5155 * We only do this if the user is in our buddy list and we're |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
5156 * waiting for authorization. |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
5157 */ |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5158 char *gname; |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
5159 gname = aim_ssi_itemlist_findparentname(&od->ssi.local, bname); |
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
5160 if (gname && aim_ssi_waitingforauth(&od->ssi.local, gname, bname)) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5161 { |
15823 | 5162 act = purple_menu_action_new(_("Re-request Authorization"), |
30794
9881f18b95b1
Got rid of family_icq.c -> oscar.c callbacks. Now it will be possible
ivan.komarov@soc.pidgin.im
parents:
30792
diff
changeset
|
5163 PURPLE_CALLBACK(oscar_auth_sendrequest_menu), |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5164 NULL, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5165 menu = g_list_prepend(menu, act); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5166 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5167 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5168 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5169 menu = g_list_reverse(menu); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5170 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5171 return menu; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5172 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5173 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5174 |
15823 | 5175 GList *oscar_blist_node_menu(PurpleBlistNode *node) { |
5176 if(PURPLE_BLIST_NODE_IS_BUDDY(node)) { | |
5177 return oscar_buddy_menu((PurpleBuddy *) node); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5178 } else { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5179 return NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5180 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5181 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5182 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5183 static void |
15823 | 5184 oscar_icq_privacy_opts(PurpleConnection *gc, PurpleRequestFields *fields) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5185 { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
5186 OscarData *od = purple_connection_get_protocol_data(gc); |
15823 | 5187 PurpleAccount *account = purple_connection_get_account(gc); |
5188 PurpleRequestField *f; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5189 gboolean auth, web_aware; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5190 |
15823 | 5191 f = purple_request_fields_get_field(fields, "authorization"); |
5192 auth = purple_request_field_bool_get_value(f); | |
5193 | |
5194 f = purple_request_fields_get_field(fields, "web_aware"); | |
5195 web_aware = purple_request_field_bool_get_value(f); | |
5196 | |
5197 purple_account_set_bool(account, "authorization", auth); | |
5198 purple_account_set_bool(account, "web_aware", web_aware); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5199 |
30801
3ada0cc7d2c5
"Invisibility mode" improvements.
ivan.komarov@soc.pidgin.im
parents:
30800
diff
changeset
|
5200 oscar_set_extended_status(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5201 aim_icq_setsecurity(od, auth, web_aware); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5202 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5203 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5204 static void |
15823 | 5205 oscar_show_icq_privacy_opts(PurplePluginAction *action) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5206 { |
15823 | 5207 PurpleConnection *gc = (PurpleConnection *) action->context; |
5208 PurpleAccount *account = purple_connection_get_account(gc); | |
5209 PurpleRequestFields *fields; | |
5210 PurpleRequestFieldGroup *g; | |
5211 PurpleRequestField *f; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5212 gboolean auth, web_aware; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5213 |
15823 | 5214 auth = purple_account_get_bool(account, "authorization", OSCAR_DEFAULT_AUTHORIZATION); |
5215 web_aware = purple_account_get_bool(account, "web_aware", OSCAR_DEFAULT_WEB_AWARE); | |
5216 | |
5217 fields = purple_request_fields_new(); | |
5218 | |
5219 g = purple_request_field_group_new(NULL); | |
5220 | |
5221 f = purple_request_field_bool_new("authorization", _("Require authorization"), auth); | |
5222 purple_request_field_group_add_field(g, f); | |
5223 | |
5224 f = purple_request_field_bool_new("web_aware", _("Web aware (enabling this will cause you to receive SPAM!)"), web_aware); | |
5225 purple_request_field_group_add_field(g, f); | |
5226 | |
5227 purple_request_fields_add_group(fields, g); | |
5228 | |
21099
51cf02dbdb0e
disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents:
21095
diff
changeset
|
5229 purple_request_fields(gc, _("ICQ Privacy Options"), _("ICQ Privacy Options"), |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5230 NULL, fields, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5231 _("OK"), G_CALLBACK(oscar_icq_privacy_opts), |
16442
08db93bbd798
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evan.s@dreskin.net>
parents:
16412
diff
changeset
|
5232 _("Cancel"), NULL, |
08db93bbd798
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evan.s@dreskin.net>
parents:
16412
diff
changeset
|
5233 purple_connection_get_account(gc), NULL, NULL, |
21099
51cf02dbdb0e
disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents:
21095
diff
changeset
|
5234 gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5235 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5236 |
15823 | 5237 static void oscar_confirm_account(PurplePluginAction *action) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5238 { |
15823 | 5239 PurpleConnection *gc; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5240 OscarData *od; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5241 FlapConnection *conn; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5242 |
15823 | 5243 gc = (PurpleConnection *)action->context; |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
5244 od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5245 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5246 conn = flap_connection_getbytype(od, SNAC_FAMILY_ADMIN); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5247 if (conn != NULL) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5248 aim_admin_reqconfirm(od, conn); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5249 } else { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5250 od->conf = TRUE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5251 aim_srv_requestnew(od, SNAC_FAMILY_ADMIN); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5252 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5253 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5254 |
15823 | 5255 static void oscar_show_email(PurplePluginAction *action) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5256 { |
15823 | 5257 PurpleConnection *gc = (PurpleConnection *) action->context; |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
5258 OscarData *od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5259 FlapConnection *conn = flap_connection_getbytype(od, SNAC_FAMILY_ADMIN); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5260 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5261 if (conn) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5262 aim_admin_getinfo(od, conn, 0x11); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5263 } else { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5264 od->reqemail = TRUE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5265 aim_srv_requestnew(od, SNAC_FAMILY_ADMIN); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5266 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5267 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5268 |
15823 | 5269 static void oscar_change_email(PurpleConnection *gc, const char *email) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5270 { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
5271 OscarData *od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5272 FlapConnection *conn = flap_connection_getbytype(od, SNAC_FAMILY_ADMIN); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5273 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5274 if (conn) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5275 aim_admin_setemail(od, conn, email); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5276 } else { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5277 od->setemail = TRUE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5278 od->email = g_strdup(email); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5279 aim_srv_requestnew(od, SNAC_FAMILY_ADMIN); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5280 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5281 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5282 |
15823 | 5283 static void oscar_show_change_email(PurplePluginAction *action) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5284 { |
15823 | 5285 PurpleConnection *gc = (PurpleConnection *) action->context; |
21099
51cf02dbdb0e
disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents:
21095
diff
changeset
|
5286 purple_request_input(gc, NULL, _("Change Address To:"), NULL, NULL, |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5287 FALSE, FALSE, NULL, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5288 _("_OK"), G_CALLBACK(oscar_change_email), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5289 _("_Cancel"), NULL, |
16442
08db93bbd798
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evan.s@dreskin.net>
parents:
16412
diff
changeset
|
5290 purple_connection_get_account(gc), NULL, NULL, |
21099
51cf02dbdb0e
disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents:
21095
diff
changeset
|
5291 gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5292 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5293 |
15823 | 5294 static void oscar_show_awaitingauth(PurplePluginAction *action) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5295 { |
15823 | 5296 PurpleConnection *gc = (PurpleConnection *) action->context; |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
5297 OscarData *od = purple_connection_get_protocol_data(gc); |
30806
4e804413b12b
Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents:
30805
diff
changeset
|
5298 PurpleAccount *account = purple_connection_get_account(gc); |
4e804413b12b
Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents:
30805
diff
changeset
|
5299 GSList *buddies, *filtered_buddies, *cur; |
4e804413b12b
Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents:
30805
diff
changeset
|
5300 gchar *text; |
24120
16734635febf
Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23961
diff
changeset
|
5301 |
27076
1fcd09c34fee
Use purple_find_buddies() instead of iterating the buddy list.
Paul Aurich <paul@darkrain42.org>
parents:
27024
diff
changeset
|
5302 buddies = purple_find_buddies(account, NULL); |
30806
4e804413b12b
Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents:
30805
diff
changeset
|
5303 filtered_buddies = NULL; |
4e804413b12b
Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents:
30805
diff
changeset
|
5304 for (cur = buddies; cur != NULL; cur = cur->next) { |
27076
1fcd09c34fee
Use purple_find_buddies() instead of iterating the buddy list.
Paul Aurich <paul@darkrain42.org>
parents:
27024
diff
changeset
|
5305 PurpleBuddy *buddy; |
1fcd09c34fee
Use purple_find_buddies() instead of iterating the buddy list.
Paul Aurich <paul@darkrain42.org>
parents:
27024
diff
changeset
|
5306 const gchar *bname, *gname; |
1fcd09c34fee
Use purple_find_buddies() instead of iterating the buddy list.
Paul Aurich <paul@darkrain42.org>
parents:
27024
diff
changeset
|
5307 |
30806
4e804413b12b
Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents:
30805
diff
changeset
|
5308 buddy = cur->data; |
27076
1fcd09c34fee
Use purple_find_buddies() instead of iterating the buddy list.
Paul Aurich <paul@darkrain42.org>
parents:
27024
diff
changeset
|
5309 bname = purple_buddy_get_name(buddy); |
1fcd09c34fee
Use purple_find_buddies() instead of iterating the buddy list.
Paul Aurich <paul@darkrain42.org>
parents:
27024
diff
changeset
|
5310 gname = purple_group_get_name(purple_buddy_get_group(buddy)); |
32294
8d6630912021
Add two hash tables to the oscar code that deals with your server stored
Mark Doliner <mark@kingant.net>
parents:
31764
diff
changeset
|
5311 if (aim_ssi_waitingforauth(&od->ssi.local, gname, bname)) { |
30806
4e804413b12b
Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents:
30805
diff
changeset
|
5312 filtered_buddies = g_slist_prepend(filtered_buddies, buddy); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5313 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5314 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5315 |
30806
4e804413b12b
Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents:
30805
diff
changeset
|
5316 g_slist_free(buddies); |
4e804413b12b
Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents:
30805
diff
changeset
|
5317 |
4e804413b12b
Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents:
30805
diff
changeset
|
5318 filtered_buddies = g_slist_reverse(filtered_buddies); |
4e804413b12b
Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents:
30805
diff
changeset
|
5319 text = oscar_format_buddies(filtered_buddies, _("you are not waiting for authorization")); |
4e804413b12b
Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents:
30805
diff
changeset
|
5320 g_slist_free(filtered_buddies); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5321 |
15823 | 5322 purple_notify_formatted(gc, NULL, _("You are awaiting authorization from " |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5323 "the following buddies"), _("You can re-request " |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5324 "authorization from these buddies by " |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5325 "right-clicking on them and selecting " |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5326 "\"Re-request Authorization.\""), text, NULL, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5327 g_free(text); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5328 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5329 |
15823 | 5330 static void search_by_email_cb(PurpleConnection *gc, const char *email) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5331 { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
5332 OscarData *od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5333 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5334 aim_search_address(od, email); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5335 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5336 |
15823 | 5337 static void oscar_show_find_email(PurplePluginAction *action) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5338 { |
15823 | 5339 PurpleConnection *gc = (PurpleConnection *) action->context; |
23182
e0bcb8cfda74
Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents:
22846
diff
changeset
|
5340 purple_request_input(gc, _("Find Buddy by Email"), |
e0bcb8cfda74
Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents:
22846
diff
changeset
|
5341 _("Search for a buddy by email address"), |
e0bcb8cfda74
Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents:
22846
diff
changeset
|
5342 _("Type the email address of the buddy you are " |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5343 "searching for."), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5344 NULL, FALSE, FALSE, NULL, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5345 _("_Search"), G_CALLBACK(search_by_email_cb), |
16442
08db93bbd798
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evan.s@dreskin.net>
parents:
16412
diff
changeset
|
5346 _("_Cancel"), NULL, |
08db93bbd798
Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evan.s@dreskin.net>
parents:
16412
diff
changeset
|
5347 purple_connection_get_account(gc), NULL, NULL, |
21099
51cf02dbdb0e
disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents:
21095
diff
changeset
|
5348 gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5349 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5350 |
15823 | 5351 static void oscar_show_set_info(PurplePluginAction *action) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5352 { |
15823 | 5353 PurpleConnection *gc = (PurpleConnection *) action->context; |
5354 purple_account_request_change_user_info(purple_connection_get_account(gc)); | |
5355 } | |
5356 | |
5357 static void oscar_show_set_info_icqurl(PurplePluginAction *action) | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5358 { |
15823 | 5359 PurpleConnection *gc = (PurpleConnection *) action->context; |
5360 purple_notify_uri(gc, "http://www.icq.com/whitepages/user_details.php"); | |
5361 } | |
5362 | |
5363 static void oscar_change_pass(PurplePluginAction *action) | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5364 { |
15823 | 5365 PurpleConnection *gc = (PurpleConnection *) action->context; |
5366 purple_account_request_change_password(purple_connection_get_account(gc)); | |
5367 } | |
5368 | |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
5369 /** |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
5370 * Only used when connecting with the old-style BUCP login. |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
5371 */ |
15823 | 5372 static void oscar_show_chpassurl(PurplePluginAction *action) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5373 { |
15823 | 5374 PurpleConnection *gc = (PurpleConnection *) action->context; |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
5375 OscarData *od = purple_connection_get_protocol_data(gc); |
15823 | 5376 gchar *substituted = purple_strreplace(od->authinfo->chpassurl, "%s", purple_account_get_username(purple_connection_get_account(gc))); |
5377 purple_notify_uri(gc, substituted); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5378 g_free(substituted); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5379 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5380 |
15823 | 5381 static void oscar_show_imforwardingurl(PurplePluginAction *action) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5382 { |
15823 | 5383 PurpleConnection *gc = (PurpleConnection *) action->context; |
5384 purple_notify_uri(gc, "http://mymobile.aol.com/dbreg/register?action=imf&clientID=1"); | |
5385 } | |
5386 | |
16390
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
5387 void oscar_set_icon(PurpleConnection *gc, PurpleStoredImage *img) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5388 { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
5389 OscarData *od = purple_connection_get_protocol_data(gc); |
16390
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
5390 |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
5391 if (img == NULL) { |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5392 aim_ssi_delicon(od); |
16390
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
5393 } else { |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
5394 PurpleCipherContext *context; |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
5395 guchar md5[16]; |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
5396 gconstpointer data = purple_imgstore_get_data(img); |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
5397 size_t len = purple_imgstore_get_size(img); |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
5398 |
23385
540a26a1a88d
Helper functions are cool
Mark Doliner <mark@kingant.net>
parents:
23369
diff
changeset
|
5399 context = purple_cipher_context_new_by_name("md5", NULL); |
16390
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
5400 purple_cipher_context_append(context, data, len); |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
5401 purple_cipher_context_digest(context, 16, md5, NULL); |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
5402 purple_cipher_context_destroy(context); |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
5403 |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
5404 aim_ssi_seticon(od, md5, 16); |
4fc51a87ce42
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents:
16386
diff
changeset
|
5405 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5406 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5407 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5408 /** |
15823 | 5409 * Called by the Purple core to determine whether or not we're |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5410 * allowed to send a file to this user. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5411 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5412 gboolean |
15823 | 5413 oscar_can_receive_file(PurpleConnection *gc, const char *who) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5414 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5415 OscarData *od; |
15823 | 5416 PurpleAccount *account; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5417 |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
5418 od = purple_connection_get_protocol_data(gc); |
15823 | 5419 account = purple_connection_get_account(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5420 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5421 if (od != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5422 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5423 aim_userinfo_t *userinfo; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5424 userinfo = aim_locate_finduserinfo(od, who); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5425 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5426 /* |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5427 * Don't allowing sending a file to a user that does not support |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5428 * file transfer, and don't allow sending to ourselves. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5429 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5430 if (((userinfo == NULL) || |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5431 (userinfo->capabilities & OSCAR_CAPABILITY_SENDFILE)) && |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
5432 oscar_util_name_compare(who, purple_account_get_username(account))) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5433 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5434 return TRUE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5435 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5436 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5437 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5438 return FALSE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5439 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5440 |
15823 | 5441 PurpleXfer * |
5442 oscar_new_xfer(PurpleConnection *gc, const char *who) | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5443 { |
15823 | 5444 PurpleXfer *xfer; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5445 OscarData *od; |
15823 | 5446 PurpleAccount *account; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5447 PeerConnection *conn; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5448 |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
5449 od = purple_connection_get_protocol_data(gc); |
15823 | 5450 account = purple_connection_get_account(gc); |
5451 | |
5452 xfer = purple_xfer_new(account, PURPLE_XFER_SEND, who); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5453 if (xfer) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5454 { |
15823 | 5455 purple_xfer_ref(xfer); |
5456 purple_xfer_set_init_fnc(xfer, peer_oft_sendcb_init); | |
5457 purple_xfer_set_cancel_send_fnc(xfer, peer_oft_cb_generic_cancel); | |
5458 purple_xfer_set_request_denied_fnc(xfer, peer_oft_cb_generic_cancel); | |
5459 purple_xfer_set_ack_fnc(xfer, peer_oft_sendcb_ack); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5460 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5461 conn = peer_connection_new(od, OSCAR_CAPABILITY_SENDFILE, who); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5462 conn->flags |= PEER_CONNECTION_FLAG_INITIATED_BY_ME; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5463 conn->flags |= PEER_CONNECTION_FLAG_APPROVED; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5464 aim_icbm_makecookie(conn->cookie); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5465 conn->xfer = xfer; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5466 xfer->data = conn; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5467 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5468 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5469 return xfer; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5470 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5471 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5472 /* |
15823 | 5473 * Called by the Purple core when the user indicates that a |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5474 * file is to be sent to a special someone. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5475 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5476 void |
15823 | 5477 oscar_send_file(PurpleConnection *gc, const char *who, const char *file) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5478 { |
15823 | 5479 PurpleXfer *xfer; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5480 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5481 xfer = oscar_new_xfer(gc, who); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5482 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5483 if (file != NULL) |
15823 | 5484 purple_xfer_request_accepted(xfer, file); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5485 else |
15823 | 5486 purple_xfer_request(xfer); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5487 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5488 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5489 GList * |
15823 | 5490 oscar_actions(PurplePlugin *plugin, gpointer context) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5491 { |
15823 | 5492 PurpleConnection *gc = (PurpleConnection *) context; |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
5493 OscarData *od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5494 GList *menu = NULL; |
15823 | 5495 PurplePluginAction *act; |
5496 | |
5497 act = purple_plugin_action_new(_("Set User Info..."), | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5498 oscar_show_set_info); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5499 menu = g_list_prepend(menu, act); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5500 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5501 if (od->icq) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5502 { |
22457
bc8e0c7c6419
Change these oscar protocol menu actions to use "web" instead of "URL."
Mark Doliner <mark@kingant.net>
parents:
22441
diff
changeset
|
5503 act = purple_plugin_action_new(_("Set User Info (web)..."), |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5504 oscar_show_set_info_icqurl); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5505 menu = g_list_prepend(menu, act); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5506 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5507 |
15823 | 5508 act = purple_plugin_action_new(_("Change Password..."), |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5509 oscar_change_pass); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5510 menu = g_list_prepend(menu, act); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5511 |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
5512 if (od->authinfo != NULL && od->authinfo->chpassurl != NULL) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5513 { |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
5514 /* This only happens when connecting with the old-style BUCP login */ |
22457
bc8e0c7c6419
Change these oscar protocol menu actions to use "web" instead of "URL."
Mark Doliner <mark@kingant.net>
parents:
22441
diff
changeset
|
5515 act = purple_plugin_action_new(_("Change Password (web)"), |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5516 oscar_show_chpassurl); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5517 menu = g_list_prepend(menu, act); |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
5518 } |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
5519 |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
5520 if (!od->icq) |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
5521 { |
22457
bc8e0c7c6419
Change these oscar protocol menu actions to use "web" instead of "URL."
Mark Doliner <mark@kingant.net>
parents:
22441
diff
changeset
|
5522 act = purple_plugin_action_new(_("Configure IM Forwarding (web)"), |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5523 oscar_show_imforwardingurl); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5524 menu = g_list_prepend(menu, act); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5525 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5526 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5527 menu = g_list_prepend(menu, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5528 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5529 if (od->icq) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5530 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5531 /* ICQ actions */ |
15823 | 5532 act = purple_plugin_action_new(_("Set Privacy Options..."), |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5533 oscar_show_icq_privacy_opts); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5534 menu = g_list_prepend(menu, act); |
30806
4e804413b12b
Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents:
30805
diff
changeset
|
5535 |
31051
001897406060
Two strings marked as translatable. You find them in the ICQ account
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
30865
diff
changeset
|
5536 act = purple_plugin_action_new(_("Show Visible List"), oscar_show_visible_list); |
30806
4e804413b12b
Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents:
30805
diff
changeset
|
5537 menu = g_list_prepend(menu, act); |
4e804413b12b
Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents:
30805
diff
changeset
|
5538 |
31051
001897406060
Two strings marked as translatable. You find them in the ICQ account
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
30865
diff
changeset
|
5539 act = purple_plugin_action_new(_("Show Invisible List"), oscar_show_invisible_list); |
30806
4e804413b12b
Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents:
30805
diff
changeset
|
5540 menu = g_list_prepend(menu, act); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5541 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5542 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5543 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5544 /* AIM actions */ |
15823 | 5545 act = purple_plugin_action_new(_("Confirm Account"), |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5546 oscar_confirm_account); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5547 menu = g_list_prepend(menu, act); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5548 |
23182
e0bcb8cfda74
Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents:
22846
diff
changeset
|
5549 act = purple_plugin_action_new(_("Display Currently Registered Email Address"), |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5550 oscar_show_email); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5551 menu = g_list_prepend(menu, act); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5552 |
23182
e0bcb8cfda74
Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents:
22846
diff
changeset
|
5553 act = purple_plugin_action_new(_("Change Currently Registered Email Address..."), |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5554 oscar_show_change_email); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5555 menu = g_list_prepend(menu, act); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5556 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5557 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5558 menu = g_list_prepend(menu, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5559 |
15823 | 5560 act = purple_plugin_action_new(_("Show Buddies Awaiting Authorization"), |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5561 oscar_show_awaitingauth); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5562 menu = g_list_prepend(menu, act); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5563 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5564 menu = g_list_prepend(menu, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5565 |
23182
e0bcb8cfda74
Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents:
22846
diff
changeset
|
5566 act = purple_plugin_action_new(_("Search for Buddy by Email Address..."), |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5567 oscar_show_find_email); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5568 menu = g_list_prepend(menu, act); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5569 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5570 menu = g_list_reverse(menu); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5571 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5572 return menu; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5573 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5574 |
15823 | 5575 void oscar_change_passwd(PurpleConnection *gc, const char *old, const char *new) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5576 { |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
5577 OscarData *od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5578 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5579 if (od->icq) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5580 aim_icq_changepasswd(od, new); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5581 } else { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5582 FlapConnection *conn; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5583 conn = flap_connection_getbytype(od, SNAC_FAMILY_ADMIN); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5584 if (conn) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5585 aim_admin_changepasswd(od, conn, new, old); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5586 } else { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5587 od->chpass = TRUE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5588 od->oldp = g_strdup(old); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5589 od->newp = g_strdup(new); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5590 aim_srv_requestnew(od, SNAC_FAMILY_ADMIN); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5591 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5592 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5593 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5594 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5595 void |
15823 | 5596 oscar_convo_closed(PurpleConnection *gc, const char *who) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5597 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5598 OscarData *od; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5599 PeerConnection *conn; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5600 |
25424
a8c86e97d4f0
Use getters and settings for a bunch of libpurple structs
Mark Doliner <mark@kingant.net>
parents:
25416
diff
changeset
|
5601 od = purple_connection_get_protocol_data(gc); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5602 conn = peer_connection_find_by_type(od, who, OSCAR_CAPABILITY_DIRECTIM); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5603 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5604 if (conn != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5605 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5606 if (!conn->ready) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5607 aim_im_sendch2_cancel(conn); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5608 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5609 peer_connection_destroy(conn, OSCAR_DISCONNECT_LOCAL_CLOSED, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5610 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5611 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5612 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5613 const char * |
15823 | 5614 oscar_normalize(const PurpleAccount *account, const char *str) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5615 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5616 static char buf[BUF_LEN]; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5617 char *tmp1, *tmp2; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5618 int i, j; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5619 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5620 g_return_val_if_fail(str != NULL, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5621 |
22283
2222a596340f
A patch from oliver to speed up oscar's normalize function a little by
Mark Doliner <mark@kingant.net>
parents:
22223
diff
changeset
|
5622 /* copy str to buf and skip all blanks */ |
25166
937d832f4d7f
Shaun Lindsay at Meebo tracked down a bug where this function reads
Mark Doliner <mark@kingant.net>
parents:
25143
diff
changeset
|
5623 i = 0; |
937d832f4d7f
Shaun Lindsay at Meebo tracked down a bug where this function reads
Mark Doliner <mark@kingant.net>
parents:
25143
diff
changeset
|
5624 for (j = 0; str[j]; j++) { |
937d832f4d7f
Shaun Lindsay at Meebo tracked down a bug where this function reads
Mark Doliner <mark@kingant.net>
parents:
25143
diff
changeset
|
5625 if (str[j] != ' ') { |
937d832f4d7f
Shaun Lindsay at Meebo tracked down a bug where this function reads
Mark Doliner <mark@kingant.net>
parents:
25143
diff
changeset
|
5626 buf[i++] = str[j]; |
937d832f4d7f
Shaun Lindsay at Meebo tracked down a bug where this function reads
Mark Doliner <mark@kingant.net>
parents:
25143
diff
changeset
|
5627 if (i >= BUF_LEN - 1) |
937d832f4d7f
Shaun Lindsay at Meebo tracked down a bug where this function reads
Mark Doliner <mark@kingant.net>
parents:
25143
diff
changeset
|
5628 break; |
937d832f4d7f
Shaun Lindsay at Meebo tracked down a bug where this function reads
Mark Doliner <mark@kingant.net>
parents:
25143
diff
changeset
|
5629 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5630 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5631 buf[i] = '\0'; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5632 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5633 tmp1 = g_utf8_strdown(buf, -1); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5634 tmp2 = g_utf8_normalize(tmp1, -1, G_NORMALIZE_DEFAULT); |
22283
2222a596340f
A patch from oliver to speed up oscar's normalize function a little by
Mark Doliner <mark@kingant.net>
parents:
22223
diff
changeset
|
5635 strcpy(buf, tmp2); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5636 g_free(tmp2); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5637 g_free(tmp1); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5638 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5639 return buf; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5640 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5641 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5642 gboolean |
15823 | 5643 oscar_offline_message(const PurpleBuddy *buddy) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5644 { |
22398
791c9545846b
Make sure we tell stuff that oscar supports offline messages for AIM
Mark Doliner <mark@kingant.net>
parents:
22396
diff
changeset
|
5645 return TRUE; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5646 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5647 |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5648 /* TODO: Find somewhere to put this instead of including it in a bunch of places. |
15823 | 5649 * Maybe just change purple_accounts_find() to return anything for the prpl if there is no acct_id. |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5650 */ |
15823 | 5651 static PurpleAccount *find_acct(const char *prpl, const char *acct_id) |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5652 { |
15823 | 5653 PurpleAccount *acct = NULL; |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5654 |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5655 /* If we have a specific acct, use it */ |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5656 if (acct_id) { |
15823 | 5657 acct = purple_accounts_find(acct_id, prpl); |
5658 if (acct && !purple_account_is_connected(acct)) | |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5659 acct = NULL; |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5660 } else { /* Otherwise find an active account for the protocol */ |
18063
926ccb104da0
disapproval of revision '1411afd7660760db59966c3a9f18e2adab8eb27e'
Richard Laager <rlaager@wiktel.com>
parents:
18058
diff
changeset
|
5661 GList *l = purple_accounts_get_all(); |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5662 while (l) { |
15823 | 5663 if (!strcmp(prpl, purple_account_get_protocol_id(l->data)) |
5664 && purple_account_is_connected(l->data)) { | |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5665 acct = l->data; |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5666 break; |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5667 } |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5668 l = l->next; |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5669 } |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5670 } |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5671 |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5672 return acct; |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5673 } |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5674 |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5675 |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5676 static gboolean oscar_uri_handler(const char *proto, const char *cmd, GHashTable *params) |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5677 { |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5678 char *acct_id = g_hash_table_lookup(params, "account"); |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5679 char prpl[11]; |
15823 | 5680 PurpleAccount *acct; |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5681 |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5682 if (g_ascii_strcasecmp(proto, "aim") && g_ascii_strcasecmp(proto, "icq")) |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5683 return FALSE; |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5684 |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5685 g_snprintf(prpl, sizeof(prpl), "prpl-%s", proto); |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5686 |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5687 acct = find_acct(prpl, acct_id); |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5688 |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5689 if (!acct) |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5690 return FALSE; |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5691 |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5692 /* aim:GoIM?screenname=SCREENNAME&message=MESSAGE */ |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5693 if (!g_ascii_strcasecmp(cmd, "GoIM")) { |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
5694 char *bname = g_hash_table_lookup(params, "screenname"); |
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
5695 if (bname) { |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5696 char *message = g_hash_table_lookup(params, "message"); |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5697 |
15823 | 5698 PurpleConversation *conv = purple_find_conversation_with_account( |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
5699 PURPLE_CONV_TYPE_IM, bname, acct); |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5700 if (conv == NULL) |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
5701 conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, acct, bname); |
15823 | 5702 purple_conversation_present(conv); |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5703 |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5704 if (message) { |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5705 /* Spaces are encoded as '+' */ |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5706 g_strdelimit(message, "+", ' '); |
18642
3f0204c58dfa
Don't actually send messages using the protocol handlers (open the window and pre-populate the message, but require the user to actually send the message). Fixes #1961.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
18613
diff
changeset
|
5707 purple_conv_send_confirm(conv, message); |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5708 } |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5709 } |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5710 /*else |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5711 **If pidgindialogs_im() was in the core, we could use it here. |
15823 | 5712 * It is all purple_request_* based, but I'm not sure it really belongs in the core |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5713 pidgindialogs_im();*/ |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5714 |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5715 return TRUE; |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5716 } |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5717 /* aim:GoChat?roomname=CHATROOMNAME&exchange=4 */ |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5718 else if (!g_ascii_strcasecmp(cmd, "GoChat")) { |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5719 char *rname = g_hash_table_lookup(params, "roomname"); |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5720 if (rname) { |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5721 /* This is somewhat hacky, but the params aren't useful after this command */ |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5722 g_hash_table_insert(params, g_strdup("exchange"), g_strdup("4")); |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5723 g_hash_table_insert(params, g_strdup("room"), g_strdup(rname)); |
15823 | 5724 serv_join_chat(purple_account_get_connection(acct), params); |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5725 } |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5726 /*else |
15823 | 5727 ** Same as above (except that this would have to be re-written using purple_request_*) |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5728 pidgin_blist_joinchat_show(); */ |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5729 |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5730 return TRUE; |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5731 } |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5732 /* aim:AddBuddy?screenname=SCREENNAME&groupname=GROUPNAME*/ |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5733 else if (!g_ascii_strcasecmp(cmd, "AddBuddy")) { |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
5734 char *bname = g_hash_table_lookup(params, "screenname"); |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5735 char *gname = g_hash_table_lookup(params, "groupname"); |
25416
6e1967b0f90b
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <mark@kingant.net>
parents:
25415
diff
changeset
|
5736 purple_blist_request_add_buddy(acct, bname, gname, NULL); |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5737 return TRUE; |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5738 } |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5739 |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5740 return FALSE; |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5741 } |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5742 |
31085
4297feb30ad1
Merged everything related to ICQ server changes.
ivan.komarov@soc.pidgin.im
parents:
31051
diff
changeset
|
5743 void oscar_init(PurplePlugin *plugin, gboolean is_icq) |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5744 { |
28877
a990da4540d3
oscar: Remove the simultaneous logins option from ICQ accounts.
Paul Aurich <paul@darkrain42.org>
parents:
28872
diff
changeset
|
5745 PurplePluginProtocolInfo *prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(plugin); |
15823 | 5746 PurpleAccountOption *option; |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5747 static gboolean init = FALSE; |
31341
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5748 static const gchar *encryption_keys[] = { |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5749 N_("Use encryption if available"), |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5750 N_("Require encryption"), |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5751 N_("Don't use encryption"), |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5752 NULL |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5753 }; |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5754 static const gchar *encryption_values[] = { |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5755 OSCAR_OPPORTUNISTIC_ENCRYPTION, |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5756 OSCAR_REQUIRE_ENCRYPTION, |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5757 OSCAR_NO_ENCRYPTION, |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5758 NULL |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5759 }; |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5760 GList *encryption_options = NULL; |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5761 int i; |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5762 |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5763 option = purple_account_option_string_new(_("Server"), "server", get_login_server(is_icq, TRUE)); |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5764 prpl_info->protocol_options = g_list_append(prpl_info->protocol_options, option); |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5765 |
15823 | 5766 option = purple_account_option_int_new(_("Port"), "port", OSCAR_DEFAULT_LOGIN_PORT); |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5767 prpl_info->protocol_options = g_list_append(prpl_info->protocol_options, option); |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5768 |
31341
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5769 for (i = 0; encryption_keys[i]; i++) { |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5770 PurpleKeyValuePair *kvp = g_new0(PurpleKeyValuePair, 1); |
31365
f71745835d15
Encryption keys were marked with the _N() translation macro
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
31358
diff
changeset
|
5771 kvp->key = g_strdup(_(encryption_keys[i])); |
31341
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5772 kvp->value = g_strdup(encryption_values[i]); |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5773 encryption_options = g_list_append(encryption_options, kvp); |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5774 } |
f8f853ab3aba
A followup commit to d849dc2a852a4ffdd345a150f0b88ab37de36e36.
ivan.komarov@soc.pidgin.im
parents:
31337
diff
changeset
|
5775 option = purple_account_option_list_new(_("Connection security"), "encryption", encryption_options); |
24651
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
5776 prpl_info->protocol_options = g_list_append(prpl_info->protocol_options, option); |
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
24615
diff
changeset
|
5777 |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
5778 option = purple_account_option_bool_new(_("Use clientLogin"), "use_clientlogin", |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
5779 OSCAR_DEFAULT_USE_CLIENTLOGIN); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
5780 prpl_info->protocol_options = g_list_append(prpl_info->protocol_options, option); |
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
27242
diff
changeset
|
5781 |
15823 | 5782 option = purple_account_option_bool_new( |
21736
4d776104ec0e
Somehow this message got changed to only say ICQ instead of AIM/ICQ in
Mark Doliner <mark@kingant.net>
parents:
21730
diff
changeset
|
5783 _("Always use AIM/ICQ proxy server for\nfile transfers and direct IM (slower,\nbut does not reveal your IP address)"), "always_use_rv_proxy", |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5784 OSCAR_DEFAULT_ALWAYS_USE_RV_PROXY); |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5785 prpl_info->protocol_options = g_list_append(prpl_info->protocol_options, option); |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5786 |
28877
a990da4540d3
oscar: Remove the simultaneous logins option from ICQ accounts.
Paul Aurich <paul@darkrain42.org>
parents:
28872
diff
changeset
|
5787 if (g_str_equal(purple_plugin_get_id(plugin), "prpl-aim")) { |
a990da4540d3
oscar: Remove the simultaneous logins option from ICQ accounts.
Paul Aurich <paul@darkrain42.org>
parents:
28872
diff
changeset
|
5788 option = purple_account_option_bool_new(_("Allow multiple simultaneous logins"), "allow_multiple_logins", |
a990da4540d3
oscar: Remove the simultaneous logins option from ICQ accounts.
Paul Aurich <paul@darkrain42.org>
parents:
28872
diff
changeset
|
5789 OSCAR_DEFAULT_ALLOW_MULTIPLE_LOGINS); |
a990da4540d3
oscar: Remove the simultaneous logins option from ICQ accounts.
Paul Aurich <paul@darkrain42.org>
parents:
28872
diff
changeset
|
5790 prpl_info->protocol_options = g_list_append(prpl_info->protocol_options, option); |
a990da4540d3
oscar: Remove the simultaneous logins option from ICQ accounts.
Paul Aurich <paul@darkrain42.org>
parents:
28872
diff
changeset
|
5791 } |
25415
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
25396
diff
changeset
|
5792 |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5793 if (init) |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5794 return; |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5795 init = TRUE; |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5796 |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5797 /* Preferences */ |
15823 | 5798 purple_prefs_add_none("/plugins/prpl/oscar"); |
5799 purple_prefs_add_bool("/plugins/prpl/oscar/recent_buddies", FALSE); | |
27180
28b5fcfb7444
Check in a change requested by Gregory Cypes from AOL. They want clients
Mark Doliner <mark@kingant.net>
parents:
27076
diff
changeset
|
5800 |
22223
19ace070f0e5
Stop unconditionally setting oscar's server-side preference "allow
Mark Doliner <mark@kingant.net>
parents:
22140
diff
changeset
|
5801 purple_prefs_remove("/plugins/prpl/oscar/show_idle"); |
15823 | 5802 purple_prefs_remove("/plugins/prpl/oscar/always_use_rv_proxy"); |
15624
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5803 |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5804 /* protocol handler */ |
71af5b6209d5
uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents:
15623
diff
changeset
|
5805 /* TODO: figure out a good instance to use here */ |
15823 | 5806 purple_signal_connect(purple_get_core(), "uri-handler", &init, |
5807 PURPLE_CALLBACK(oscar_uri_handler), NULL); | |
5808 } | |
5809 |