Changeset 5a71d9c for irc.c


Ignore:
Timestamp:
2008-02-09T17:58:13Z (16 years ago)
Author:
Sven Moritz Hallberg <sm@…>
Branches:
master
Children:
f55cfe9
Parents:
a13855a
Message:
  • add support for setting ops/voice according to OTR msgstate
  • add 'otr trust' user command
  • support non-otr messages during keygen
  • run otr messages through strip_html
  • interpret <b> and <i> tags in html messages
  • record max message size in prpl
  • add 'encrypted' flag to user_t
  • cosmetics
File:
1 edited

Legend:

Unmodified
Added
Removed
  • irc.c

    ra13855a r5a71d9c  
    102102
    103103        irc_connection_list = g_slist_append( irc_connection_list, irc );
    104        
    105         set_add( &irc->set, "away_devoice", "true",  set_eval_away_devoice, irc );
     104
    106105        set_add( &irc->set, "auto_connect", "true", set_eval_bool, irc );
    107106        set_add( &irc->set, "auto_reconnect", "false", set_eval_bool, irc );
     
    115114        set_add( &irc->set, "handle_unknown", "root", NULL, irc );
    116115        set_add( &irc->set, "lcnicks", "true", set_eval_bool, irc );
    117         set_add( &irc->set, "ops", "both", set_eval_ops, irc );
     116        set_add( &irc->set, "op_buddies", "false", set_eval_op_buddies, irc );
     117        set_add( &irc->set, "op_root", "true", set_eval_op_root, irc );
     118        set_add( &irc->set, "op_user", "true", set_eval_op_user, irc );
    118119        set_add( &irc->set, "password", NULL, passchange, irc );
    119120        set_add( &irc->set, "private", "true", set_eval_bool, irc );
     
    124125        set_add( &irc->set, "to_char", ": ", set_eval_to_char, irc );
    125126        set_add( &irc->set, "typing_notice", "false", set_eval_bool, irc );
     127        set_add( &irc->set, "voice_buddies", "notaway",  set_eval_voice_buddies, irc );
    126128       
    127129        conf_loaddefaults( irc );
     
    643645        char namelist[385] = "";
    644646        struct groupchat *c = NULL;
    645         char *ops = set_getstr( &irc->set, "ops" );
     647        char *oo = set_getstr(&irc->set, "op_buddies");
     648        char *vo = set_getstr(&irc->set, "voice_buddies");
    646649       
    647650        /* RFCs say there is no error reply allowed on NAMES, so when the
     
    658661                        }
    659662                       
    660                         if( u->ic && !u->away && set_getbool( &irc->set, "away_devoice" ) )
     663                        if( u->ic && !u->away && !strcmp(vo, "notaway") )
    661664                                strcat( namelist, "+" );
    662                         else if( ( strcmp( u->nick, irc->mynick ) == 0 && ( strcmp( ops, "root" ) == 0 || strcmp( ops, "both" ) == 0 ) ) ||
    663                                  ( strcmp( u->nick, irc->nick ) == 0 && ( strcmp( ops, "user" ) == 0 || strcmp( ops, "both" ) == 0 ) ) )
     665                        else if( ( strcmp( u->nick, irc->mynick ) == 0 && set_getbool(&irc->set, "op_root") ) ||
     666                                 ( strcmp( u->nick, irc->nick ) == 0 && set_getbool(&irc->set, "op_user") ) ||
     667                                 ( !u->away && !strcmp(oo, "notaway") ) ||
     668                                 ( u->encrypted>1 && !strcmp(oo, "trusted") ) ||
     669                                 ( u->encrypted && !strcmp(oo, "encrypted") ) )
    664670                                strcat( namelist, "@" );
    665671                       
     
    674680                /* root and the user aren't in the channel userlist but should
    675681                   show up in /NAMES, so list them first: */
    676                 sprintf( namelist, "%s%s %s%s ", strcmp( ops, "root" ) == 0 || strcmp( ops, "both" ) ? "@" : "", irc->mynick,
    677                                                  strcmp( ops, "user" ) == 0 || strcmp( ops, "both" ) ? "@" : "", irc->nick );
    678                
     682                sprintf( namelist, "%s%s %s%s ", set_getbool(&irc->set, "op_root") ? "@" : "", irc->mynick,
     683                                                 set_getbool(&irc->set, "op_user") ? "@" : "", irc->nick );
     684               
     685                /* TODO: Honor op/voice_buddies in chats?! */
    679686                for( l = c->in_room; l; l = l->next ) if( ( u = user_findhandle( c->ic, l->data ) ) )
    680687                {
Note: See TracChangeset for help on using the changeset viewer.