libfaim/aim_login.c

changeset 412
e64f21d52297
parent 331
a89ce2ecac3e
child 445
f7ef3b61a842
--- a/libfaim/aim_login.c	Thu Jun 15 05:27:25 2000 +0000
+++ b/libfaim/aim_login.c	Fri Jun 16 09:29:36 2000 +0000
@@ -168,13 +168,12 @@
   curbyte += aimutil_putstr(newpacket->data+curbyte, password_encoded, strlen(password));
   free(password_encoded);
   
-  curbyte += aim_puttlv_16(newpacket->data+curbyte, 0x0016, 0x010a /*0x0004*/);
-  
   if (strlen(clientinfo->clientstring)) {
     curbyte += aimutil_put16(newpacket->data+curbyte, 0x0003);
     curbyte += aimutil_put16(newpacket->data+curbyte, strlen(clientinfo->clientstring));
     curbyte += aimutil_putstr(newpacket->data+curbyte, clientinfo->clientstring, strlen(clientinfo->clientstring));
   }
+  curbyte += aim_puttlv_16(newpacket->data+curbyte, 0x0016, /*0x010a*/ 0x0004);
   curbyte += aim_puttlv_16(newpacket->data+curbyte, 0x0017, clientinfo->major /*0x0001*/);
   curbyte += aim_puttlv_16(newpacket->data+curbyte, 0x0018, clientinfo->minor /*0x0001*/);
   curbyte += aim_puttlv_16(newpacket->data+curbyte, 0x0019, 0x0001);
@@ -182,16 +181,17 @@
 
   curbyte += aim_puttlv_32(newpacket->data+curbyte, 0x0014, 0x00000055);
 
+  if (strlen(clientinfo->lang)) {
+    curbyte += aimutil_put16(newpacket->data+curbyte, 0x000f);
+    curbyte += aimutil_put16(newpacket->data+curbyte, strlen(clientinfo->lang));
+    curbyte += aimutil_putstr(newpacket->data+curbyte, clientinfo->lang, strlen(clientinfo->lang));
+  }
+
   if (strlen(clientinfo->country)) {
     curbyte += aimutil_put16(newpacket->data+curbyte, 0x000e);
     curbyte += aimutil_put16(newpacket->data+curbyte, strlen(clientinfo->country));
     curbyte += aimutil_putstr(newpacket->data+curbyte, clientinfo->country, strlen(clientinfo->country));
   }
-  if (strlen(clientinfo->lang)) {
-    curbyte += aimutil_put16(newpacket->data+curbyte, 0x000f);
-    curbyte += aimutil_put16(newpacket->data+curbyte, strlen(clientinfo->lang));
-    curbyte += aimutil_putstr(newpacket->data+curbyte, clientinfo->lang, strlen(clientinfo->lang));
-  }
 
 #endif
 
@@ -218,10 +218,17 @@
 int aim_encode_password(const char *password, u_char *encoded)
 {
   u_char encoding_table[] = {
+#if 0
     0xf3, 0xb3, 0x6c, 0x99,
     0x95, 0x3f, 0xac, 0xb6,
     0xc5, 0xfa, 0x6b, 0x63,
     0x69, 0x6c, 0xc3, 0x9f
+#else
+    0xf3, 0x26, 0x81, 0xc4,
+    0x39, 0x86, 0xdb, 0x92,
+    0x71, 0xa3, 0xb9, 0xe6,
+    0x53, 0x7a, 0x95, 0x7c
+#endif
   };
 
   int i;

mercurial