changeset 4070:6efe00ee7de8

[gaim-migrate @ 4282] Just shuffling around some version stuff. I'm planning on changing things to be aim 5.1ish, but I want to do it in a separate patch, so it will be easy to unpatch if there are problems. Also, I figured out what those PleaseUpgrade000 buddies are. Like, if you add "someone@mac.com" to your buddy list, then sign on with an aim client that advertises an old version of the ssi protocol (eg. gaim), then the server replaces "someone@mac.com" with "PleaseUpgrade000" on the fly. It might replace other screen names, as well, I'm not exactly sure. Uh, so that problem should hopefully go away when I change the ssi family to 4, along with change other versions to be 5.1ish. Ribbit. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Fri, 13 Dec 2002 06:51:17 +0000
parents 5b56c42c2717
children 2532f1192da3
files src/protocols/oscar/aim.h src/protocols/oscar/auth.c
diffstat 2 files changed, 86 insertions(+), 88 deletions(-) [+]
line wrap: on
line diff
--- a/src/protocols/oscar/aim.h	Fri Dec 13 03:36:33 2002 +0000
+++ b/src/protocols/oscar/aim.h	Fri Dec 13 06:51:17 2002 +0000
@@ -129,78 +129,115 @@
 struct client_info_s {
 	const char *clientstring;
 	fu16_t clientid;
-	int major;
-	int minor;
-	int point;
-	int build;
+	fu16_t major;
+	fu16_t minor;
+	fu16_t point;
+	fu16_t build;
+	fu32_t distrib;
 	const char *country; /* two-letter abbrev */
 	const char *lang; /* two-letter abbrev */
 };
 
+/* Needs to be checked */
 #define CLIENTINFO_AIM_3_5_1670 { \
 	"AOL Instant Messenger (SM), version 3.5.1670/WIN32", \
 	0x0004, \
-	0x0003, \
-	0x0005, \
-	0x0000, \
-	0x0686, \
-	"us", \
-	"en", \
+	0x0003, 0x0005, \
+	0x0000, 0x0686, \
+	0x0000002a, \
+	"us", "en", \
+}
+
+/* Needs to be checked */
+/* Latest winaim without ssi */
+#define CLIENTINFO_AIM_4_1_2010 { \
+	"AOL Instant Messenger (SM), version 4.1.2010/WIN32", \
+	0x0004, \
+	0x0004, 0x0001, \
+	0x0000, 0x07da, \
+	0x0000004b, \
+	"us", "en", \
+}
+
+/* Needs to be checked */
+#define CLIENTINFO_AIM_4_3_2188 { \
+	"AOL Instant Messenger (SM), version 4.3.2188/WIN32", \
+	0x0109, \
+	0x0400, 0x0003, \
+	0x0000, 0x088c, \
+	0x00000086, \
+	"us", "en", \
 }
 
-#define CLIENTINFO_AIM_4_1_2010 { \
-	  "AOL Instant Messenger (SM), version 4.1.2010/WIN32", \
-	  0x0004, \
-	  0x0004, \
-	  0x0001, \
-	  0x0000, \
-	  0x07da, \
-	  "us", \
-	  "en", \
+/* Needs to be checked */
+#define CLIENTINFO_AIM_4_8_2540 { \
+	"AOL Instant Messenger (SM), version 4.8.2540/WIN32", \
+	0x0109, \
+	0x0004, 0x0008, \
+	0x0000, 0x09ec, \
+	0x000000af, \
+	"us", "en", \
 }
 
+/* Needs to be checked */
 #define CLIENTINFO_AIM_5_0_2938 { \
-	  "AOL Instant Messenger, version 5.0.2938/WIN32", \
-	  0x0109, \
-	  0x0005, \
-	  0x0000, \
-	  0x0000, \
-	  0x0b7a, \
-	  "us", \
-	  "en", \
+	"AOL Instant Messenger, version 5.0.2938/WIN32", \
+	0x0109, \
+	0x0005, 0x0000, \
+	0x0000, 0x0b7a, \
+	0x00000000, \
+	"us", "en", \
 }
 
+#define CLIENTINFO_AIM_5_1_3036 { \
+	"AOL Instant Messenger, version 5.1.3036/WIN32", \
+	0x0109, \
+	0x0005, 0x0001, \
+	0x0000, 0x0bdc, \
+	0x000000d2, \
+	"us", "en", \
+}
+
+/* Needs to be checked */
 #define CLIENTINFO_ICQ_4_65_3281 { \
 	"ICQ Inc. - Product of ICQ (TM) 2000b.4.65.1.3281.85", \
 	0x010a, \
-	0x0004, \
-	0x0041, \
-	0x0001, \
-	0x0cd1, \
-	"us", \
-	"en", \
+	0x0004, 0x0041, \
+	0x0001, 0x0cd1, \
+	0x00000055, \
+	"us", "en", \
 }
 
+/* Needs to be checked */
 #define CLIENTINFO_ICQ_5_34_3728 { \
 	"ICQ Inc. - Product of ICQ (TM).2002a.5.34.1.3728.85", \
 	0x010a, \
