Mercurial > pidgin.yaz
annotate libpurple/protocols/yahoo/libymsg.h @ 30607:e9001aa49be8
Very hackily implement a fallback mechanism in Yahoo, but not for Yahoo Japan
because we don't know hosts we can fall back to there yet. This fallback
mechanism just blindly connects to scsa.msg.yahoo.com if the HTTP-based CS
lookup fails. I guarantee this will break in the future. Refs #11986.
author | John Bailey <rekkanoryo@rekkanoryo.org> |
---|---|
date | Sun, 13 Jun 2010 23:07:24 +0000 |
parents | 9f482e11f066 |
children | 81ffeb069847 47ff9247b95a |
rev | line source |
---|---|
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
1 /** |
27395
ef5f0cde8d74
Update for file renames.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27394
diff
changeset
|
2 * @file libymsg.h The Yahoo! and Yahoo! JAPAN Protocol Plugins |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
3 * |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
4 * purple |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
5 * |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
6 * Purple is the legal property of its developers, whose names are too numerous |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
7 * to list here. Please refer to the COPYRIGHT file distributed with this |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
8 * source distribution. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
9 * |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
10 * This program is free software; you can redistribute it and/or modify |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
11 * it under the terms of the GNU General Public License as published by |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
12 * the Free Software Foundation; either version 2 of the License, or |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
13 * (at your option) any later version. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
14 * |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
15 * This program is distributed in the hope that it will be useful, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
18 * GNU General Public License for more details. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
19 * |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
20 * You should have received a copy of the GNU General Public License |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
21 * along with this program; if not, write to the Free Software |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
23 */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
24 |
27400
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
25 #ifndef _LIBYMSG_H_ |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
26 #define _LIBYMSG_H_ |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
27 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
28 #include "circbuffer.h" |
27400
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
29 #include "cmds.h" |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
30 #include "prpl.h" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
31 |
30072
60af53dd42d5
Ladies and gentlemen, I give you HTTP-based retrieval of the Yahoo CS server
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30001
diff
changeset
|
32 #define YAHOO_PAGER_HOST_REQ_URL "http://vcs1.msg.yahoo.com/capacity" |
30607
e9001aa49be8
Very hackily implement a fallback mechanism in Yahoo, but not for Yahoo Japan
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30098
diff
changeset
|
33 #define YAHOO_PAGER_HOST_FALLBACK "scsa.msg.yahoo.com" |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
34 #define YAHOO_PAGER_PORT 5050 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
35 #define YAHOO_PAGER_PORT_P2P 5101 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
36 #define YAHOO_LOGIN_URL "https://login.yahoo.com/config/pwtoken_login?src=ymsgr&ts=&token=%s" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
37 #define YAHOO_TOKEN_URL "https://login.yahoo.com/config/pwtoken_get?src=ymsgr&ts=&login=%s&passwd=%s&chal=%s" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
38 #define YAHOO_P2P_KEEPALIVE_SECS 300 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
39 #define YAHOO_P2P_SERVER_TIMEOUT 10 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
40 #define YAHOO_PROFILE_URL "http://profiles.yahoo.com/" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
41 #define YAHOO_MAIL_URL "http://rd.yahoo.com/messenger/client/?http://mail.yahoo.com/" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
42 #define YAHOO_XFER_HOST "filetransfer.msg.yahoo.com" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
43 #define YAHOO_XFER_PORT 80 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
44 #define YAHOO_XFER_RELAY_HOST "relay.msg.yahoo.com" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
45 #define YAHOO_XFER_RELAY_PORT 80 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
46 #define YAHOO_ROOMLIST_URL "http://insider.msg.yahoo.com/ycontent/" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
47 #define YAHOO_ROOMLIST_LOCALE "us" |
30074
957f57decf90
Don't need these defines anymore.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30072
diff
changeset
|
48 |
957f57decf90
Don't need these defines anymore.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30072
diff
changeset
|
49 /* Yahoo! JAPAN stuff */ |
30072
60af53dd42d5
Ladies and gentlemen, I give you HTTP-based retrieval of the Yahoo CS server
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30001
diff
changeset
|
50 #define YAHOOJP_PAGER_HOST_REQ_URL "http://cs1.msg.vip.ogk.yahoo.co.jp/capacity" |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
51 #define YAHOOJP_TOKEN_URL "https://login.yahoo.co.jp/config/pwtoken_get?src=ymsgr&ts=&login=%s&passwd=%s&chal=%s" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
52 #define YAHOOJP_LOGIN_URL "https://login.yahoo.co.jp/config/pwtoken_login?src=ymsgr&ts=&token=%s" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
53 #define YAHOOJP_PROFILE_URL "http://profiles.yahoo.co.jp/" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
54 #define YAHOOJP_MAIL_URL "http://mail.yahoo.co.jp/" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
55 #define YAHOOJP_XFER_HOST "filetransfer.msg.yahoo.co.jp" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
56 #define YAHOOJP_WEBCAM_HOST "wc.yahoo.co.jp" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
57 /* not sure, must test: */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
58 #define YAHOOJP_XFER_RELAY_HOST "relay.msg.yahoo.co.jp" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
59 #define YAHOOJP_XFER_RELAY_PORT 80 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
60 #define YAHOOJP_ROOMLIST_URL "http://insider.msg.yahoo.co.jp/ycontent/" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
61 #define YAHOOJP_ROOMLIST_LOCALE "ja" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
62 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
63 #define YAHOO_AUDIBLE_URL "http://us.dl1.yimg.com/download.yahoo.com/dl/aud" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
64 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
65 #define WEBMESSENGER_URL "http://login.yahoo.com/config/login?.src=pg" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
66 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
67 #define YAHOO_SMS_CARRIER_URL "http://lookup.msg.vip.mud.yahoo.com" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
68 |
27531
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
69 #define YAHOO_USERINFO_URL "http://address.yahoo.com/yab/us?v=XM&sync=1&tags=short&useutf8=1&noclear=1&legenc=codepage-1252" |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
70 #define YAHOOJP_USERINFO_URL "http://address.yahoo.co.jp/yab/jp?v=XM&sync=1&tags=short&useutf8=1&noclear=1&legenc=codepage-1252" |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
71 |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
72 #define YAHOO_PICURL_SETTING "picture_url" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
73 #define YAHOO_PICCKSUM_SETTING "picture_checksum" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
74 #define YAHOO_PICEXPIRE_SETTING "picture_expire" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
75 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
76 #define YAHOO_STATUS_TYPE_OFFLINE "offline" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
77 #define YAHOO_STATUS_TYPE_AVAILABLE "available" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
78 #define YAHOO_STATUS_TYPE_BRB "brb" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
79 #define YAHOO_STATUS_TYPE_BUSY "busy" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
80 #define YAHOO_STATUS_TYPE_NOTATHOME "notathome" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
81 #define YAHOO_STATUS_TYPE_NOTATDESK "notatdesk" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
82 #define YAHOO_STATUS_TYPE_NOTINOFFICE "notinoffice" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
83 #define YAHOO_STATUS_TYPE_ONPHONE "onphone" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
84 #define YAHOO_STATUS_TYPE_ONVACATION "onvacation" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
85 #define YAHOO_STATUS_TYPE_OUTTOLUNCH "outtolunch" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
86 #define YAHOO_STATUS_TYPE_STEPPEDOUT "steppedout" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
87 #define YAHOO_STATUS_TYPE_AWAY "away" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
88 #define YAHOO_STATUS_TYPE_INVISIBLE "invisible" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
89 #define YAHOO_STATUS_TYPE_MOBILE "mobile" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
90 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
91 #define YAHOO_CLIENT_VERSION_ID "4194239" |
27678
faf80efd10a9
We were actually identifying as a version of Yahoo Messenger that doesn't
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27531
diff
changeset
|
92 #define YAHOO_CLIENT_VERSION "9.0.0.2162" |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
93 |
30001
bfaf039aed87
Change our Yahoo! JAPAN version and version ID's to match the official Yahoo!
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
29989
diff
changeset
|
94 #define YAHOOJP_CLIENT_VERSION_ID "4186047" |
bfaf039aed87
Change our Yahoo! JAPAN version and version ID's to match the official Yahoo!
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
29989
diff
changeset
|
95 #define YAHOOJP_CLIENT_VERSION "9.0.0.1727" |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
96 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
97 #define YAHOO_CLIENT_USERAGENT "Mozilla/5.0" |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
98 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
99 /* Index into attention types list. */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
100 #define YAHOO_BUZZ 0 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
101 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
102 typedef enum { |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
103 YAHOO_PKT_TYPE_SERVER = 0, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
104 YAHOO_PKT_TYPE_P2P |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
105 } yahoo_pkt_type; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
106 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
107 typedef enum { |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
108 YAHOO_P2P_WE_ARE_CLIENT =0, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
109 YAHOO_P2P_WE_ARE_SERVER |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
110 } yahoo_p2p_connection_type; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
111 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
112 enum yahoo_status { |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
113 YAHOO_STATUS_AVAILABLE = 0, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
114 YAHOO_STATUS_BRB, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
115 YAHOO_STATUS_BUSY, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
116 YAHOO_STATUS_NOTATHOME, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
117 YAHOO_STATUS_NOTATDESK, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
118 YAHOO_STATUS_NOTINOFFICE, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
119 YAHOO_STATUS_ONPHONE, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
120 YAHOO_STATUS_ONVACATION, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
121 YAHOO_STATUS_OUTTOLUNCH, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
122 YAHOO_STATUS_STEPPEDOUT, |
29989
c4fe6afad87a
yahoo: fix decoding of P2P session_id
vamposdecampos@gmail.com
parents:
29394
diff
changeset
|
123 YAHOO_STATUS_P2P = 11, |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
124 YAHOO_STATUS_INVISIBLE = 12, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
125 YAHOO_STATUS_CUSTOM = 99, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
126 YAHOO_STATUS_IDLE = 999, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
127 YAHOO_STATUS_WEBLOGIN = 0x5a55aa55, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
128 YAHOO_STATUS_OFFLINE = 0x5a55aa56, /* don't ask */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
129 YAHOO_STATUS_TYPING = 0x16, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
130 YAHOO_STATUS_DISCONNECTED = 0xffffffff /* in ymsg 15. doesnt mean the normal sense of 'disconnected' */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
131 }; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
132 |
28733
61856d0a2714
Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents:
28362
diff
changeset
|
133 /* |
61856d0a2714
Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents:
28362
diff
changeset
|
134 * Yahoo federated networks. Key 241 in ymsg. |
61856d0a2714
Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents:
28362
diff
changeset
|
135 * If it doesn't exist, it is on Yahoo's netowrk. |
61856d0a2714
Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents:
28362
diff
changeset
|
136 * It if does exist, send to another IM network. |
61856d0a2714
Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents:
28362
diff
changeset
|
137 */ |
61856d0a2714
Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents:
28362
diff
changeset
|
138 |
61856d0a2714
Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents:
28362
diff
changeset
|
139 typedef enum { |
28734
5f13e8a5c1a0
Explicitly define the enum values like Paul wanted. Refs #9814.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28733
diff
changeset
|
140 YAHOO_FEDERATION_NONE = 0, /* No federation - Yahoo! network */ |
5f13e8a5c1a0
Explicitly define the enum values like Paul wanted. Refs #9814.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28733
diff
changeset
|
141 YAHOO_FEDERATION_OCS = 1, /* LCS or OCS private networks */ |
5f13e8a5c1a0
Explicitly define the enum values like Paul wanted. Refs #9814.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28733
diff
changeset
|
142 YAHOO_FEDERATION_MSN = 2, /* MSN or Windows Live network */ |
29394
d1cecbc467c6
Support Yahoo !PingBox. Includes a couple warning fixes. Fixes #7347.
kartikmohta@gmail.com
parents:
28836
diff
changeset
|
143 YAHOO_FEDERATION_IBM = 9, /* IBM/Sametime network */ |
d1cecbc467c6
Support Yahoo !PingBox. Includes a couple warning fixes. Fixes #7347.
kartikmohta@gmail.com
parents:
28836
diff
changeset
|
144 YAHOO_FEDERATION_PBX = 100 /* Yahoo! Pingbox service */ |
28733
61856d0a2714
Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents:
28362
diff
changeset
|
145 } YahooFederation; |
61856d0a2714
Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents:
28362
diff
changeset
|
146 |
61856d0a2714
Handle adding Lotus Sametime and Microsoft OCS buddies to Yahoo! accounts.
kryojenik23-pidgin@steltek.com
parents:
28362
diff
changeset
|
147 |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
148 struct yahoo_buddy_icon_upload_data { |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
149 PurpleConnection *gc; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
150 GString *str; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
151 char *filename; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
152 int pos; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
153 int fd; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
154 guint watcher; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
155 }; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
156 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
157 struct yahoo_p2p_data { |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
158 PurpleConnection *gc; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
159 char *host_ip; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
160 char *host_username; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
161 int val_13; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
162 guint input_event; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
163 gint source; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
164 int session_id; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
165 yahoo_p2p_connection_type connection_type; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
166 }; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
167 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
168 struct _YchtConn; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
169 |
27531
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
170 typedef struct _YahooPersonalDetails { |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
171 char *id; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
172 |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
173 struct { |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
174 char *first; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
175 char *last; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
176 char *middle; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
177 char *nick; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
178 } names; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
179 |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
180 struct { |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
181 char *work; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
182 char *home; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
183 char *mobile; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
184 } phone; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
185 } YahooPersonalDetails; |
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
186 |
28025
908be3822215
Move from "struct yahoo_data" to "YahooData" to be consistent with other structs
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27678
diff
changeset
|
187 typedef struct { |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
188 PurpleConnection *gc; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
189 int fd; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
190 guchar *rxqueue; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
191 int rxlen; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
192 PurpleCircBuffer *txbuf; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
193 guint txhandler; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
194 GHashTable *friends; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
195 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
196 char **profiles; /* Multiple profiles can be associated with an account */ |
27531
07d09a987b86
Allow setting some personal information for an account.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27400
diff
changeset
|
197 YahooPersonalDetails ypd; |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
198 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
199 /** |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
200 * This is used to keep track of the IMVironment chosen |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
201 * by people you talk to. We don't do very much with |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
202 * this right now... but at least now if the remote user |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
203 * selects an IMVironment we won't reset it back to the |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
204 * default of nothing. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
205 */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
206 GHashTable *imvironments; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
207 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
208 int current_status; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
209 gboolean logged_in; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
210 GString *tmp_serv_blist, *tmp_serv_ilist, *tmp_serv_plist; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
211 GSList *confs; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
212 unsigned int conf_id; /* just a counter */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
213 gboolean chat_online; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
214 gboolean in_chat; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
215 char *chat_name; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
216 char *pending_chat_room; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
217 char *pending_chat_id; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
218 char *pending_chat_topic; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
219 char *pending_chat_goto; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
220 char *auth; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
221 gsize auth_written; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
222 char *cookie_y; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
223 char *cookie_t; |
30098
9f482e11f066
Rework the Yahoo auth16 sutff a bit such that we now retrieve and use the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
30074
diff
changeset
|
224 char *cookie_b; |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
225 int session_id; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
226 gboolean jp; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
227 gboolean wm; /* connected w/ web messenger method */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
228 /* picture aka buddy icon stuff */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
229 char *picture_url; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
230 int picture_checksum; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
231 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
232 /* ew. we have to check the icon before we connect, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
233 * but can't upload it til we're connected. */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
234 struct yahoo_buddy_icon_upload_data *picture_upload_todo; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
235 PurpleProxyConnectData *buddy_icon_connect_data; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
236 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
237 struct _YchtConn *ycht; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
238 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
239 /** |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
240 * This linked list contains PurpleUtilFetchUrlData structs |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
241 * for when we lookup people profile or photo information. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
242 */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
243 GSList *url_datas; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
244 GHashTable *xfer_peer_idstring_map;/* Hey, i dont know, but putting this HashTable next to friends gives a run time fault... */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
245 GSList *cookies;/* contains all cookies, including _y and _t */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
246 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
247 /** |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
248 * We may receive a list15 in multiple packets with no prior warning as to how many we'll be getting; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
249 * the server expects us to keep track of the group for which it is sending us contact names. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
250 */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
251 char *current_list15_grp; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
252 time_t last_ping; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
253 time_t last_keepalive; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
254 GHashTable *peers; /* information about p2p data */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
255 int yahoo_p2p_timer; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
256 int yahoo_local_p2p_server_fd; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
257 int yahoo_p2p_server_watcher; |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
258 GHashTable *sms_carrier; /* sms carrier data */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
259 guint yahoo_p2p_server_timeout_handle; |
28025
908be3822215
Move from "struct yahoo_data" to "YahooData" to be consistent with other structs
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27678
diff
changeset
|
260 } YahooData; |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
261 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
262 #define YAHOO_MAX_STATUS_MESSAGE_LENGTH (255) |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
263 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
264 /* |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
265 * Current Maximum Length for Instant Messages |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
266 * |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
267 * This was found by experiment. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
268 * |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
269 * The YMSG protocol allows a message of up to 948 bytes, but the official client |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
270 * limits to 800 characters. According to experiments I conducted, it seems that |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
271 * the discrepancy is to allow some leeway for messages with mixed single- and |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
272 * multi-byte characters, as I was able to send messages of 840 and 932 bytes |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
273 * by using some multibyte characters (some random Chinese or Japanese characters, |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
274 * to be precise). - rekkanoryo |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
275 */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
276 #define YAHOO_MAX_MESSAGE_LENGTH_BYTES 948 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
277 #define YAHOO_MAX_MESSAGE_LENGTH_CHARS 800 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
278 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
279 /* sometimes i wish prpls could #include things from other prpls. then i could just |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
280 * use the routines from libfaim and not have to admit to knowing how they work. */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
281 #define yahoo_put16(buf, data) ( \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
282 (*(buf) = (unsigned char)((data)>>8)&0xff), \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
283 (*((buf)+1) = (unsigned char)(data)&0xff), \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
284 2) |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
285 #define yahoo_get16(buf) ((((*(buf))<<8)&0xff00) + ((*((buf)+1)) & 0xff)) |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
286 #define yahoo_put32(buf, data) ( \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
287 (*((buf)) = (unsigned char)((data)>>24)&0xff), \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
288 (*((buf)+1) = (unsigned char)((data)>>16)&0xff), \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
289 (*((buf)+2) = (unsigned char)((data)>>8)&0xff), \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
290 (*((buf)+3) = (unsigned char)(data)&0xff), \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
291 4) |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
292 #define yahoo_get32(buf) ((((*(buf))<<24)&0xff000000) + \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
293 (((*((buf)+1))<<16)&0x00ff0000) + \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
294 (((*((buf)+2))<< 8)&0x0000ff00) + \ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
295 (((*((buf)+3) )&0x000000ff))) |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
296 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
297 /* util.c */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
298 void yahoo_init_colorht(void); |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
299 void yahoo_dest_colorht(void); |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
300 char *yahoo_codes_to_html(const char *x); |
28362
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
301 |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
302 /** |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
303 * This function takes a normal HTML message and converts it to the message |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
304 * format used by Yahoo, which uses a frankensteinish combination of ANSI |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
305 * escape codes and broken HTML. |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
306 * |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
307 * It results in slightly different output than would be sent by official |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
308 * Yahoo clients. The two main differences are: |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
309 * |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
310 * 1. We always close all tags, whereas official Yahoo clients leave tags |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
311 * dangling open at the end of each message (and the client treats them |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
312 * as closed). |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
313 * 2. We always close inner tags first before closing outter tags. |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
314 * |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
315 * For example, if you want to send this message: |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
316 * <b> bold <i> bolditalic </i></b><i> italic </i> |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
317 * Official Yahoo clients would send: |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
318 * ESC[1m bold ESC[2m bolditalic ESC[x1m italic |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
319 * But we will send: |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
320 * ESC[1m bold ESC[2m bolditalic ESC[x2mESC[x1mESC[2m italic ESC[x2m |
c06114f3d58d
* Change yahoo_html_to_codes() a little to hopefully be more straight forward
Mark Doliner <mark@kingant.net>
parents:
28025
diff
changeset
|
321 */ |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
322 char *yahoo_html_to_codes(const char *src); |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
323 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
324 gboolean |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
325 yahoo_account_use_http_proxy(PurpleConnection *conn); |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
326 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
327 /** |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
328 * Encode some text to send to the yahoo server. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
329 * |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
330 * @param gc The connection handle. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
331 * @param str The null terminated utf8 string to encode. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
332 * @param utf8 If not @c NULL, whether utf8 is okay or not. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
333 * Even if it is okay, we may not use it. If we |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
334 * used it, we set this to @c TRUE, else to |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
335 * @c FALSE. If @c NULL, false is assumed, and |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
336 * it is not dereferenced. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
337 * @return The g_malloced string in the appropriate encoding. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
338 */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
339 char *yahoo_string_encode(PurpleConnection *gc, const char *str, gboolean *utf8); |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
340 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
341 /** |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
342 * Decode some text received from the server. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
343 * |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
344 * @param gc The gc handle. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
345 * @param str The null terminated string to decode. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
346 * @param utf8 Did the server tell us it was supposed to be utf8? |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
347 * @return The decoded, utf-8 string, which must be g_free()'d. |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
348 */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
349 char *yahoo_string_decode(PurpleConnection *gc, const char *str, gboolean utf8); |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
350 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
351 char *yahoo_convert_to_numeric(const char *str); |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
352 |
28836
7b88cc6c3f7a
Cannot send a file to a federated user on yahoo.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
28734
diff
changeset
|
353 YahooFederation yahoo_get_federation_from_name(const char *who); |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
354 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
355 /* yahoo_profile.c */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
356 void yahoo_get_info(PurpleConnection *gc, const char *name); |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
357 |
27400
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
358 /* libymsg.h - these functions were formerly static but need not to be for the |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
359 * new two-prpl model. */ |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
360 const char *yahoo_list_icon(PurpleAccount *a, PurpleBuddy *b); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
361 const char *yahoo_list_emblem(PurpleBuddy *b); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
362 char *yahoo_status_text(PurpleBuddy *b); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
363 void yahoo_tooltip_text(PurpleBuddy *b, PurpleNotifyUserInfo *user_info, gboolean full); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
364 GList *yahoo_status_types(PurpleAccount *account); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
365 GList *yahoo_blist_node_menu(PurpleBlistNode *node); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
366 void yahoo_login(PurpleAccount *account); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
367 void yahoo_close(PurpleConnection *gc); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
368 int yahoo_send_im(PurpleConnection *gc, const char *who, const char *what, PurpleMessageFlags flags); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
369 unsigned int yahoo_send_typing(PurpleConnection *gc, const char *who, PurpleTypingState state); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
370 void yahoo_set_status(PurpleAccount *account, PurpleStatus *status); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
371 void yahoo_set_idle(PurpleConnection *gc, int idle); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
372 void yahoo_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *g); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
373 void yahoo_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
374 void yahoo_add_deny(PurpleConnection *gc, const char *who); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
375 void yahoo_rem_deny(PurpleConnection *gc, const char *who); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
376 void yahoo_set_permit_deny(PurpleConnection *gc); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
377 void yahoo_keepalive(PurpleConnection *gc); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
378 void yahoo_change_buddys_group(PurpleConnection *gc, const char *who, const char *old_group, const char *new_group); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
379 void yahoo_rename_group(PurpleConnection *gc, const char *old_name, PurpleGroup *group, GList *moved_buddies); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
380 gboolean yahoo_offline_message(const PurpleBuddy *buddy); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
381 gboolean yahoo_send_attention(PurpleConnection *gc, const char *username, guint type); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
382 GList *yahoo_attention_types(PurpleAccount *account); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
383 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
384 GList *yahoo_actions(PurplePlugin *plugin, gpointer context); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
385 void yahoopurple_register_commands(void); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
386 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
387 PurpleCmdRet yahoopurple_cmd_buzz(PurpleConversation *c, const gchar *cmd, gchar **args, gchar **error, void *data); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
388 PurpleCmdRet yahoopurple_cmd_chat_join(PurpleConversation *conv, const char *cmd, char **args, char **error, void *data); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
389 PurpleCmdRet yahoopurple_cmd_chat_list(PurpleConversation *conv, const char *cmd, char **args, char **error, void *data); |
27394
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
390 /* needed for xfer, thought theyd be useful for other enhancements later on |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
391 Returns list of cookies stored in yahoo_data formatted as a single null terminated string |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
392 returned value must be g_freed |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
393 */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
394 gchar* yahoo_get_cookies(PurpleConnection *gc); |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
395 |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
396 /* send p2p pkt containing our encoded ip, asking peer to connect to us */ |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
397 void yahoo_send_p2p_pkt(PurpleConnection *gc, const char *who, int val_13); |
16ef6a9e7acd
Start of splitting yahoo into two separate prpls. Not sure if this even comes
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
398 |
27400
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27395
diff
changeset
|
399 #endif /* _LIBYMSG_H_ */ |