Changeset 0eb971a for protocols/oscar


Ignore:
Timestamp:
2012-10-19T22:39:10Z (12 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
386042c
Parents:
13df515
Message:

Removing some fully dead code.

Location:
protocols/oscar
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • protocols/oscar/aim.h

    r13df515 r0eb971a  
    606606int aim_flap_nop(aim_session_t *sess, aim_conn_t *conn);
    607607int aim_bos_setidle(aim_session_t *, aim_conn_t *, guint32);
    608 int aim_bos_changevisibility(aim_session_t *, aim_conn_t *, int, const char *);
    609608int aim_bos_setbuddylist(aim_session_t *, aim_conn_t *, const char *);
    610609int aim_bos_setprofile(aim_session_t *sess, aim_conn_t *conn, const char *profile, const char *awaymsg, guint32 caps);
  • protocols/oscar/bos.c

    r13df515 r0eb971a  
    5656}
    5757
    58 /*
    59  * Modify permit/deny lists (group 9, types 5, 6, 7, and 8)
    60  *
    61  * Changes your visibility depending on changetype:
    62  *
    63  *  AIM_VISIBILITYCHANGE_PERMITADD: Lets provided list of names see you
    64  *  AIM_VISIBILITYCHANGE_PERMIDREMOVE: Removes listed names from permit list
    65  *  AIM_VISIBILITYCHANGE_DENYADD: Hides you from provided list of names
    66  *  AIM_VISIBILITYCHANGE_DENYREMOVE: Lets list see you again
    67  *
    68  * list should be a list of
    69  * screen names in the form "Screen Name One&ScreenNameTwo&" etc.
    70  *
    71  * Equivelents to options in WinAIM:
    72  *   - Allow all users to contact me: Send an AIM_VISIBILITYCHANGE_DENYADD
    73  *      with only your name on it.
    74  *   - Allow only users on my Buddy List: Send an
    75  *      AIM_VISIBILITYCHANGE_PERMITADD with the list the same as your
    76  *      buddy list
    77  *   - Allow only the uesrs below: Send an AIM_VISIBILITYCHANGE_PERMITADD
    78  *      with everyone listed that you want to see you.
    79  *   - Block all users: Send an AIM_VISIBILITYCHANGE_PERMITADD with only
    80  *      yourself in the list
    81  *   - Block the users below: Send an AIM_VISIBILITYCHANGE_DENYADD with
    82  *      the list of users to be blocked
    83  *
    84  * XXX ye gods.
    85  */
    86 int aim_bos_changevisibility(aim_session_t *sess, aim_conn_t *conn, int changetype, const char *denylist)
    87 {
    88         aim_frame_t *fr;
    89         int packlen = 0;
    90         guint16 subtype;
    91         char *localcpy = NULL, *tmpptr = NULL;
    92         int i;
    93         int listcount;
    94         aim_snacid_t snacid;
    95 
    96         if (!denylist)
    97                 return -EINVAL;
    98 
    99         if (changetype == AIM_VISIBILITYCHANGE_PERMITADD)
    100                 subtype = 0x05;
    101         else if (changetype == AIM_VISIBILITYCHANGE_PERMITREMOVE)
    102                 subtype = 0x06;
    103         else if (changetype == AIM_VISIBILITYCHANGE_DENYADD)
    104                 subtype = 0x07;
    105         else if (changetype == AIM_VISIBILITYCHANGE_DENYREMOVE)
    106                 subtype = 0x08;
    107         else
    108                 return -EINVAL;
    109 
    110         localcpy = g_strdup(denylist);
    111 
    112         listcount = aimutil_itemcnt(localcpy, '&');
    113         packlen = aimutil_tokslen(localcpy, 99, '&') + listcount + 9;
    114 
    115         if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, packlen))) {
    116                 g_free(localcpy);
    117                 return -ENOMEM;
    118         }
    119 
    120         snacid = aim_cachesnac(sess, 0x0009, subtype, 0x0000, NULL, 0);
    121         aim_putsnac(&fr->data, 0x0009, subtype, 0x00, snacid);
    122 
    123         for (i = 0; (i < (listcount - 1)) && (i < 99); i++) {
    124                 tmpptr = aimutil_itemidx(localcpy, i, '&');
    125 
    126                 aimbs_put8(&fr->data, strlen(tmpptr));
    127                 aimbs_putraw(&fr->data, (guint8 *)tmpptr, strlen(tmpptr));
    128 
    129                 g_free(tmpptr);
    130         }
    131         g_free(localcpy);
    132 
    133         aim_tx_enqueue(sess, fr);
    134 
    135         return 0;
    136 }
    137 
    13858static int snachandler(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs)
    13959{
  • protocols/oscar/oscar.c

    r13df515 r0eb971a  
    21032103}
    21042104
    2105 static void oscar_set_permit_deny(struct im_connection *ic) {
    2106         struct oscar_data *od = (struct oscar_data *)ic->proto_data;
    2107         if (od->icq) {
    2108                 GSList *list;
    2109                 char buf[MAXMSGLEN];
    2110                 int at;
    2111 
    2112                 switch(ic->permdeny) {
    2113                 case 1:
    2114                         aim_bos_changevisibility(od->sess, od->conn, AIM_VISIBILITYCHANGE_DENYADD, ic->acc->user);
    2115                         break;
    2116                 case 2:
    2117                         aim_bos_changevisibility(od->sess, od->conn, AIM_VISIBILITYCHANGE_PERMITADD, ic->acc->user);
    2118                         break;
    2119                 case 3:
    2120                         list = ic->permit;
    2121                         at = 0;
    2122                         while (list) {
    2123                                 at += g_snprintf(buf + at, sizeof(buf) - at, "%s&", (char *)list->data);
    2124                                 list = list->next;
    2125                         }
    2126                         aim_bos_changevisibility(od->sess, od->conn, AIM_VISIBILITYCHANGE_PERMITADD, buf);
    2127                         break;
    2128                 case 4:
    2129                         list = ic->deny;
    2130                         at = 0;
    2131                         while (list) {
    2132                                 at += g_snprintf(buf + at, sizeof(buf) - at, "%s&", (char *)list->data);
    2133                                 list = list->next;
    2134                         }
    2135                         aim_bos_changevisibility(od->sess, od->conn, AIM_VISIBILITYCHANGE_DENYADD, buf);
    2136                         break;
    2137                         default:
    2138                         break;
    2139                 }
    2140         } else {
    2141                 if (od->sess->ssi.received_data)
    2142                         aim_ssi_setpermdeny(od->sess, od->conn, ic->permdeny, 0xffffffff);
    2143         }
    2144 }
    2145 
    21462105static void oscar_add_permit(struct im_connection *ic, char *who) {
    21472106        struct oscar_data *od = (struct oscar_data *)ic->proto_data;
     
    26242583        ret->rem_permit = oscar_rem_permit;
    26252584        ret->rem_deny = oscar_rem_deny;
    2626         ret->set_permit_deny = oscar_set_permit_deny;
    26272585        ret->send_typing = oscar_send_typing;
    26282586       
  • protocols/oscar/ssi.c

    r13df515 r0eb971a  
    10001000
    10011001/**
    1002  * Stores your permit/deny setting on the server, and starts using it.
    1003  *
    1004  * @param sess The oscar session.
    1005  * @param conn The bos connection for this session.
    1006  * @param permdeny Your permit/deny setting.  Can be one of the following:
    1007  *        1 - Allow all users
    1008  *        2 - Block all users
    1009  *        3 - Allow only the users below
    1010  *        4 - Block only the users below
    1011  *        5 - Allow only users on my buddy list
    1012  * @param vismask A bitmask of the class of users to whom you want to be
    1013  *        visible.  See the AIM_FLAG_BLEH #defines in aim.h
    1014  * @return Return 0 if no errors, otherwise return the error number.
    1015  */
    1016 int aim_ssi_setpermdeny(aim_session_t *sess, aim_conn_t *conn, guint8 permdeny, guint32 vismask) {
    1017         struct aim_ssi_item *cur; //, *tmp;
    1018 //      guint16 j;
    1019         aim_tlv_t *tlv;
    1020 
    1021         if (!sess || !conn)
    1022                 return -EINVAL;
    1023 
    1024         /* Look up the permit/deny settings item */
    1025         cur = aim_ssi_itemlist_finditem(sess->ssi.items, NULL, NULL, AIM_SSI_TYPE_PDINFO);
    1026 
    1027         if (cur) {
    1028                 /* The permit/deny item exists */
    1029                 if (cur->data && (tlv = aim_gettlv(cur->data, 0x00ca, 1))) {
    1030                         /* Just change the value of the x00ca TLV */
    1031                         if (tlv->length != 1) {
    1032                                 tlv->length = 1;
    1033                                 g_free(tlv->value);
    1034                                 tlv->value = (guint8 *)g_malloc(sizeof(guint8));
    1035                         }
    1036                         tlv->value[0] = permdeny;
    1037                 } else {
    1038                         /* Need to add the x00ca TLV to the TLV chain */
    1039                         aim_addtlvtochain8((aim_tlvlist_t**)&cur->data, 0x00ca, permdeny);
    1040                 }
    1041 
    1042                 if (cur->data && (tlv = aim_gettlv(cur->data, 0x00cb, 1))) {
    1043                         /* Just change the value of the x00cb TLV */
    1044                         if (tlv->length != 4) {
    1045                                 tlv->length = 4;
    1046                                 g_free(tlv->value);
    1047                                 tlv->value = (guint8 *)g_malloc(4*sizeof(guint8));
    1048                         }
    1049                         aimutil_put32(tlv->value, vismask);
    1050                 } else {
    1051                         /* Need to add the x00cb TLV to the TLV chain */
    1052                         aim_addtlvtochain32((aim_tlvlist_t**)&cur->data, 0x00cb, vismask);
    1053                 }
    1054 
    1055                 /* Send the mod item SNAC */
    1056                 aim_ssi_addmoddel(sess, conn, &cur, 1, AIM_CB_SSI_MOD);
    1057         } else {
    1058                 /* Need to add the permit/deny item */
    1059                 if (!(cur = aim_ssi_itemlist_add(&sess->ssi.items, NULL, NULL, AIM_SSI_TYPE_PDINFO)))
    1060                         return -ENOMEM;
    1061                 aim_addtlvtochain8((aim_tlvlist_t**)&cur->data, 0x00ca, permdeny);
    1062                 aim_addtlvtochain32((aim_tlvlist_t**)&cur->data, 0x00cb, vismask);
    1063                 aim_ssi_addmoddel(sess, conn, &cur, 1, AIM_CB_SSI_ADD);
    1064         }
    1065 
    1066         /* Begin sending SSI SNACs */
    1067         aim_ssi_dispatch(sess, conn);
    1068 
    1069         return 0;
    1070 }
    1071 
    1072 /**
    10731002 * Stores your setting for whether you should show up as idle or not.
    10741003 *
  • protocols/oscar/ssi.h

    r13df515 r0eb971a  
    7171int aim_ssi_deletelist(aim_session_t *sess, aim_conn_t *conn);
    7272int aim_ssi_delpord(aim_session_t *sess, aim_conn_t *conn, char **sn, unsigned int num, guint16 type);
    73 int aim_ssi_setpermdeny(aim_session_t *sess, aim_conn_t *conn, guint8 permdeny, guint32 vismask);
    7473int aim_ssi_setpresence(aim_session_t *sess, aim_conn_t *conn, guint32 presence);
    7574int aim_ssi_auth_request(aim_session_t *sess, aim_conn_t *conn, char *uin, char *reason);
Note: See TracChangeset for help on using the changeset viewer.