]> andersk Git - libfaim.git/commitdiff
- Mon Mar 26 15:57:41 PST 2001
authormid <mid>
Tue, 27 Mar 2001 00:04:26 +0000 (00:04 +0000)
committermid <mid>
Tue, 27 Mar 2001 00:04:26 +0000 (00:04 +0000)
  - Hrmph.
  - Debuglevel wasn't getting set properly by aim_session_init

CHANGES
include/aim.h
src/bos.c
src/conn.c
src/info.c
src/login.c
src/misc.c
utils/faimtest/faimtest.c

diff --git a/CHANGES b/CHANGES
index 3ba96eb906568ce9d1b851054ec7580f1a7835c0..285949918c490f263a5d6ce6c6440884da61f8f1 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,10 @@
 
 No release numbers
 ------------------
+ - Mon Mar 26 15:57:41 PST 2001
+  - Hrmph.
+  - Debuglevel wasn't getting set properly by aim_session_init
+
  - Sat Mar 24 03:16:32 UTC 2001
   - vaargs to msgerror and locateerror swapped
      - ** CLIENT CHANGE: Reason code comes before SN now.  This is so that
index 6a78c7742baf68150c7354d69a909ff717c597f0..a0479c806fb0c70771418b4b47fd151e71550941 100644 (file)
@@ -636,6 +636,9 @@ faim_export int aim_oft_getfile_end(struct aim_session_t *sess, struct aim_conn_
 #define AIM_CAPS_GAMES 0x40
 #define AIM_CAPS_SAVESTOCKS 0x80
 
+faim_export int aim_0002_000b(struct aim_session_t *sess, struct aim_conn_t *conn, const char *sn);
+faim_export int aim_0001_0020(struct aim_session_t *sess, struct aim_conn_t *conn);
+
 #define AIM_GETINFO_GENERALINFO 0x00001
 #define AIM_GETINFO_AWAYMESSAGE 0x00003
 
index 9a6a0deee0d43657173f541af298d5d880ff09e5..247251ef26d20029d3a3ad4e8b947b6ed9252b0a 100644 (file)
--- a/src/bos.c
+++ b/src/bos.c
@@ -19,6 +19,34 @@ faim_export unsigned long aim_bos_setgroupperm(struct aim_session_t *sess,
   return aim_genericreq_l(sess, conn, 0x0009, 0x0004, &mask);
 }
 
+faim_export int aim_0001_0020(struct aim_session_t *sess, struct aim_conn_t *conn)
+{
+    struct command_tx_struct *tx;
+  int i = 0;
+
+  if (!sess || !conn)
+    return 0;
+
+  if (!(tx = aim_tx_new(sess, conn, AIM_FRAMETYPE_OSCAR, 0x0002, 10+2+16)))
+    return -1;
+
+  tx->lock = 1;
+
+  /* Hummm.... */
+  i = aim_putsnac(tx->data, 0x0001, 0x0020, 0x0000, sess->snac_nextid++);
+  i += aimutil_put16(tx->data+i, 0x0010);
+  i += aimutil_put32(tx->data+i, 0x469bf5e7);
+  i += aimutil_put32(tx->data+i, 0x01a19b28);
+  i += aimutil_put32(tx->data+i, 0x54c59ea6);
+  i += aimutil_put32(tx->data+i, 0x88eae54a);
+  
+  tx->commandlen = i;
+  tx->lock = 0;
+  aim_tx_enqueue(sess, tx);
+
+  return 0;
+}
+
 static int rights(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
 {
   rxcallback_t userfunc;
index 5902b27e40d76113a713212bfc7b90dede164e72..f9f211c961b64730fb2e5390c49c2c5b3991dee1 100644 (file)
@@ -752,7 +752,7 @@ faim_export void aim_session_init(struct aim_session_t *sess, unsigned long flag
   sess->snac_nextid = 0x00000001;
 
   sess->flags = 0;
-  sess->debug = 0;
+  sess->debug = debuglevel;
   sess->debugcb = defaultdebugcb;
 
   sess->modlistv = NULL;
index 4c67a6b0cac759e9cbad09d76661bfc99884a3a5..db84a71889b296b0b7caf615208ac39c3495cb1d 100644 (file)
@@ -526,6 +526,30 @@ faim_export int aim_sendbuddyoffgoing(struct aim_session_t *sess, struct aim_con
   return 0;
 }
 
+faim_export int aim_0002_000b(struct aim_session_t *sess, struct aim_conn_t *conn, const char *sn)
+{
+  struct command_tx_struct *tx;
+  int i = 0;
+
+  if (!sess || !conn || !sn)
+    return 0;
+
+  if (!(tx = aim_tx_new(sess, conn, AIM_FRAMETYPE_OSCAR, 0x0002, 10+1+strlen(sn))))
+    return -1;
+
+  tx->lock = 1;
+
+  i = aim_putsnac(tx->data, 0x0002, 0x000b, 0x0000, sess->snac_nextid);
+  i += aimutil_put8(tx->data+i, strlen(sn));
+  i += aimutil_putstr(tx->data+i, sn, strlen(sn));
+  
+  tx->commandlen = i;
+  tx->lock = 0;
+  aim_tx_enqueue(sess, tx);
+
+  return 0;
+}
+
 static int rights(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
 {
   struct aim_tlvlist_t *tlvlist;
index 4b55be0aff8ceb6a9573ca333d7fb766594eaa01..37fe042668c2d8ae51aa5f97048d02faf734fcf9 100644 (file)
@@ -189,9 +189,7 @@ faim_export int aim_send_login (struct aim_session_t *sess,
     free(password_encoded);
   }
 
-  /* XXX is clientstring required by oscar? */
-  if (strlen(clientinfo->clientstring))
-    curbyte += aim_puttlv_str(newpacket->data+curbyte, 0x0003, strlen(clientinfo->clientstring), clientinfo->clientstring);
+  curbyte += aim_puttlv_str(newpacket->data+curbyte, 0x0003, strlen(clientinfo->clientstring), clientinfo->clientstring);
 
   if (sess->flags & AIM_SESS_FLAGS_SNACLOGIN) {
 
@@ -201,9 +199,6 @@ faim_export int aim_send_login (struct aim_session_t *sess,
     curbyte += aim_puttlv_16(newpacket->data+curbyte, 0x0019, (unsigned short)clientinfo->minor2);
     curbyte += aim_puttlv_16(newpacket->data+curbyte, 0x001a, (unsigned short)clientinfo->build);
   
-    curbyte += aim_puttlv_32(newpacket->data+curbyte, 0x0014, clientinfo->unknown);
-    curbyte += aim_puttlv_16(newpacket->data+curbyte, 0x0009, 0x0015);
-
   } else {
     /* Use very specific version numbers, to further indicate the hack. */
     curbyte += aim_puttlv_16(newpacket->data+curbyte, 0x0016, 0x010a);
@@ -214,16 +209,14 @@ faim_export int aim_send_login (struct aim_session_t *sess,
     curbyte += aim_puttlv_32(newpacket->data+curbyte, 0x0014, 0x00000055);
   }
 
-  if (strlen(clientinfo->country))
-    curbyte += aim_puttlv_str(newpacket->data+curbyte, 0x000f, strlen(clientinfo->country), clientinfo->country);
-  else
-    curbyte += aim_puttlv_str(newpacket->data+curbyte, 0x000f, 2, "us");
-
-  if (strlen(clientinfo->lang))
-    curbyte += aim_puttlv_str(newpacket->data+curbyte, 0x000e, strlen(clientinfo->lang), clientinfo->lang);
-  else
-    curbyte += aim_puttlv_str(newpacket->data+curbyte, 0x000e, 2, "en");
+  curbyte += aim_puttlv_str(newpacket->data+curbyte, 0x000e, strlen(clientinfo->country), clientinfo->country);
+  curbyte += aim_puttlv_str(newpacket->data+curbyte, 0x000f, strlen(clientinfo->lang), clientinfo->lang);
   
+  if (sess->flags & AIM_SESS_FLAGS_SNACLOGIN) {
+    curbyte += aim_puttlv_32(newpacket->data+curbyte, 0x0014, clientinfo->unknown);
+    curbyte += aim_puttlv_16(newpacket->data+curbyte, 0x0009, 0x0015);
+  }
+
   newpacket->commandlen = curbyte;
 
   newpacket->lock = 0;
index c8975ef4b151be5ed065e71f406c02f2a9c1b637..29f736f41e976d021ccedc533e34248cf7b6e846 100644 (file)
@@ -215,10 +215,10 @@ faim_export unsigned long aim_bos_setprofile(struct aim_session_t *sess,
     return -1;
 
   i += aim_putsnac(newpacket->data, 0x0002, 0x004, 0x0000, sess->snac_nextid);
-  i += aim_puttlv_str(newpacket->data+i, 0x0001, strlen("text/x-aolrtf; charset=\"us-ascii\""), "text/x-aolrtf; charset=\"us-ascii\"");
+  i += aim_puttlv_str(newpacket->data+i, 0x0001, strlen("text/aolrtf; charset=\"us-ascii\""), "text/x-aolrtf; charset=\"us-ascii\"");
   i += aim_puttlv_str(newpacket->data+i, 0x0002, strlen(profile), profile);
   /* why do we send this twice?  */
-  i += aim_puttlv_str(newpacket->data+i, 0x0003, strlen("text/x-aolrtf; charset=\"us-ascii\""), "text/x-aolrtf; charset=\"us-ascii\"");
+  i += aim_puttlv_str(newpacket->data+i, 0x0003, strlen("text/aolrtf; charset=\"us-ascii\""), "text/x-aolrtf; charset=\"us-ascii\"");
   
   /* Away message -- we send this no matter what, even if its blank */
   if (awaymsg)
@@ -361,7 +361,7 @@ faim_export unsigned long aim_setversions(struct aim_session_t *sess,
   struct command_tx_struct *newpacket;
   int i;
 
-  if (!(newpacket = aim_tx_new(sess, conn, AIM_FRAMETYPE_OSCAR, 0x0002, 10 + (4*12))))
+  if (!(newpacket = aim_tx_new(sess, conn, AIM_FRAMETYPE_OSCAR, 0x0002, 10 + (4*16))))
     return -1;
 
   newpacket->lock = 1;
@@ -372,9 +372,6 @@ faim_export unsigned long aim_setversions(struct aim_session_t *sess,
   i += aimutil_put16(newpacket->data+i, 0x0001);
   i += aimutil_put16(newpacket->data+i, 0x0003);
 
-  i += aimutil_put16(newpacket->data+i, 0x0013);
-  i += aimutil_put16(newpacket->data+i, 0x0001);
-
   i += aimutil_put16(newpacket->data+i, 0x0002);
   i += aimutil_put16(newpacket->data+i, 0x0001);
 
@@ -397,11 +394,17 @@ faim_export unsigned long aim_setversions(struct aim_session_t *sess,
   i += aimutil_put16(newpacket->data+i, 0x0001);
 
   i += aimutil_put16(newpacket->data+i, 0x000b);
-  i += aimutil_put16(newpacket->data+i, 0x0001);
+  i += aimutil_put16(newpacket->data+i, 0x0002);
 
   i += aimutil_put16(newpacket->data+i, 0x000c);
   i += aimutil_put16(newpacket->data+i, 0x0001);
 
+  i += aimutil_put16(newpacket->data+i, 0x0013);
+  i += aimutil_put16(newpacket->data+i, 0x0001);
+
+  i += aimutil_put16(newpacket->data+i, 0x0015);
+  i += aimutil_put16(newpacket->data+i, 0x0001);
+
   newpacket->commandlen = i;
   newpacket->lock = 0;
   aim_tx_enqueue(sess, newpacket);
index 96d993d0c0ed58a51303ec58a4015c219478b624..2875afc1ba9635304a327253a3f02b69bfb374b6 100644 (file)
@@ -466,7 +466,7 @@ int faimtest_rateresp(struct aim_session_t *sess, struct command_rx_struct *comm
     aim_bos_ackrateresp(sess, command->conn);  /* ack rate info response */
     aim_bos_reqpersonalinfo(sess, command->conn);
     aim_bos_reqlocaterights(sess, command->conn);
-    aim_bos_setprofile(sess, command->conn, profile, NULL, AIM_CAPS_BUDDYICON | AIM_CAPS_CHAT | AIM_CAPS_VOICE | AIM_CAPS_GETFILE | AIM_CAPS_SENDFILE | AIM_CAPS_IMIMAGE | AIM_CAPS_GAMES | AIM_CAPS_SAVESTOCKS);
+    aim_bos_setprofile(sess, command->conn, profile, NULL, AIM_CAPS_BUDDYICON | AIM_CAPS_CHAT | AIM_CAPS_VOICE | AIM_CAPS_GETFILE | AIM_CAPS_SENDFILE | AIM_CAPS_IMIMAGE /*| AIM_CAPS_GAMES | AIM_CAPS_SAVESTOCKS*/);
     aim_bos_reqbuddyrights(sess, command->conn);
 
     /* send the buddy list and profile (required, even if empty) */
@@ -479,7 +479,7 @@ int faimtest_rateresp(struct aim_session_t *sess, struct command_rx_struct *comm
     aim_bos_reqrights(sess, command->conn);  
     /* set group permissions -- all user classes */
     aim_bos_setgroupperm(sess, command->conn, AIM_FLAG_ALLUSERS);
-    aim_bos_setprivacyflags(sess, command->conn, AIM_PRIVFLAGS_ALLOWIDLE|AIM_PRIVFLAGS_ALLOWMEMBERSINCE);
+    aim_bos_setprivacyflags(sess, command->conn, AIM_PRIVFLAGS_ALLOWIDLE);
 
     break;  
   }
@@ -693,98 +693,91 @@ int faimtest_handleredirect(struct aim_session_t *sess, struct command_rx_struct
   ip = va_arg(ap, char *);
   cookie = va_arg(ap, unsigned char *);
  
-  switch(serviceid)
-    {
-    case 0x0005: /* Adverts */
-      {
-       struct aim_conn_t *tstconn;
+  switch(serviceid) {
+  case 0x0005: { /* Adverts */
+    struct aim_conn_t *tstconn;
 
-       tstconn = aim_newconn(sess, AIM_CONN_TYPE_ADS, ip);
-       if ((tstconn==NULL) || (tstconn->status & AIM_CONN_STATUS_RESOLVERR)) {
-         dprintf("faimtest: unable to reconnect with authorizer\n");
-       } else {
-         aim_conn_addhandler(sess, tstconn, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_FLAPVER, faimtest_flapversion, 0);
-         aim_conn_addhandler(sess, tstconn, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_CONNCOMPLETE, faimtest_conncomplete, 0);
-         aim_conn_addhandler(sess, tstconn, 0x0001, 0x0003, faimtest_serverready, 0);
-         aim_conn_addhandler(sess, tstconn, 0x0001, 0x0007, faimtest_rateresp, 0); /* rate info */
-         aim_conn_addhandler(sess, tstconn, AIM_CB_FAM_GEN, 0x0018, faimtest_hostversions, 0);
-         aim_auth_sendcookie(sess, tstconn, cookie);
-         dprintf("sent cookie to adverts host\n");
-       }
+    tstconn = aim_newconn(sess, AIM_CONN_TYPE_ADS, ip);
+    if ((tstconn==NULL) || (tstconn->status & AIM_CONN_STATUS_RESOLVERR)) {
+      dprintf("faimtest: unable to reconnect with authorizer\n");
+    } else {
+      aim_conn_addhandler(sess, tstconn, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_FLAPVER, faimtest_flapversion, 0);
+      aim_conn_addhandler(sess, tstconn, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_CONNCOMPLETE, faimtest_conncomplete, 0);
+      aim_conn_addhandler(sess, tstconn, 0x0001, 0x0003, faimtest_serverready, 0);
+      aim_conn_addhandler(sess, tstconn, 0x0001, 0x0007, faimtest_rateresp, 0); /* rate info */
+      aim_conn_addhandler(sess, tstconn, AIM_CB_FAM_GEN, 0x0018, faimtest_hostversions, 0);
+      aim_auth_sendcookie(sess, tstconn, cookie);
+      dprintf("sent cookie to adverts host\n");
+    }
+    break;
+  }  
+  case 0x0007: { /* Authorizer */
+    struct aim_conn_t *tstconn;
+    /* Open a connection to the Auth */
+    tstconn = aim_newconn(sess, AIM_CONN_TYPE_AUTH, ip);
+    if ((tstconn==NULL) || (tstconn->status & AIM_CONN_STATUS_RESOLVERR)) {
+      dprintf("faimtest: unable to reconnect with authorizer\n");
+    } else {
+      aim_conn_addhandler(sess, tstconn, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_FLAPVER, faimtest_flapversion, 0);
+      aim_conn_addhandler(sess, tstconn, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_CONNCOMPLETE, faimtest_conncomplete, 0);
+      aim_conn_addhandler(sess, tstconn, 0x0001, 0x0003, faimtest_serverready, 0);
+      aim_conn_addhandler(sess, tstconn, 0x0001, 0x0007, faimtest_rateresp, 0); /* rate info */
+      aim_conn_addhandler(sess, tstconn, AIM_CB_FAM_GEN, 0x0018, faimtest_hostversions, 0);
+      aim_conn_addhandler(sess, tstconn, 0x0007, 0x0007, faimtest_accountconfirm, 0);
+      aim_conn_addhandler(sess, tstconn, 0x0007, 0x0003, faimtest_infochange, 0);
+      aim_conn_addhandler(sess, tstconn, 0x0007, 0x0005, faimtest_infochange, 0);
+      /* Send the cookie to the Auth */
+      aim_auth_sendcookie(sess, tstconn, cookie);
+      dprintf("sent cookie to authorizer host\n");
+    }
+    break;
+  }  
+  case 0x000d: { /* ChatNav */
+    struct aim_conn_t *tstconn = NULL;
+    tstconn = aim_newconn(sess, AIM_CONN_TYPE_CHATNAV, ip);
+    if ( (tstconn==NULL) || (tstconn->status & AIM_CONN_STATUS_RESOLVERR)) {
+      dprintf("faimtest: unable to connect to chatnav server\n");
+      if (tstconn) aim_conn_kill(sess, &tstconn);
+      return 1;
+    }
 
-      }  
-      break;
-    case 0x0007: /* Authorizer */
-      {
-       struct aim_conn_t *tstconn;
-       /* Open a connection to the Auth */
-       tstconn = aim_newconn(sess, AIM_CONN_TYPE_AUTH, ip);
-       if ((tstconn==NULL) || (tstconn->status & AIM_CONN_STATUS_RESOLVERR)) {
-         dprintf("faimtest: unable to reconnect with authorizer\n");
-       } else {
-         aim_conn_addhandler(sess, tstconn, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_FLAPVER, faimtest_flapversion, 0);
-         aim_conn_addhandler(sess, tstconn, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_CONNCOMPLETE, faimtest_conncomplete, 0);
-         aim_conn_addhandler(sess, tstconn, 0x0001, 0x0003, faimtest_serverready, 0);
-         aim_conn_addhandler(sess, tstconn, 0x0001, 0x0007, faimtest_rateresp, 0); /* rate info */
-         aim_conn_addhandler(sess, tstconn, AIM_CB_FAM_GEN, 0x0018, faimtest_hostversions, 0);
-         aim_conn_addhandler(sess, tstconn, 0x0007, 0x0007, faimtest_accountconfirm, 0);
-         aim_conn_addhandler(sess, tstconn, 0x0007, 0x0003, faimtest_infochange, 0);
-         aim_conn_addhandler(sess, tstconn, 0x0007, 0x0005, faimtest_infochange, 0);
-         /* Send the cookie to the Auth */
-         aim_auth_sendcookie(sess, tstconn, cookie);
-         dprintf("sent cookie to authorizer host\n");
-       }
+    aim_conn_addhandler(sess, tstconn, 0x0001, 0x0003, faimtest_serverready, 0);
+    aim_conn_addhandler(sess, tstconn, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_CONNCOMPLETE, faimtest_conncomplete, 0);
+    aim_auth_sendcookie(sess, tstconn, cookie);
+    dprintf("\achatnav: connected\n");
+    break;
+  }
+  case 0x000e: { /* Chat */
+    char *roomname = NULL;
+    int exchange;
+    struct aim_conn_t *tstconn = NULL;
 
-      }  
-      break;
-    case 0x000d: /* ChatNav */
-      {
-       struct aim_conn_t *tstconn = NULL;
-       tstconn = aim_newconn(sess, AIM_CONN_TYPE_CHATNAV, ip);
-       if ( (tstconn==NULL) || (tstconn->status & AIM_CONN_STATUS_RESOLVERR)) {
-         dprintf("faimtest: unable to connect to chatnav server\n");
-         if (tstconn) aim_conn_kill(sess, &tstconn);
-         return 1;
-       }
+    roomname = va_arg(ap, char *);
+    exchange = va_arg(ap, int);
 
-       aim_conn_addhandler(sess, tstconn, 0x0001, 0x0003, faimtest_serverready, 0);
-       aim_conn_addhandler(sess, tstconn, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_CONNCOMPLETE, faimtest_conncomplete, 0);
-       aim_auth_sendcookie(sess, tstconn, cookie);
-       dprintf("\achatnav: connected\n");
-      }
-      break;
-    case 0x000e: /* Chat */
-      {
-       char *roomname = NULL;
-       int exchange;
-       struct aim_conn_t *tstconn = NULL;
-
-       roomname = va_arg(ap, char *);
-       exchange = va_arg(ap, int);
-
-       tstconn = aim_newconn(sess, AIM_CONN_TYPE_CHAT, ip);
-       if ( (tstconn==NULL) || (tstconn->status & AIM_CONN_STATUS_RESOLVERR))
-         {
-           dprintf("faimtest: unable to connect to chat server\n");
-           if (tstconn) aim_conn_kill(sess, &tstconn);
-           return 1;
-         }             
-       dvprintf("faimtest: chat: connected to %s on exchange %d\n", roomname, exchange);
-
-       /*
-        * We must do this to attach the stored name to the connection!
-        */
-       aim_chat_attachname(tstconn, roomname);
-
-       aim_conn_addhandler(sess, tstconn, 0x0001, 0x0003, faimtest_serverready, 0);
-       aim_conn_addhandler(sess, tstconn, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_CONNCOMPLETE, faimtest_conncomplete, 0);
-       aim_auth_sendcookie(sess, tstconn, cookie);
-      }
-      break;
-    default:
-      dvprintf("uh oh... got redirect for unknown service 0x%04x!!\n", serviceid);
-      /* dunno */
-    }
+    tstconn = aim_newconn(sess, AIM_CONN_TYPE_CHAT, ip);
+    if ( (tstconn==NULL) || (tstconn->status & AIM_CONN_STATUS_RESOLVERR)) {
+      dprintf("faimtest: unable to connect to chat server\n");
+      if (tstconn) aim_conn_kill(sess, &tstconn);
+      return 1;
+    }          
+    dvprintf("faimtest: chat: connected to %s on exchange %d\n", roomname, exchange);
+
+    /*
+     * We must do this to attach the stored name to the connection!
+     */
+    aim_chat_attachname(tstconn, roomname);
+
+    aim_conn_addhandler(sess, tstconn, 0x0001, 0x0003, faimtest_serverready, 0);
+    aim_conn_addhandler(sess, tstconn, AIM_CB_FAM_SPECIAL, AIM_CB_SPECIAL_CONNCOMPLETE, faimtest_conncomplete, 0);
+    aim_auth_sendcookie(sess, tstconn, cookie);
+
+    break;
+  }
+  default:
+    dvprintf("uh oh... got redirect for unknown service 0x%04x!!\n", serviceid);
+    /* dunno */
+  }
 
   va_end(ap);
 
@@ -1516,6 +1509,19 @@ int faimtest_parse_motd(struct aim_session_t *sess, struct command_rx_struct *co
   if (!connected)
     connected++;
 
+#if 0
+  aim_bos_reqservice(sess, command->conn, 0x0005); /* adverts */
+  aim_bos_reqservice(sess, command->conn, 0x000f); /* user directory */
+
+  /* Don't know what this does... */
+  /* XXX sess->sn should be normalized by the 0001/000f handler */
+  aim_0002_000b(sess, command->conn, sess->sn);
+#endif
+
+  /* As of 26 Mar 2001 you need to send this to keep from getting kicked off */
+  aim_0001_0020(sess, command->conn);
+
+
   return 1;
 }
 
This page took 0.075812 seconds and 5 git commands to generate.