diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-07-11 11:59:56 +0100 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-07-11 11:59:56 +0100 |
commit | af9f2ca883354a47635d130ff5e7bd693a200a29 (patch) | |
tree | b048cd3da23394f98fb00406daf25d49f2960702 /ipc.c | |
parent | 1e52e1ff518987092cfe94bc5c9c4479ed535019 (diff) |
Added allow_takeover setting for people who don't like this new functionality.
Diffstat (limited to 'ipc.c')
-rw-r--r-- | ipc.c | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -316,6 +316,12 @@ static void ipc_child_cmd_takeover( irc_t *irc, char **cmd ) else if( strcmp( cmd[1], "INIT" ) == 0 ) { /* Master->New connection */ + if( !set_getbool( &irc->b->set, "allow_takeover" ) ) + { + ipc_child_cmd_takeover_no( irc ); + return; + } + /* Offer to take over the old session, unless for some reason we're already logging into IM connections. */ if( irc->login_source_id != -1 ) @@ -335,7 +341,8 @@ static void ipc_child_cmd_takeover( irc_t *irc, char **cmd ) if( irc->password && cmd[2] && cmd[3] && ipc_child_recv_fd != -1 && strcmp( irc->user->nick, cmd[2] ) == 0 && - strcmp( irc->password, cmd[3] ) == 0 ) + strcmp( irc->password, cmd[3] ) == 0 && + set_getbool( &irc->b->set, "allow_takeover" ) ) { irc_switch_fd( irc, ipc_child_recv_fd ); irc_sync( irc ); @@ -463,7 +470,9 @@ gboolean ipc_child_identify( irc_t *irc ) strcmp( irc->password, old->password ) == 0 ) break; } - if( l == NULL ) + if( l == NULL || + !set_getbool( &irc->b->set, "allow_takeover" ) || + !set_getbool( &old->b->set, "allow_takeover" ) ) return FALSE; ipc_child_cmd_takeover( irc, to_init ); |