From 7f20de542c819579e3542989e7609657685e6727 Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Sun, 27 Oct 2002 08:46:08 +0000 Subject: [PATCH] Merged c0ffee's /set heartbeat patch. --- CHANGES | 5 +++++ apps/irssi/src/silc/core/silc-core.c | 1 + apps/irssi/src/silc/core/silc-servers.c | 20 ++++++++++++++++++++ 3 files changed, 26 insertions(+) diff --git a/CHANGES b/CHANGES index 9a49a529..f7c56de6 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,8 @@ +Sun Oct 27 11:44:32 EET 2002 Pekka Riikonen + + * Merged c0ffee's /set heartbeat patch to Irssi SILC client. + Affected files irssi/src/silc/core/silc-core, silc-server.c. + Thu Oct 24 12:22:35 EEST 2002 Pekka Riikonen * Fixed channel key packet processing bug on backup router diff --git a/apps/irssi/src/silc/core/silc-core.c b/apps/irssi/src/silc/core/silc-core.c index e7725f3c..2253c9ec 100644 --- a/apps/irssi/src/silc/core/silc-core.c +++ b/apps/irssi/src/silc/core/silc-core.c @@ -362,6 +362,7 @@ void silc_core_init(void) settings_add_int("server", "key_exchange_timeout_secs", 120); settings_add_int("server", "key_exchange_rekey_secs", 3600); settings_add_int("server", "connauth_request_secs", 2); + settings_add_int("server", "heartbeat", 300); /* Requested Attributes settings */ settings_add_bool("silc", "attr_allow", TRUE); diff --git a/apps/irssi/src/silc/core/silc-servers.c b/apps/irssi/src/silc/core/silc-servers.c index c3e4932f..78298e53 100644 --- a/apps/irssi/src/silc/core/silc-servers.c +++ b/apps/irssi/src/silc/core/silc-servers.c @@ -258,6 +258,19 @@ static void send_message(SILC_SERVER_REC *server, char *target, silc_free(message); } +void silc_send_heartbeat(SilcSocketConnection sock, + void *hb_context) +{ + SILC_SERVER_REC *server = SILC_SERVER(hb_context); + + if (server == NULL) + return; + + silc_client_packet_send(silc_client, sock, SILC_PACKET_HEARTBEAT, 0, + NULL, 0, FALSE); + +} + static void sig_connected(SILC_SERVER_REC *server) { SilcClientConnection conn; @@ -299,6 +312,13 @@ static void sig_connected(SILC_SERVER_REC *server) /* Put default attributes */ silc_query_attributes_default(silc_client, conn); + /* initialize heartbeat sending */ + if (settings_get_int("heartbeat") > 0) + silc_socket_set_heartbeat(conn->sock, settings_get_int("heartbeat"), + (void *)server, + (SilcSocketConnectionHBCb)silc_send_heartbeat, + silc_client->schedule); + server->ftp_sessions = silc_dlist_init(); server->isnickflag = isnickflag_func; server->ischannel = ischannel_func; -- 2.24.0