Mercurial > pidgin.yaz
annotate libpurple/protocols/oscar/oscarcommon.h @ 30815:47dfe1d54e9e
Fixed (I hope) #12284.
incomingim_ch2_icqserverrelay() was doing something it wasn't supposed to.
I suppose the packet format was reverse-engineered wrongly eons ago.
The correct packet format can be found at http://iserverd.khstu.ru/oscar/message.html
(and also in every open-source OSCAR client I could get my hands on).
The funny thing is that before #12284 showed up everything worked
right due to another bug. I'm too lazy to type out all the details,
so I'll just include a reference to my conversation with Mark Doliner:
http://www.pidgin.im/nopaste/102
author | ivan.komarov@soc.pidgin.im |
---|---|
date | Sat, 24 Jul 2010 18:14:29 +0000 |
parents | 50d472b3d752 |
children | 4297feb30ad1 |
rev | line source |
---|---|
15823 | 1 /* purple |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2 * |
15823 | 3 * Purple is the legal property of its developers, whose names are too numerous |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
4 * to list here. Please refer to the COPYRIGHT file distributed with this |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5 * source distribution. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
6 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
7 * 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
|
8 * 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
|
9 * 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
|
10 * (at your option) any later version. |
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 * 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
|
13 * 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
|
14 * 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
|
15 * GNU General Public License for more details. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
16 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
17 * 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
|
18 * 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:
19577
diff
changeset
|
19 * 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
|
20 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
21 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
22 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
23 /* oscarcommon.h contains prototypes for the prpl functions used by libaim.c |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
24 * and libicq.c |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
25 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
26 |
29152
259bbfb423d4
Fix all the remaining files for which internal.h doesn't end up being the first include.
Paul Aurich <paul@darkrain42.org>
parents:
28877
diff
changeset
|
27 #include "internal.h" |
259bbfb423d4
Fix all the remaining files for which internal.h doesn't end up being the first include.
Paul Aurich <paul@darkrain42.org>
parents:
28877
diff
changeset
|
28 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
29 #include "accountopt.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
30 #include "prpl.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
31 #include "version.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
32 #include "notify.h" |
29834
1fb503adb2ae
Move the mood UI for ICQ into Pidgin. It still uses the new request API
Richard Laager <rlaager@wiktel.com>
parents:
23313
diff
changeset
|
33 #include "status.h" |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
34 |
19577
6e08084a27aa
Switch from login.oscar.aol.com to login.messaging.aol.com for new
Mark Doliner <mark@kingant.net>
parents:
18755
diff
changeset
|
35 #define OSCAR_DEFAULT_LOGIN_SERVER "login.messaging.aol.com" |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
36 #define OSCAR_DEFAULT_LOGIN_PORT 5190 |
24651
ea70a446dde4
First pass at adding SSL connections to OSCAR.
Paul Aurich <paul@darkrain42.org>
parents:
23313
diff
changeset
|
37 #define OSCAR_DEFAULT_SSL_LOGIN_SERVER "slogin.oscar.aol.com" |
25015
7f0321038c53
Implement a sane mechanism for switching an OSCAR account to SSL.
Paul Aurich <paul@darkrain42.org>
parents:
24651
diff
changeset
|
38 #define OSCAR_OLD_LOGIN_SERVER "login.oscar.aol.com" |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
39 #ifndef _WIN32 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
40 #define OSCAR_DEFAULT_CUSTOM_ENCODING "ISO-8859-1" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
41 #else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
42 #define OSCAR_DEFAULT_CUSTOM_ENCODING oscar_get_locale_charset() |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
43 #endif |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
44 #define OSCAR_DEFAULT_AUTHORIZATION TRUE |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
45 #define OSCAR_DEFAULT_HIDE_IP TRUE |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
46 #define OSCAR_DEFAULT_WEB_AWARE FALSE |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
47 #define OSCAR_DEFAULT_ALWAYS_USE_RV_PROXY FALSE |
23313
f1a0258b44f4
Added paramater to aim_send_login() to allow control over whether we want
Evan Schoenberg <evan.s@dreskin.net>
parents:
19680
diff
changeset
|
48 #define OSCAR_DEFAULT_ALLOW_MULTIPLE_LOGINS TRUE |
28638
27691d6bafc6
Per discussions in devel@conference.pidgin.im that saw no objections, make SSL
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27243
diff
changeset
|
49 #define OSCAR_DEFAULT_USE_SSL TRUE |
27691d6bafc6
Per discussions in devel@conference.pidgin.im that saw no objections, make SSL
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27243
diff
changeset
|
50 #define OSCAR_DEFAULT_USE_CLIENTLOGIN TRUE |
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 #ifdef _WIN32 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
53 const char *oscar_get_locale_charset(void); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
54 #endif |
29834
1fb503adb2ae
Move the mood UI for ICQ into Pidgin. It still uses the new request API
Richard Laager <rlaager@wiktel.com>
parents:
23313
diff
changeset
|
55 PurpleMood* oscar_get_purple_moods(PurpleAccount *account); |
15823 | 56 const char *oscar_list_icon_icq(PurpleAccount *a, PurpleBuddy *b); |
57 const char *oscar_list_icon_aim(PurpleAccount *a, PurpleBuddy *b); | |
58 const char* oscar_list_emblem(PurpleBuddy *b); | |
59 char *oscar_status_text(PurpleBuddy *b); | |
60 void oscar_tooltip_text(PurpleBuddy *b, PurpleNotifyUserInfo *user_info, gboolean full); | |
61 GList *oscar_status_types(PurpleAccount *account); | |
62 GList *oscar_blist_node_menu(PurpleBlistNode *node); | |
63 GList *oscar_chat_info(PurpleConnection *gc); | |
64 GHashTable *oscar_chat_info_defaults(PurpleConnection *gc, const char *chat_name); | |
65 void oscar_login(PurpleAccount *account); | |
66 void oscar_close(PurpleConnection *gc); | |
67 int oscar_send_im(PurpleConnection *gc, const char *name, const char *message, PurpleMessageFlags imflags); | |
68 void oscar_set_info(PurpleConnection *gc, const char *rawinfo); | |
69 unsigned int oscar_send_typing(PurpleConnection *gc, const char *name, PurpleTypingState state); | |
70 void oscar_get_info(PurpleConnection *gc, const char *name); | |
71 void oscar_set_status(PurpleAccount *account, PurpleStatus *status); | |
72 void oscar_set_idle(PurpleConnection *gc, int time); | |
73 void oscar_change_passwd(PurpleConnection *gc, const char *old, const char *new); | |
74 void oscar_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group); | |
75 void oscar_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group); | |
76 void oscar_add_permit(PurpleConnection *gc, const char *who); | |
77 void oscar_add_deny(PurpleConnection *gc, const char *who); | |
78 void oscar_rem_permit(PurpleConnection *gc, const char *who); | |
79 void oscar_rem_deny(PurpleConnection *gc, const char *who); | |
80 void 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
|
81 char *oscar_get_chat_name(GHashTable *data); |
15823 | 82 void oscar_chat_invite(PurpleConnection *gc, int id, const char *message, const char *name); |
83 void oscar_chat_leave(PurpleConnection *gc, int id); | |
84 int oscar_send_chat(PurpleConnection *gc, int id, const char *message, PurpleMessageFlags flags); | |
85 void oscar_keepalive(PurpleConnection *gc); | |
86 void oscar_alias_buddy(PurpleConnection *gc, const char *name, const char *alias); | |
87 void oscar_move_buddy(PurpleConnection *gc, const char *name, const char *old_group, const char *new_group); | |
88 void oscar_rename_group(PurpleConnection *gc, const char *old_name, PurpleGroup *group, GList *moved_buddies); | |
89 void oscar_convo_closed(PurpleConnection *gc, const char *who); | |
90 const char *oscar_normalize(const PurpleAccount *account, const char *str); | |
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:
15823
diff
changeset
|
91 void oscar_set_icon(PurpleConnection *gc, PurpleStoredImage *img); |
18755
84d53c3c699d
Some changes from Matthew Goldstein and I to not automatically remove
Mark Doliner <mark@kingant.net>
parents:
16390
diff
changeset
|
92 void oscar_remove_group(PurpleConnection *gc, PurpleGroup *group); |
15823 | 93 gboolean oscar_can_receive_file(PurpleConnection *gc, const char *who); |
94 void oscar_send_file(PurpleConnection *gc, const char *who, const char *file); | |
95 PurpleXfer *oscar_new_xfer(PurpleConnection *gc, const char *who); | |
96 gboolean oscar_offline_message(const PurpleBuddy *buddy); | |
27243
7054f810b0f9
Check in code that connects to oscar using clientLogin. This is the
Mark Doliner <mark@kingant.net>
parents:
25015
diff
changeset
|
97 void oscar_format_username(PurpleConnection *gc, const char *nick); |
15823 | 98 GList *oscar_actions(PurplePlugin *plugin, gpointer context); |
28877
a990da4540d3
oscar: Remove the simultaneous logins option from ICQ accounts.
Paul Aurich <paul@darkrain42.org>
parents:
28638
diff
changeset
|
99 void oscar_init(PurplePlugin *plugin); |