aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/oscar/bos.c
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/oscar/bos.c')
-rw-r--r--protocols/oscar/bos.c80
1 files changed, 0 insertions, 80 deletions
diff --git a/protocols/oscar/bos.c b/protocols/oscar/bos.c
index e7f12f79..4a1c5036 100644
--- a/protocols/oscar/bos.c
+++ b/protocols/oscar/bos.c
@@ -55,86 +55,6 @@ int aim_bos_setgroupperm(aim_session_t *sess, aim_conn_t *conn, guint32 mask)
return aim_genericreq_l(sess, conn, 0x0009, 0x0004, &mask);
}
-/*
- * Modify permit/deny lists (group 9, types 5, 6, 7, and 8)
- *
- * Changes your visibility depending on changetype:
- *
- * AIM_VISIBILITYCHANGE_PERMITADD: Lets provided list of names see you
- * AIM_VISIBILITYCHANGE_PERMIDREMOVE: Removes listed names from permit list
- * AIM_VISIBILITYCHANGE_DENYADD: Hides you from provided list of names
- * AIM_VISIBILITYCHANGE_DENYREMOVE: Lets list see you again
- *
- * list should be a list of
- * screen names in the form "Screen Name One&ScreenNameTwo&" etc.
- *
- * Equivelents to options in WinAIM:
- * - Allow all users to contact me: Send an AIM_VISIBILITYCHANGE_DENYADD
- * with only your name on it.
- * - Allow only users on my Buddy List: Send an
- * AIM_VISIBILITYCHANGE_PERMITADD with the list the same as your
- * buddy list
- * - Allow only the uesrs below: Send an AIM_VISIBILITYCHANGE_PERMITADD
- * with everyone listed that you want to see you.
- * - Block all users: Send an AIM_VISIBILITYCHANGE_PERMITADD with only
- * yourself in the list
- * - Block the users below: Send an AIM_VISIBILITYCHANGE_DENYADD with
- * the list of users to be blocked
- *
- * XXX ye gods.
- */
-int aim_bos_changevisibility(aim_session_t *sess, aim_conn_t *conn, int changetype, const char *denylist)
-{
- aim_frame_t *fr;
- int packlen = 0;
- guint16 subtype;
- char *localcpy = NULL, *tmpptr = NULL;
- int i;
- int listcount;
- aim_snacid_t snacid;
-
- if (!denylist)
- return -EINVAL;
-
- if (changetype == AIM_VISIBILITYCHANGE_PERMITADD)
- subtype = 0x05;
- else if (changetype == AIM_VISIBILITYCHANGE_PERMITREMOVE)
- subtype = 0x06;
- else if (changetype == AIM_VISIBILITYCHANGE_DENYADD)
- subtype = 0x07;
- else if (changetype == AIM_VISIBILITYCHANGE_DENYREMOVE)
- subtype = 0x08;
- else
- return -EINVAL;
-
- localcpy = g_strdup(denylist);
-
- listcount = aimutil_itemcnt(localcpy, '&');
- packlen = aimutil_tokslen(localcpy, 99, '&') + listcount + 9;
-
- if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, packlen))) {
- g_free(localcpy);
- return -ENOMEM;
- }
-
- snacid = aim_cachesnac(sess, 0x0009, subtype, 0x0000, NULL, 0);
- aim_putsnac(&fr->data, 0x0009, subtype, 0x00, snacid);
-
- for (i = 0; (i < (listcount - 1)) && (i < 99); i++) {
- tmpptr = aimutil_itemidx(localcpy, i, '&');
-
- aimbs_put8(&fr->data, strlen(tmpptr));
- aimbs_putraw(&fr->data, (guint8 *)tmpptr, strlen(tmpptr));
-
- g_free(tmpptr);
- }
- g_free(localcpy);
-
- aim_tx_enqueue(sess, fr);
-
- return 0;
-}
-
static int snachandler(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)
{