X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Firssi%2Fsrc%2Fsilc%2Fcore%2Fsilc-servers.c;fp=apps%2Firssi%2Fsrc%2Fsilc%2Fcore%2Fsilc-servers.c;h=9dd1c8e25030a81b18c99fcef6c70540e3c327fd;hb=3192ac4ddd09cd3fabe10a88cd5c885f217650a4;hp=e16fb02cdc056fef1116a982f49259c3bf0d7483;hpb=711fe01f210030b40ce0aeceb1c18526632ba5b8;p=silc.git diff --git a/apps/irssi/src/silc/core/silc-servers.c b/apps/irssi/src/silc/core/silc-servers.c index e16fb02c..9dd1c8e2 100644 --- a/apps/irssi/src/silc/core/silc-servers.c +++ b/apps/irssi/src/silc/core/silc-servers.c @@ -1,7 +1,7 @@ /* silc-server.c : irssi - Copyright (C) 2000 - 2007 Timo Sirainen + Copyright (C) 2000 - 2008 Timo Sirainen Pekka Riikonen This program is free software; you can redistribute it and/or modify @@ -415,6 +415,7 @@ static void sig_connected_stream_created(SilcSocketStreamStatus status, params.timeout_secs = settings_get_int("key_exchange_timeout_secs"); params.rekey_secs = settings_get_int("key_exchange_rekey_secs"); params.pfs = settings_get_bool("key_exchange_rekey_pfs"); + params.context = server; /* Try to read detached session data and use it if found. */ file = silc_get_session_filename(server); @@ -466,6 +467,12 @@ static void sig_disconnected(SILC_SERVER_REC *server) if (!IS_SILC_SERVER(server)) return; + /* If we have a prompt in progress, then abort it. */ + if (server->prompt_op) { + silc_async_abort(server->prompt_op, NULL, NULL); + server->prompt_op = NULL; + } + if (server->conn) { /* Close connection */ silc_client_close_connection(silc_client, server->conn);