-	0x0005, \
-	0x0022, \
-	0x0001, \
-	0x0e8f, \
-	"us", \
-	"en", \
+	0x0005, 0x0022, \
+	0x0001, 0x0e8f, \
+	0x00000055, \
+	"us", "en", \
 }
 
-/*
- * I would make 4.1.2010 the default, but they seem to have found
- * an alternate way of breaking that one. 
- *
- * 3.5.1670 should work fine, however, you will be subjected to the
- * memory test, which may require you to have a WinAIM binary lying 
- * around. (see login.c::memrequest())
- */
+#define CLIENTINFO_ICQ_5_45_1_3777_85 { \
+	"ICQ Inc. - Product of ICQ (TM).2003a.5.45.1.3777.85", \
+	0x010a, \
+	0x0005, 0x002d, \
+	0x0001, 0x0ec1, \
+	0x00000055, \
+	"us", "en", \
+}
+
+#define CLIENTINFO_ICQBasic_14_3_1068 { \
+	"ICQBasic", \
+	0x010a, \
+	0x0014, 0x0003, \
+	0x0000, 0x042c, \
+	0x0000043d, \
+	"us", "en", \
+}
+
 #define CLIENTINFO_AIM_KNOWNGOOD CLIENTINFO_AIM_3_5_1670
+/* define CLIENTINFO_AIM_KNOWNGOOD CLIENTINFO_AIM_5_1_3036 */
 #define CLIENTINFO_ICQ_KNOWNGOOD CLIENTINFO_ICQ_4_65_3281
 
 #ifndef TRUE
--- a/src/protocols/oscar/auth.c	Fri Dec 13 03:36:33 2002 +0000
+++ b/src/protocols/oscar/auth.c	Fri Dec 13 06:51:17 2002 +0000
@@ -179,7 +179,7 @@
 	aim_addtlvtochain16(&tl, 0x0018, (fu16_t)ci->minor);
 	aim_addtlvtochain16(&tl, 0x0019, (fu16_t)ci->point);
 	aim_addtlvtochain16(&tl, 0x001a, (fu16_t)ci->build);
-	aim_addtlvtochain32(&tl, 0x0014, 0x00000055); /* distribution chan */
+	aim_addtlvtochain32(&tl, 0x0014, (fu32_t)ci->distrib); /* distribution chan */
 	aim_addtlvtochain_raw(&tl, 0x000f, strlen(ci->lang), ci->lang);
 	aim_addtlvtochain_raw(&tl, 0x000e, strlen(ci->country), ci->country);
 
@@ -202,46 +202,6 @@
  * then the client information you send here must exactly match the
  * executable that you're pulling the data from.
  *
- * WinAIM 4.8.2540
- *   clientstring = "AOL Instant Messenger (SM), version 4.8.2540/WIN32"
- *   clientid = 0x0109
- *   major = 0x0004
- *   minor = 0x0008
- *   point = 0x0000
- *   build = 0x09ec
- *   t(0x0014) = 0x000000af
- *   t(0x004a) = 0x01
- *
- * WinAIM 4.3.2188:
- *   clientstring = "AOL Instant Messenger (SM), version 4.3.2188/WIN32"
- *   clientid = 0x0109
- *   major = 0x0400
- *   minor = 0x0003
- *   point = 0x0000
- *   build = 0x088c
- *   unknown = 0x00000086
- *   lang = "en"
- *   country = "us"
- *   unknown4a = 0x01
- *
- * Latest WinAIM that libfaim can emulate without server-side buddylists:
- *   clientstring = "AOL Instant Messenger (SM), version 4.1.2010/WIN32"
- *   clientid = 0x0004
- *   major  = 0x0004
- *   minor  = 0x0001
- *   point = 0x0000
- *   build  = 0x07da
- *   unknown= 0x0000004b
- *
- * WinAIM 3.5.1670:
- *   clientstring = "AOL Instant Messenger (SM), version 3.5.1670/WIN32"
- *   clientid = 0x0004
- *   major =  0x0003
- *   minor =  0x0005
- *   point = 0x0000
- *   build =  0x0686
- *   unknown =0x0000002a
- *
  * Java AIM 1.1.19:
  *   clientstring = "AOL Instant Messenger (TM) version 1.1.19 for Java built 03/24/98, freeMem 215871 totalMem 1048567, i686, Linus, #2 SMP Sun Feb 11 03:41:17 UTC 2001 2.4.1-ac9, IBM Corporation, 1.1.8, 45.3, Tue Mar 27 12:09:17 PST 2001"
  *   clientid = 0x0001
@@ -303,6 +263,7 @@
 	aim_addtlvtochain16(&tl, 0x0018, (fu16_t)ci->minor);
 	aim_addtlvtochain16(&tl, 0x0019, (fu16_t)ci->point);
 	aim_addtlvtochain16(&tl, 0x001a, (fu16_t)ci->build);
+	aim_addtlvtochain32(&tl, 0x0014, (fu32_t)ci->distrib);
 	aim_addtlvtochain_raw(&tl, 0x000e, strlen(ci->country), ci->country);
 	aim_addtlvtochain_raw(&tl, 0x000f, strlen(ci->lang), ci->lang);