From c45089af69508f323ab96e04abac6bf9bcf75244 Mon Sep 17 00:00:00 2001 From: "Antenore Gatta (tmow)" Date: Mon, 10 Jan 2022 11:02:11 +0100 Subject: Adding per plugin AUDIT traces --- src/remmina_ssh_plugin.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/remmina_ssh_plugin.c') diff --git a/src/remmina_ssh_plugin.c b/src/remmina_ssh_plugin.c index 13928df96..a89805031 100644 --- a/src/remmina_ssh_plugin.c +++ b/src/remmina_ssh_plugin.c @@ -232,6 +232,8 @@ typedef struct _RemminaPluginSshData { pthread_t thread; + gboolean closed; + RemminaSshSearch * search_widget; } RemminaPluginSshData; @@ -330,6 +332,15 @@ remmina_plugin_ssh_main_thread(gpointer data) remmina_plugin_service->protocol_plugin_set_error(gp, "%s", ssh->error); break; } + gchar *server; + gint port; + remmina_plugin_service->get_server_port(remmina_plugin_service->file_get_string(remminafile, "server"), + 22, + &server, + &port); + + REMMINA_AUDIT(_("Connected to %s:%d via SSH"), server, port); + g_free(server), server = NULL; break; case REMMINA_SSH_AUTH_PARTIAL: REMMINA_DEBUG("Continue with the next auth method"); @@ -892,9 +903,24 @@ remmina_plugin_ssh_eof(VteTerminal *vteterminal, RemminaProtocolWidget *gp) TRACE_CALL(__func__); RemminaFile *remminafile = remmina_plugin_service->protocol_plugin_get_file(gp); + RemminaPluginSshData *gpdata = GET_PLUGIN_DATA(gp); + + if (gpdata->closed) + return; if (remmina_file_get_int(remminafile, "sshlogenabled", FALSE)) remmina_plugin_ssh_vte_save_session(NULL, gp); + + gchar *server; + gint port; + remmina_plugin_service->get_server_port(remmina_plugin_service->file_get_string(remminafile, "server"), + 22, + &server, + &port); + + REMMINA_AUDIT(_("Disconnected from %s:%d via SSH"), server, port); + g_free(server), server = NULL; + gpdata->closed = TRUE; } /** @@ -932,6 +958,8 @@ remmina_plugin_ssh_init(RemminaProtocolWidget *gp) gpdata = g_new0(RemminaPluginSshData, 1); g_object_set_data_full(G_OBJECT(gp), "plugin-data", gpdata, g_free); + gpdata->closed = FALSE; + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_widget_show(hbox); gtk_container_add(GTK_CONTAINER(gp), hbox); -- cgit v1.2.3