diff src/protocols/oscar/oscar.c @ 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 8896e0894112
children 6ae40a9c5514
line wrap: on
line diff
--- 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];