Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/oscar/oscar.c

    r5469952 r545d7c0  
    373373        set_t *s;
    374374       
    375         s = set_add( &acc->set, "server", AIM_DEFAULT_LOGIN_SERVER, set_eval_account, acc );
     375        if (isdigit(acc->user[0])) {
     376                set_add(&acc->set, "ignore_auth_requests", "false", set_eval_bool, acc);
     377        }
     378       
     379        s = set_add(&acc->set, "server", AIM_DEFAULT_LOGIN_SERVER, set_eval_account, acc);
    376380        s->flags |= ACC_SET_NOSAVE | ACC_SET_OFFLINE_ONLY;
    377381       
    378         if (isdigit(acc->user[0])) {
    379                 s = set_add( &acc->set, "web_aware", "false", set_eval_bool, acc );
     382        if(isdigit(acc->user[0])) {
     383                s = set_add(&acc->set, "web_aware", "false", set_eval_bool, acc);
    380384                s->flags |= ACC_SET_OFFLINE_ONLY;
    381385        }
     386       
     387        acc->flags |= ACC_FLAG_AWAY_MESSAGE;
    382388}
    383389
     
    12101216 */
    12111217static void gaim_icq_authask(struct im_connection *ic, guint32 uin, char *msg) {
    1212         struct icq_auth *data = g_new(struct icq_auth, 1);
     1218        struct icq_auth *data;
    12131219        char *reason = NULL;
    12141220        char *dialog_msg;
    1215        
     1221
     1222        if (set_getbool(&ic->acc->set, "ignore_auth_requests"))
     1223                return;
     1224       
     1225        data = g_new(struct icq_auth, 1);
     1226
    12161227        if (strlen(msg) > 6)
    12171228                reason = msg + 6;
     
    19521963static void oscar_set_away_aim(struct im_connection *ic, struct oscar_data *od, const char *state, const char *message)
    19531964{
     1965        if (state == NULL)
     1966                state = "";
    19541967
    19551968        if (!g_strcasecmp(state, _("Visible"))) {
     
    19591972                aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_INVISIBLE);
    19601973                return;
    1961         } /* else... */
     1974        } else if (message == NULL) {
     1975                message = state;
     1976        }
    19621977
    19631978        if (od->rights.maxawaymsglen == 0)
     
    20022017        }
    20032018
    2004         if (!g_strcasecmp(state, "Online")) {
     2019        if (state == NULL) {
    20052020                aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_NORMAL);
    20062021        } else if (!g_strcasecmp(state, "Away")) {
     
    20272042                aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_INVISIBLE);
    20282043                ic->away = g_strdup(msg);
    2029         } else if (!g_strcasecmp(state, GAIM_AWAY_CUSTOM)) {
     2044        } else {
    20302045                if (no_message) {
    20312046                        aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_NORMAL);
     
    22762291{
    22772292        struct oscar_data *od = ic->proto_data;
    2278         GList *m = NULL;
    2279 
    2280         if (!od->icq)
    2281                 return g_list_append(m, GAIM_AWAY_CUSTOM);
    2282 
    2283         m = g_list_append(m, "Online");
    2284         m = g_list_append(m, "Away");
    2285         m = g_list_append(m, "Do Not Disturb");
    2286         m = g_list_append(m, "Not Available");
    2287         m = g_list_append(m, "Occupied");
    2288         m = g_list_append(m, "Free For Chat");
    2289         m = g_list_append(m, "Invisible");
    2290 
    2291         return m;
     2293
     2294        if (od->icq) {
     2295                static GList *m = NULL;
     2296                m = g_list_append(m, "Away");
     2297                m = g_list_append(m, "Do Not Disturb");
     2298                m = g_list_append(m, "Not Available");
     2299                m = g_list_append(m, "Occupied");
     2300                m = g_list_append(m, "Free For Chat");
     2301                m = g_list_append(m, "Invisible");
     2302                return m;
     2303        } else {
     2304                static GList *m = NULL;
     2305                m = g_list_append(m, "Away");
     2306                return m;
     2307        }
    22922308}
    22932309
Note: See TracChangeset for help on using the changeset viewer.