src/protocols/yahoo/yahoo_auth.h

Fri, 18 Jun 2004 07:28:25 +0000

author
Tim Ringenbach <marv@pidgin.im>
date
Fri, 18 Jun 2004 07:28:25 +0000
changeset 9306
3df21f4d438b
parent 8350
e691d75462c5
child 11644
939411169d01
permissions
-rwxr-xr-x

[gaim-migrate @ 10114]
Ok, this is yahoo buddy icon uploading support.
It's still not quite right, but it mostly works.
We don't send out updates yet so changing it or unsetting it may not work.
But setting it initally, or changing it and relogging will probably work.
I never did figure out what hash function yahoo is using, so I just used
g_string_hash. It probably won't matter.

I hope to finish this up before release. But people probably won't notice
the bugs too much anyway. It shouldn't crash or anything, people just might
not always see your newest icon right away.

Have fun kids.

For the record, Simguy tells me Yahoo likes 96x96 PNGs.

8350
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
1 /*
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
2 * yahoo_auth.h: Header for Yahoo Messenger authentication schemes. Eew.
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
3 *
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
4 * Copyright(c) 2003 Cerulean Studios
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
5 */
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
6
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
7
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
8 #ifndef _YAHOO_AUTH_H_
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
9 #define _YAHOO_AUTH_H_
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
10
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
11 #define NUM_TYPE_THREES 105
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
12 #define NUM_TYPE_FOURS 56
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
13 #define NUM_TYPE_FIVES 37
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
14
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
15 unsigned int yahoo_auth_finalCountdown(unsigned int challenge, int divisor, int inner_loop, int outer_loop);
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
16
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
17 /* We've defined the Yahoo authentication functions as having types 1-5; all take either 1 or 2 arguments.
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
18 */
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
19
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
20 typedef struct _auth {
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
21 int type;
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
22 int var1;
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
23 int var2;
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
24 } auth_function_t;
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
25
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
26 /* Type 3, 4 and 5 require lookups into ypager.exe's many static chunks of 256 bytes. Store them here.
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
27 */
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
28
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
29 struct buffer_t {
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
30 unsigned int buffer_start;
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
31 unsigned char buffer[257];
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
32 };
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
33
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
34
e691d75462c5 [gaim-migrate @ 9074]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
35 #endif /* _YAHOO_AUTH_H_ */

mercurial