From 8131c6745a30e8cbb1375bf41c55cc40ef2e9d61 Mon Sep 17 00:00:00 2001 From: "antenore@simbiosi.org" Date: Tue, 8 Sep 2015 23:49:58 +0200 Subject: [PATCH 1/2] log verbosity added in remmina preferences --- remmina/include/remmina/plugin.h | 5 +- remmina/src/remmina_plugin_manager.c | 1 + remmina/src/remmina_pref.c | 12 +++ remmina/src/remmina_pref.h | 3 + remmina/src/remmina_pref_dialog.c | 3 + remmina/src/remmina_pref_dialog.h | 1 + remmina/ui/remmina_preferences.glade | 105 +++++++++++++++++---------- 7 files changed, 91 insertions(+), 39 deletions(-) diff --git a/remmina/include/remmina/plugin.h b/remmina/include/remmina/plugin.h index 1836289c60..fb85b9cd1a 100644 --- a/remmina/include/remmina/plugin.h +++ b/remmina/include/remmina/plugin.h @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. * * In addition, as a special exception, the copyright holders give @@ -210,6 +210,7 @@ typedef struct _RemminaPluginService gchar* (* pref_get_value) (const gchar *key); gint (* pref_get_scale_quality) (void); gint (* pref_get_sshtunnel_port) (void); + gint (* pref_get_ssh_loglevel) (void); guint (* pref_keymap_get_keyval) (const gchar *keymap, guint keyval); void (* log_print) (const gchar *text); @@ -218,7 +219,7 @@ typedef struct _RemminaPluginService void (* ui_register) (GtkWidget *widget); GtkWidget* (* open_connection) (RemminaFile *remminafile, GCallback disconnect_cb, gpointer data, guint *handler); - void (* get_server_port) (const gchar *server, gint defaultport, gchar **host, gint *port); + void (* get_server_port) (const gchar *server, gint defaultport, gchar **host, gint *port); gboolean (* is_main_thread) (void); } RemminaPluginService; diff --git a/remmina/src/remmina_plugin_manager.c b/remmina/src/remmina_plugin_manager.c index 4eb2c01808..6461cec154 100644 --- a/remmina/src/remmina_plugin_manager.c +++ b/remmina/src/remmina_plugin_manager.c @@ -140,6 +140,7 @@ RemminaPluginService remmina_plugin_manager_service = remmina_pref_get_value, remmina_pref_get_scale_quality, remmina_pref_get_sshtunnel_port, + remmina_pref_get_ssh_loglevel, remmina_pref_keymap_get_keyval, remmina_log_print, diff --git a/remmina/src/remmina_pref.c b/remmina/src/remmina_pref.c index 67f02f84e1..6a9c859474 100644 --- a/remmina/src/remmina_pref.c +++ b/remmina/src/remmina_pref.c @@ -302,6 +302,11 @@ void remmina_pref_init(void) else remmina_pref.toolbar_pin_down = FALSE; + if (g_key_file_has_key(gkeyfile, "remmina_pref", "ssh_loglevel", NULL)) + remmina_pref.ssh_loglevel = g_key_file_get_integer(gkeyfile, "remmina_pref", "ssh_loglevel", NULL); + else + remmina_pref.ssh_loglevel = DEFAULT_SSH_LOGLEVEL; + if (g_key_file_has_key(gkeyfile, "remmina_pref", "sshtunnel_port", NULL)) remmina_pref.sshtunnel_port = g_key_file_get_integer(gkeyfile, "remmina_pref", "sshtunnel_port", NULL); else @@ -502,6 +507,7 @@ void remmina_pref_save(void) g_key_file_set_boolean(gkeyfile, "remmina_pref", "hide_connection_toolbar", remmina_pref.hide_connection_toolbar); g_key_file_set_integer(gkeyfile, "remmina_pref", "default_action", remmina_pref.default_action); g_key_file_set_integer(gkeyfile, "remmina_pref", "scale_quality", remmina_pref.scale_quality); + g_key_file_set_integer(gkeyfile, "remmina_pref", "ssh_loglevel", remmina_pref.ssh_loglevel); g_key_file_set_boolean(gkeyfile, "remmina_pref", "hide_toolbar", remmina_pref.hide_toolbar); g_key_file_set_boolean(gkeyfile, "remmina_pref", "hide_statusbar", remmina_pref.hide_statusbar); g_key_file_set_boolean(gkeyfile, "remmina_pref", "show_quick_search", remmina_pref.show_quick_search); @@ -701,6 +707,12 @@ gint remmina_pref_get_scale_quality(void) return remmina_pref.scale_quality; } +gint remmina_pref_get_ssh_loglevel(void) +{ + TRACE_CALL("remmina_pref_get_ssh_loglevel"); + return remmina_pref.ssh_loglevel; +} + gint remmina_pref_get_sshtunnel_port(void) { TRACE_CALL("remmina_pref_get_sshtunnel_port"); diff --git a/remmina/src/remmina_pref.h b/remmina/src/remmina_pref.h index 3089545db7..caf758d4c5 100644 --- a/remmina/src/remmina_pref.h +++ b/remmina/src/remmina_pref.h @@ -83,6 +83,7 @@ typedef struct _RemminaPref gboolean save_when_connect; gint default_action; gint scale_quality; + gint ssh_loglevel; gint sshtunnel_port; gint auto_scroll_step; gint recent_maximum; @@ -145,6 +146,7 @@ typedef struct _RemminaPref #define DEFAULT_SSHTUNNEL_PORT 4732 #define DEFAULT_SSH_PORT 22 +#define DEFAULT_SSH_LOGLEVEL 1 extern const gchar *default_resolutions; extern gchar *remmina_pref_file; @@ -161,6 +163,7 @@ guint remmina_pref_keymap_get_keyval(const gchar *keymap, guint keyval); gchar** remmina_pref_keymap_groups(void); gint remmina_pref_get_scale_quality(void); +gint remmina_pref_get_ssh_loglevel(void); gint remmina_pref_get_sshtunnel_port(void); void remmina_pref_set_value(const gchar *key, const gchar *value); diff --git a/remmina/src/remmina_pref_dialog.c b/remmina/src/remmina_pref_dialog.c index 300e62d257..0c133127a1 100644 --- a/remmina/src/remmina_pref_dialog.c +++ b/remmina/src/remmina_pref_dialog.c @@ -131,6 +131,7 @@ void remmina_pref_on_dialog_destroy(GtkWidget *widget, gpointer user_data) remmina_pref.show_buttons_icons = gtk_combo_box_get_active(remmina_pref_dialog->comboboxtext_appearance_show_buttons_icons); remmina_pref.show_menu_icons = gtk_combo_box_get_active(remmina_pref_dialog->comboboxtext_appearance_show_menu_icons); remmina_pref.scale_quality = gtk_combo_box_get_active(remmina_pref_dialog->comboboxtext_options_scale_quality); + remmina_pref.ssh_loglevel = gtk_combo_box_get_active(remmina_pref_dialog->comboboxtext_options_ssh_loglevel); remmina_pref.sshtunnel_port = atoi(gtk_entry_get_text(remmina_pref_dialog->entry_options_ssh_port)); if (remmina_pref.sshtunnel_port <= 0) @@ -336,6 +337,7 @@ static void remmina_pref_dialog_init(void) gtk_combo_box_set_active(remmina_pref_dialog->comboboxtext_appearance_show_buttons_icons, remmina_pref.show_buttons_icons); gtk_combo_box_set_active(remmina_pref_dialog->comboboxtext_appearance_show_menu_icons, remmina_pref.show_menu_icons); gtk_combo_box_set_active(remmina_pref_dialog->comboboxtext_options_scale_quality, remmina_pref.scale_quality); + gtk_combo_box_set_active(remmina_pref_dialog->comboboxtext_options_ssh_loglevel, remmina_pref.ssh_loglevel); gtk_button_set_label(remmina_pref_dialog->button_keyboard_copy, remmina_key_chooser_get_value(remmina_pref.vte_shortcutkey_copy, 0)); gtk_button_set_label(remmina_pref_dialog->button_keyboard_paste, remmina_key_chooser_get_value(remmina_pref.vte_shortcutkey_paste, 0)); @@ -371,6 +373,7 @@ GtkDialog* remmina_pref_dialog_new(gint default_tab, GtkWindow *parent) remmina_pref_dialog->comboboxtext_appearance_show_buttons_icons = GTK_COMBO_BOX(GET_OBJECT("comboboxtext_appearance_show_buttons_icons")); remmina_pref_dialog->comboboxtext_appearance_show_menu_icons = GTK_COMBO_BOX(GET_OBJECT("comboboxtext_appearance_show_menu_icons")); remmina_pref_dialog->comboboxtext_options_scale_quality = GTK_COMBO_BOX(GET_OBJECT("comboboxtext_options_scale_quality")); + remmina_pref_dialog->comboboxtext_options_ssh_loglevel = GTK_COMBO_BOX(GET_OBJECT("comboboxtext_options_ssh_loglevel")); remmina_pref_dialog->entry_options_ssh_port = GTK_ENTRY(GET_OBJECT("entry_options_ssh_port")); remmina_pref_dialog->entry_options_scroll = GTK_ENTRY(GET_OBJECT("entry_options_scroll")); remmina_pref_dialog->entry_options_recent_items = GTK_ENTRY(GET_OBJECT("entry_options_recent_items")); diff --git a/remmina/src/remmina_pref_dialog.h b/remmina/src/remmina_pref_dialog.h index faf4e06e83..3f035adb7e 100644 --- a/remmina/src/remmina_pref_dialog.h +++ b/remmina/src/remmina_pref_dialog.h @@ -61,6 +61,7 @@ typedef struct _RemminaPrefDialog GtkComboBox *comboboxtext_appearance_show_buttons_icons; GtkComboBox *comboboxtext_appearance_show_menu_icons; GtkComboBox *comboboxtext_options_scale_quality; + GtkComboBox *comboboxtext_options_ssh_loglevel; GtkEntry *entry_options_ssh_port; GtkEntry *entry_options_scroll; GtkEntry *entry_options_recent_items; diff --git a/remmina/ui/remmina_preferences.glade b/remmina/ui/remmina_preferences.glade index 393fe3b448..a118b756af 100644 --- a/remmina/ui/remmina_preferences.glade +++ b/remmina/ui/remmina_preferences.glade @@ -100,8 +100,8 @@ True False - 0 Double-click action + 0 0 @@ -128,8 +128,8 @@ True False - 0 Scale quality + 0 0 @@ -158,8 +158,8 @@ True False - 0 SSH tunnel local port + 0 0 @@ -182,12 +182,12 @@ True False - 0 Auto scroll step size + 0 0 - 5 + 6 @@ -198,7 +198,7 @@ 1 - 5 + 6 2 @@ -206,12 +206,12 @@ True False - 0 Maximum recent items + 0 0 - 6 + 7 @@ -223,7 +223,7 @@ 1 - 6 + 7 @@ -236,19 +236,19 @@ 2 - 6 + 7 True False - 0 Resolutions + 0 0 - 7 + 8 @@ -261,7 +261,7 @@ 1 - 7 + 8 2 @@ -269,12 +269,12 @@ True False - 0 Keystrokes + 0 0 - 8 + 9 @@ -287,10 +287,41 @@ 1 - 8 + 9 + 2 + + + + + True + False + True + + SSH_LOG_NOLOG + SSH_LOG_RARE + SSH_LOG_ENTRY + SSH_LOG_PACKET + SSH_LOG_FUNCTIONS + + + + 1 + 5 2 + + + True + False + SSH log level + 0 + + + 0 + 5 + + @@ -368,8 +399,8 @@ True False - 0 Default view mode + 0 0 @@ -398,8 +429,8 @@ True False - 0 Tab interface + 0 0 @@ -428,8 +459,8 @@ True False - 0 Show buttons icons + 0 0 @@ -458,8 +489,8 @@ True False - 0 Show menu icons + 0 0 @@ -618,8 +649,8 @@ True False True - 0 Host key + 0 0 @@ -646,8 +677,8 @@ True False True - 0 Toggle fullscreen mode + 0 0 @@ -674,8 +705,8 @@ True False True - 0 Auto-fit window + 0 0 @@ -702,8 +733,8 @@ True False True - 0 Switch tab pages + 0 0 @@ -743,8 +774,8 @@ True False True - 0 Toggle scaled mode + 0 0 @@ -771,8 +802,8 @@ True False True - 0 Grab keyboard + 0 0 @@ -799,8 +830,8 @@ True False True - 0 Minimize window + 0 0 @@ -827,8 +858,8 @@ True False True - 0 Disconnect + 0 0 @@ -855,8 +886,8 @@ True False True - 0 Show / hide toolbar + 0 0 @@ -915,8 +946,8 @@ True False True - 0 Font + 0 0 @@ -928,8 +959,8 @@ True False True - 0 Colors + 0 0 @@ -941,8 +972,8 @@ True False True - 0 Foreground color + 0 0 @@ -954,8 +985,8 @@ True False True - 0 Background color + 0 0 @@ -967,8 +998,8 @@ True False True - 0 Scrollback lines + 0 0 @@ -980,8 +1011,8 @@ True False True - 0 Keyboard + 0 0 @@ -1130,8 +1161,8 @@ True False True - 0 Copy + 0 1 @@ -1169,8 +1200,8 @@ True False True - 0 Paste + 0 1 From c2080b390c3c60c8648608508c824f63fc034de1 Mon Sep 17 00:00:00 2001 From: "antenore@simbiosi.org" Date: Tue, 8 Sep 2015 23:50:32 +0200 Subject: [PATCH 2/2] log verbosity implemented in remmina_ssh --- remmina/src/remmina_ssh.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/remmina/src/remmina_ssh.c b/remmina/src/remmina_ssh.c index 13c6e33016..ac6f09d281 100644 --- a/remmina/src/remmina_ssh.c +++ b/remmina/src/remmina_ssh.c @@ -72,6 +72,7 @@ #include "remmina_public.h" #include "remmina_log.h" #include "remmina_ssh.h" +#include "remmina_pref.h" #include "remmina/remmina_trace_calls.h" /*************************** SSH Base *********************************/ @@ -374,6 +375,7 @@ remmina_ssh_init_session (RemminaSSH *ssh) { TRACE_CALL("remmina_ssh_init_session"); gint verbosity; + //gchar* verbosity; ssh->callback = g_new0 (struct ssh_callbacks_struct, 1); ssh->callback->userdata = ssh; @@ -385,7 +387,7 @@ remmina_ssh_init_session (RemminaSSH *ssh) ssh_options_set (ssh->session, SSH_OPTIONS_USER, ssh->user); if (remmina_log_running ()) { - verbosity = SSH_LOG_RARE; + verbosity = remmina_pref.ssh_loglevel; ssh_options_set (ssh->session, SSH_OPTIONS_LOG_VERBOSITY, &verbosity); ssh->callback->log_function = remmina_ssh_log_callback; } @@ -416,6 +418,7 @@ remmina_ssh_init_from_file (RemminaSSH *ssh, RemminaFile *remminafile) const gchar *ssh_username; const gchar *ssh_privatekey; const gchar *server; + gint verbosity; gchar *s; ssh->session = NULL;