Mercurial > pidgin.yaz
changeset 4952:b7dfce780963
[gaim-migrate @ 5286]
AOL has started requesting hashes again. This means they'll *probably* start
blocking again soon. The hash server we put up last time isn't working right
because we claim to be a different version of AIM now, so I hard-coded the values
in oscar.c and we'll have to keep updating that until we get it fixed. Stable Gaim
and TOC are unaffected. You should really update this so that OSCAR will work.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Tue, 01 Apr 2003 20:47:50 +0000 |
parents | 207f1e546849 |
children | ec3830b344f2 |
files | src/gaim.h src/protocols/oscar/oscar.c |
diffstat | 2 files changed, 45 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/gaim.h Tue Apr 01 19:38:22 2003 +0000 +++ b/src/gaim.h Tue Apr 01 20:47:50 2003 +0000 @@ -32,6 +32,7 @@ #include "util.h" #define XPATCH BAD /* Because Kalla Said So */ +#define hash_func(key, data) serv_got_im(gc, key, data, 0, time(NULL), -1) /* XXX CUI: when this is done being split, the only things below should be things * both the core and the uis depend on e.g. the protocol definitions, etc, and
--- a/src/protocols/oscar/oscar.c Tue Apr 01 19:38:22 2003 +0000 +++ b/src/protocols/oscar/oscar.c Tue Apr 01 20:47:50 2003 +0000 @@ -68,6 +68,42 @@ #define AIMHASHDATA "http://gaim.sourceforge.net/aim_data.php3" +const char oscarhashkey[] = {0x41, 0x4F, 0x4C, 0x20, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x74, 0x20, 0x4d, 0x65, 0x73, 0x73, 0x65, 0x6e, + 0x67, 0x65, 0x72, 0x00}; +const char oscarhashdata[] = {0x59, 0x6f, 0x75, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, + 0x62, 0x65, 0x65, 0x6e, 0x20, 0x64, 0x69, 0x73, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x41, 0x4F, 0x4C, 0x20, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x74, 0x20, 0x4d, 0x65, 0x73, 0x73, 0x65, 0x6e, + 0x67, 0x65, 0x72, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x20, 0x28, 0x53, 0x4d, 0x29, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, + 0x4F, 0x4C, 0x20, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x75, 0x6e, + 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, + 0x64, 0x20, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x2e, 0x20, 0x20, 0x59, 0x6f, 0x75, 0x20, 0x63, + 0x61, 0x6e, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x20, 0x61, 0x20, 0x46, 0x52, 0x45, 0x45, + 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x2d, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x2c, 0x20, + 0x61, 0x6e, 0x64, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x68, 0x65, 0x72, 0x65, 0x20, 0x3c, + 0x61, 0x20, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x61, 0x69, + 0x6d, 0x2e, 0x73, 0x66, 0x2e, 0x6e, 0x65, 0x74, 0x2f, + 0x66, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x68, 0x70, 0x22, + 0x3e, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x61, 0x6f, 0x6c, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x61, 0x69, 0x6d, 0x2f, 0x64, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x32, 0x2e, 0x68, 0x74, + 0x6d, 0x6c, 0x3c, 0x2f, 0x61, 0x3e, 0x20, 0x2e, 0x00}; +static gboolean damn_you_again(struct gaim_connection *gc); + static struct prpl *my_protocol = NULL; /* For win32 compatability */ @@ -558,6 +594,7 @@ aim_conn_completeconnect(sess, conn); gc->inpa = gaim_input_add(conn->fd, GAIM_INPUT_READ, oscar_callback, conn); debug_printf("Password sent, waiting for response\n"); + g_timeout_add(20000, (GSourceFunc)damn_you_again, gc); } static void oscar_login(struct gaim_account *account) { @@ -1215,6 +1252,13 @@ g_free(pos); } +static gboolean damn_you_again(struct gaim_connection *gc) +{ + /* The current hash is #defined above. We'll want to fix the hash server */ + hash_func(oscarhashkey, oscarhashdata); + return FALSE; +} + static void straight_to_hell(gpointer data, gint source, GaimInputCondition cond) { struct pieceofcrap *pos = data; char buf[BUF_LONG];