Changeset af9f2ca


Ignore:
Timestamp:
2010-07-11T10:59:56Z (9 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
133cdff
Parents:
1e52e1f
Message:

Added allow_takeover setting for people who don't like this new functionality.

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • doc/user-guide/commands.xml

    r1e52e1f raf9f2ca  
    421421        </bitlbee-setting>
    422422
     423        <bitlbee-setting name="allow_takeover" type="boolean" scope="global">
     424                <default>true</default>
     425
     426                <description>
     427                        <para>
     428                                When you're already connected to a BitlBee server and you connect (and identify) again, BitlBee will offer to migrate your existing session to the new connection. If for whatever reason you don't want this, you can disable this setting.
     429                        </para>
     430                </description>
     431        </bitlbee-setting>
     432
    423433        <bitlbee-setting name="auto_connect" type="boolean" scope="both">
    424434                <default>true</default>
  • ipc.c

    r1e52e1f raf9f2ca  
    317317        {
    318318                /* Master->New connection */
     319                if( !set_getbool( &irc->b->set, "allow_takeover" ) )
     320                {
     321                        ipc_child_cmd_takeover_no( irc );
     322                        return;
     323                }
     324               
    319325                /* Offer to take over the old session, unless for some reason
    320326                   we're already logging into IM connections. */
     
    336342                    ipc_child_recv_fd != -1 &&
    337343                    strcmp( irc->user->nick, cmd[2] ) == 0 &&
    338                     strcmp( irc->password, cmd[3] ) == 0 )
     344                    strcmp( irc->password, cmd[3] ) == 0 &&
     345                    set_getbool( &irc->b->set, "allow_takeover" ) )
    339346                {
    340347                        irc_switch_fd( irc, ipc_child_recv_fd );
     
    464471                                break;
    465472                }
    466                 if( l == NULL )
     473                if( l == NULL ||
     474                    !set_getbool( &irc->b->set, "allow_takeover" ) ||
     475                    !set_getbool( &old->b->set, "allow_takeover" ) )
    467476                        return FALSE;
    468477               
  • irc.c

    r1e52e1f raf9f2ca  
    100100        b->ui = &irc_ui_funcs;
    101101       
     102        s = set_add( &b->set, "allow_takeover", "true", set_eval_bool, irc );
    102103        s = set_add( &b->set, "away_devoice", "true", set_eval_away_devoice, irc );
    103104        s = set_add( &b->set, "away_reply_timeout", "3600", set_eval_int, irc );
     
    659660        {
    660661                b_event_remove( irc->w_watch_source_id );
     662                irc->w_watch_source_id = 0;
    661663                g_free( irc->sendbuffer );
    662                 irc->sendbuffer = irc->w_watch_source_id = 0;
     664                irc->sendbuffer = NULL;
    663665        }
    664666       
  • root_commands.c

    r1e52e1f raf9f2ca  
    175175                if( !ipc_child_identify( irc ) && load &&
    176176                    set_getbool( &irc->b->set, "auto_connect" ) )
    177                 {
    178                         b_event_remove( irc->login_source_id );
    179                         irc->login_source_id = -1;
    180177                        cmd_identify_finish( irc, 0, 0 );
    181                 }
    182178               
    183179                break;
     
    196192        cmd_account( irc, account_on );
    197193       
     194        b_event_remove( irc->login_source_id );
    198195        irc->login_source_id = -1;
    199196        return FALSE;
Note: See TracChangeset for help on using the changeset viewer.