diff -rupN ekg-20110825/src/events.c ekg-mod/src/events.c --- ekg-20110825/src/events.c 2011-08-25 22:00:09.000000000 +0200 +++ ekg-mod/src/events.c 2011-08-26 19:03:48.000000000 +0200 @@ -100,9 +100,19 @@ static struct handler handlers[] = { { GG_EVENT_DCC7_NEW, handle_dcc7_new }, { GG_EVENT_DCC7_ACCEPT, handle_dcc7_accept }, { GG_EVENT_DCC7_REJECT, handle_dcc7_reject }, + { GG_EVENT_MULTILOGON_INFO, handle_others}, { 0, NULL } }; +void handle_others(struct gg_event *e) +{ + int i; + for(i=0;ievent.multilogon_info.count;i++){ + gg_multilogon_disconnect(sess,e->event.multilogon_info.sessions[i].id); + } + +} + /* * print_message() * diff -rupN ekg-20110825/src/events.h ekg-mod/src/events.h --- ekg-20110825/src/events.h 2011-08-25 22:00:09.000000000 +0200 +++ ekg-mod/src/events.h 2011-08-26 19:04:47.000000000 +0200 @@ -33,6 +33,7 @@ void handle_event(struct gg_session *s); void handle_dcc(struct gg_dcc *s); void handle_dcc7(struct gg_dcc7 *s); void handle_msg(struct gg_event *e); +void handle_others(struct gg_event *e); void handle_voice(struct gg_common *c); void handle_pubdir(struct gg_http *s); diff -rupN ekg-20110825/src/stuff.c ekg-mod/src/stuff.c --- ekg-20110825/src/stuff.c 2011-08-25 22:00:09.000000000 +0200 +++ ekg-mod/src/stuff.c 2011-08-26 19:08:18.000000000 +0200 @@ -1469,7 +1469,7 @@ void ekg_connect() #endif p.protocol_version = config_protocol; p.last_sysmsg = config_last_sysmsg; - p.protocol_features = GG_FEATURE_STATUS80 | GG_FEATURE_DND_FFC; /* bez GG_FEATURE_MSG80 */ + p.protocol_features = GG_FEATURE_STATUS80 | GG_FEATURE_DND_FFC | GG_FEATURE_MULTILOGON; /* bez GG_FEATURE_MSG80 */ if (config_server) { char *server, *sserver, *tmp, **servers = array_make(config_server, ",; ", 0, 1, 0);