]> andersk Git - libfaim.git/blobdiff - src/bos.c
- Tue Mar 27 19:15:10 PST 2001
[libfaim.git] / src / bos.c
index 829788b9313c47c5dce0ab40fc7dc7eb12132a17..245b3bc19175c5aa2e3516a71ae90ed9cdc868c8 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, 0x92bd6757);
+  i += aimutil_put32(tx->data+i, 0x3722cbd3);
+  i += aimutil_put32(tx->data+i, 0x2b048ab9);
+  i += aimutil_put32(tx->data+i, 0xd0b1e4ab);
+
+  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;
@@ -56,14 +84,7 @@ static int rights(struct aim_session_t *sess, aim_module_t *mod, struct command_
 static int snachandler(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
 {
 
-  faimdprintf(sess, 0, "%s: snachandler: got %x/%x\n", mod->name, snac->family, snac->subtype);
-
-  if (snac->family != mod->family)
-    return 0;
-
-  if (snac->subtype == 0x0001)
-    ;
-  else if (snac->subtype == 0x0003)
+  if (snac->subtype == 0x0003)
     return rights(sess, mod, rx, snac, data, datalen);
 
   return 0;
This page took 0.13049 seconds and 4 git commands to generate.