Remmina - The GTK+ Remote Desktop Client  v1.4.34
Remmina is a remote desktop client written in GTK+, aiming to be useful for system administrators and travellers, who need to work with lots of remote computers in front of either large monitors or tiny netbooks. Remmina supports multiple network protocols in an integrated and consistent user interface. Currently RDP, VNC, NX, XDMCP and SSH are supported.
remmina_ssh_plugin.c File Reference

Go to the source code of this file.

Data Structures

struct  _RemminaSshSearch
 The SSH plugin implementation. More...
 
struct  _RemminaPluginSshData
 

Typedefs

typedef struct _RemminaSshSearch RemminaSshSearch
 The SSH plugin implementation. More...
 
typedef struct _RemminaPluginSshData RemminaPluginSshData
 

Enumerations

enum  color_schemes {
  LINUX , TANGO , GRUVBOX , SOLARIZED_DARK ,
  SOLARIZED_LIGHT , XTERM , CUSTOM
}
 

Functions

static gboolean remmina_plugin_ssh_on_size_allocate (GtkWidget *widget, GtkAllocation *alloc, RemminaProtocolWidget *gp)
 
static gboolean valid_color (GdkRGBA const *color)
 
static gpointer remmina_plugin_ssh_main_thread (gpointer data)
 Remmina protocol plugin main function. More...
 
void remmina_plugin_ssh_vte_terminal_set_encoding_and_pty (VteTerminal *terminal, const char *codeset, int master, int slave)
 
static gboolean remmina_plugin_ssh_on_focus_in (GtkWidget *widget, GdkEventFocus *event, RemminaProtocolWidget *gp)
 
static void remmina_plugin_ssh_set_vte_pref (RemminaProtocolWidget *gp)
 
void remmina_plugin_ssh_vte_select_all (GtkMenuItem *menuitem, gpointer vte)
 
void remmina_plugin_ssh_vte_decrease_font (GtkMenuItem *menuitem, gpointer vte)
 
void remmina_plugin_ssh_vte_increase_font (GtkMenuItem *menuitem, gpointer vte)
 
void remmina_plugin_ssh_vte_copy_clipboard (GtkMenuItem *menuitem, gpointer vte)
 
void remmina_plugin_ssh_vte_paste_clipboard (GtkMenuItem *menuitem, gpointer vte)
 
void remmina_plugin_ssh_vte_save_session (GtkMenuItem *menuitem, RemminaProtocolWidget *gp)
 
static void remmina_ssh_keystroke (RemminaProtocolWidget *gp, const guint keystrokes[], const gint keylen)
 Send a keystroke to the plugin window. More...
 
static void jit_regex (VteRegex *regex, char const *pattern)
 
static VteRegex * compile_regex_for_search (char const *pattern, gboolean caseless, GError **error)
 
static void remmina_search_widget_update_sensitivity (RemminaSshSearch *search_widget)
 
static void remmina_search_widget_update_regex (RemminaPluginSshData *gpdata)
 
static void remmina_search_widget_wrap_around_toggled (GtkToggleButton *button, RemminaPluginSshData *gpdata)
 
static void remmina_search_widget_search_forward (RemminaPluginSshData *gpdata)
 
static void remmina_search_widget_search_backward (RemminaPluginSshData *gpdata)
 
GtkWidget * remmina_plugin_pop_search_new (GtkWidget *relative_to, RemminaProtocolWidget *gp)
 
void remmina_plugin_pop_search (GtkMenuItem *menuitem, RemminaProtocolWidget *gp)
 
void remmina_plugin_ssh_call_sftp (GtkMenuItem *menuitem, RemminaProtocolWidget *gp)
 
gboolean remmina_ssh_plugin_popup_menu (GtkWidget *widget, GdkEvent *event, GtkWidget *menu)
 
void remmina_plugin_ssh_popup_ui (RemminaProtocolWidget *gp)
 Remmina SSH plugin terminal popup menu. More...
 
static void remmina_plugin_ssh_eof (VteTerminal *vteterminal, RemminaProtocolWidget *gp)
 
static gboolean remmina_plugin_ssh_close_connection (RemminaProtocolWidget *gp)
 
static void remmina_plugin_ssh_init (RemminaProtocolWidget *gp)
 Remmina SSH plugin initialization. More...
 
static gboolean remmina_plugin_ssh_open_connection (RemminaProtocolWidget *gp)
 Initialize the main window properties and the pthread. More...
 
static gboolean remmina_plugin_ssh_query_feature (RemminaProtocolWidget *gp, const RemminaProtocolFeature *feature)
 Not used by the plugin. More...
 
static void remmina_plugin_ssh_call_feature (RemminaProtocolWidget *gp, const RemminaProtocolFeature *feature)
 Functions to call when an entry in the Tool menu in the Remmina Connection Window is clicked. More...
 
static gint compare (gconstpointer a, gconstpointer b)
 
void remmina_ssh_plugin_load_terminal_palettes (gpointer *ssh_terminal_palette_new)
 
void remmina_ssh_plugin_register (void)
 

Variables

const GdkRGBA linux_palette [PALETTE_SIZE]
 16 colour palettes in GdkRGBA format (red, green, blue, alpha). More...
 
const GdkRGBA tango_palette [PALETTE_SIZE]
 
const GdkRGBA gruvbox_palette [PALETTE_SIZE]
 
const GdkRGBA solarized_dark_palette [PALETTE_SIZE]
 
const GdkRGBA solarized_light_palette [PALETTE_SIZE]
 
const GdkRGBA xterm_palette [PALETTE_SIZE]
 
static RemminaPluginServiceremmina_plugin_service = NULL
 
static gpointer ssh_auth []
 Array of key/value pairs for SSH auth type libssh methods: More...
 
static gpointer ssh_charset_list []
 Charset list. More...
 
static gpointer ssh_terminal_palette []
 
static RemminaProtocolFeature remmina_plugin_ssh_features []
 Array for available features. More...
 
static const RemminaProtocolSetting remmina_ssh_basic_settings []
 
static gchar log_tips []
 
static const RemminaProtocolSetting remmina_ssh_advanced_settings []
 Array of RemminaProtocolSetting for advanced settings. More...
 
static RemminaProtocolPlugin remmina_plugin_ssh
 SSH Protocol plugin definition and features. More...
 

Typedef Documentation

◆ RemminaPluginSshData

◆ RemminaSshSearch

The SSH plugin implementation.

Enumeration Type Documentation

◆ color_schemes

Enumerator
LINUX 
TANGO 
GRUVBOX 
SOLARIZED_DARK 
SOLARIZED_LIGHT 
XTERM 
CUSTOM 

Definition at line 81 of file remmina_ssh_plugin.c.

Function Documentation

◆ compare()

static gint compare ( gconstpointer  a,
gconstpointer  b 
)
static

Definition at line 1594 of file remmina_ssh_plugin.c.

◆ compile_regex_for_search()

static VteRegex* compile_regex_for_search ( char const *  pattern,
gboolean  caseless,
GError **  error 
)
static

Definition at line 601 of file remmina_ssh_plugin.c.

◆ jit_regex()

static void jit_regex ( VteRegex *  regex,
char const *  pattern 
)
static

Definition at line 590 of file remmina_ssh_plugin.c.

◆ remmina_plugin_pop_search()

void remmina_plugin_pop_search ( GtkMenuItem *  menuitem,
RemminaProtocolWidget gp 
)

Definition at line 772 of file remmina_ssh_plugin.c.

◆ remmina_plugin_pop_search_new()

GtkWidget* remmina_plugin_pop_search_new ( GtkWidget *  relative_to,
RemminaProtocolWidget gp 
)

Definition at line 715 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh_call_feature()

static void remmina_plugin_ssh_call_feature ( RemminaProtocolWidget gp,
const RemminaProtocolFeature feature 
)
static

Functions to call when an entry in the Tool menu in the Remmina Connection Window is clicked.

In the Remmina Connection Window toolbar, there is a tool menu, this function is used to call the right function for each entry with its parameters.

At the moment it’s possible to:

  • Open a new SSH session.
  • Open an SFTP session.
  • Select, copy and paste text.
  • Send recorded Key Strokes.
Returns
the return value of the calling function.
Todo:
start the direct tunnel here

Definition at line 1337 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh_call_sftp()

void remmina_plugin_ssh_call_sftp ( GtkMenuItem *  menuitem,
RemminaProtocolWidget gp 
)

Definition at line 792 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh_close_connection()

static gboolean remmina_plugin_ssh_close_connection ( RemminaProtocolWidget gp)
static

Definition at line 902 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh_eof()

static void remmina_plugin_ssh_eof ( VteTerminal *  vteterminal,
RemminaProtocolWidget gp 
)
static

Definition at line 876 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh_init()

static void remmina_plugin_ssh_init ( RemminaProtocolWidget gp)
static

Remmina SSH plugin initialization.

This is the main function used to create the widget that will be embedded in the Remmina Connection Window. Initialize the terminal colours based on the user, everything is needed for the terminal window, the terminal session logging and the terminal popup menu.

See also
remmina_plugin_ssh_popup_ui
RemminaProtocolWidget
https://gitlab.com/Remmina/Remmina/wikis/Remmina-SSH-Terminal-colour-schemes

Definition at line 942 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh_main_thread()

static gpointer remmina_plugin_ssh_main_thread ( gpointer  data)
static

Remmina protocol plugin main function.

First it starts the SSH tunnel if needed and then the SSH connection.

Definition at line 266 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh_on_focus_in()

static gboolean remmina_plugin_ssh_on_focus_in ( GtkWidget *  widget,
GdkEventFocus *  event,
RemminaProtocolWidget gp 
)
static

Definition at line 439 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh_on_size_allocate()

static gboolean remmina_plugin_ssh_on_size_allocate ( GtkWidget *  widget,
GtkAllocation *  alloc,
RemminaProtocolWidget gp 
)
static

Definition at line 449 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh_open_connection()

static gboolean remmina_plugin_ssh_open_connection ( RemminaProtocolWidget gp)
static

Initialize the main window properties and the pthread.

The call of this function is a requirement of remmina_protocol_widget_open_connection_real().

Returns
TRUE
FALSE and remmina_protocol_widget_open_connection_real() will fails.

Definition at line 1288 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh_popup_ui()

void remmina_plugin_ssh_popup_ui ( RemminaProtocolWidget gp)

Remmina SSH plugin terminal popup menu.

This is the context menu that popup when you right click in a terminal window. You can than select, copy, paste text and save the whole buffer to a file. Each menu entry call back the following functions:

Definition at line 827 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh_query_feature()

static gboolean remmina_plugin_ssh_query_feature ( RemminaProtocolWidget gp,
const RemminaProtocolFeature feature 
)
static

Not used by the plugin.

Returns
Always TRUE

Definition at line 1314 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh_set_vte_pref()

static void remmina_plugin_ssh_set_vte_pref ( RemminaProtocolWidget gp)
static

Definition at line 467 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh_vte_copy_clipboard()

void remmina_plugin_ssh_vte_copy_clipboard ( GtkMenuItem *  menuitem,
gpointer  vte 
)

Definition at line 521 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh_vte_decrease_font()

void remmina_plugin_ssh_vte_decrease_font ( GtkMenuItem *  menuitem,
gpointer  vte 
)

Definition at line 507 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh_vte_increase_font()

void remmina_plugin_ssh_vte_increase_font ( GtkMenuItem *  menuitem,
gpointer  vte 
)

Definition at line 514 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh_vte_paste_clipboard()

void remmina_plugin_ssh_vte_paste_clipboard ( GtkMenuItem *  menuitem,
gpointer  vte 
)

Definition at line 532 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh_vte_save_session()

void remmina_plugin_ssh_vte_save_session ( GtkMenuItem *  menuitem,
RemminaProtocolWidget gp 
)

Definition at line 539 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh_vte_select_all()

void remmina_plugin_ssh_vte_select_all ( GtkMenuItem *  menuitem,
gpointer  vte 
)
Todo:
we should add the vte_terminal_unselect_all as well

Definition at line 499 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh_vte_terminal_set_encoding_and_pty()

void remmina_plugin_ssh_vte_terminal_set_encoding_and_pty ( VteTerminal *  terminal,
const char *  codeset,
int  master,
int  slave 
)

Definition at line 407 of file remmina_ssh_plugin.c.

◆ remmina_search_widget_search_backward()

static void remmina_search_widget_search_backward ( RemminaPluginSshData gpdata)
static

Definition at line 704 of file remmina_ssh_plugin.c.

◆ remmina_search_widget_search_forward()

static void remmina_search_widget_search_forward ( RemminaPluginSshData gpdata)
static

Definition at line 692 of file remmina_ssh_plugin.c.

◆ remmina_search_widget_update_regex()

static void remmina_search_widget_update_regex ( RemminaPluginSshData gpdata)
static

Definition at line 628 of file remmina_ssh_plugin.c.

◆ remmina_search_widget_update_sensitivity()

static void remmina_search_widget_update_sensitivity ( RemminaSshSearch search_widget)
static

Definition at line 618 of file remmina_ssh_plugin.c.

◆ remmina_search_widget_wrap_around_toggled()

static void remmina_search_widget_wrap_around_toggled ( GtkToggleButton *  button,
RemminaPluginSshData gpdata 
)
static

Definition at line 684 of file remmina_ssh_plugin.c.

◆ remmina_ssh_keystroke()

static void remmina_ssh_keystroke ( RemminaProtocolWidget gp,
const guint  keystrokes[],
const gint  keylen 
)
static

Send a keystroke to the plugin window.

Definition at line 577 of file remmina_ssh_plugin.c.

◆ remmina_ssh_plugin_load_terminal_palettes()

void remmina_ssh_plugin_load_terminal_palettes ( gpointer *  ssh_terminal_palette_new)

Definition at line 1600 of file remmina_ssh_plugin.c.

◆ remmina_ssh_plugin_popup_menu()

gboolean remmina_ssh_plugin_popup_menu ( GtkWidget *  widget,
GdkEvent *  event,
GtkWidget *  menu 
)

Definition at line 799 of file remmina_ssh_plugin.c.

◆ remmina_ssh_plugin_register()

void remmina_ssh_plugin_register ( void  )

Definition at line 1696 of file remmina_ssh_plugin.c.

◆ valid_color()

static gboolean valid_color ( GdkRGBA const *  color)
static

Definition at line 250 of file remmina_ssh_plugin.c.

Variable Documentation

◆ gruvbox_palette

const GdkRGBA gruvbox_palette[PALETTE_SIZE]
Initial value:
= {
{ 0.156863, 0.156863, 0.156863, 1.000000 },
{ 0.800000, 0.141176, 0.113725, 1.000000 },
{ 0.596078, 0.592157, 0.101961, 1.000000 },
{ 0.843137, 0.600000, 0.129412, 1.000000 },
{ 0.270588, 0.521569, 0.533333, 1.000000 },
{ 0.694118, 0.384314, 0.525490, 1.000000 },
{ 0.407843, 0.615686, 0.415686, 1.000000 },
{ 0.658824, 0.600000, 0.517647, 1.000000 },
{ 0.572549, 0.513725, 0.454902, 1.000000 },
{ 0.984314, 0.286275, 0.203922, 1.000000 },
{ 0.721569, 0.733333, 0.149020, 1.000000 },
{ 0.980392, 0.741176, 0.184314, 1.000000 },
{ 0.513725, 0.647059, 0.596078, 1.000000 },
{ 0.827451, 0.525490, 0.607843, 1.000000 },
{ 0.556863, 0.752941, 0.486275, 1.000000 },
{ 0.921569, 0.858824, 0.698039, 1.000000 },
}

Definition at line 125 of file remmina_ssh_plugin.c.

◆ linux_palette

const GdkRGBA linux_palette[PALETTE_SIZE]
Initial value:
= {
{ 0, 0, 0, 1 },
{ 0.666667, 0, 0, 1 },
{ 0, 0.666667, 0, 1 },
{ 0.666667, 0.333333, 0, 1 },
{ 0, 0, 0.666667, 1 },
{ 0.666667, 0, 0.666667, 1 },
{ 0, 0.666667, 0.666667, 1 },
{ 0.666667, 0.666667, 0.666667, 1 },
{ 0.333333, 0.333333, 0.333333, 1 },
{ 1, 0.333333, 0.333333, 1 },
{ 0.333333, 1, 0.333333, 1 },
{ 1, 1, 0.333333, 1 },
{ 0.333333, 0.333333, 1, 1 },
{ 1, 0.333333, 1, 1 },
{ 0.333333, 1, 1, 1 },
{ 1, 1, 1, 1 }
}

16 colour palettes in GdkRGBA format (red, green, blue, alpha).

Text displayed in the first 8 colours (0-7) is meek (uses thin strokes). Text displayed in the second 8 colours (8-15) is bold (uses thick strokes).

Definition at line 87 of file remmina_ssh_plugin.c.

◆ log_tips

gchar log_tips[]
static
Initial value:
=
N_("The filename can use the following placeholders:\n\n"
" • %h is substituted with the server name\n"
" • %t is substituted with the SSH server name\n"
" • %u is substituted with the username\n"
" • %U is substituted with the SSH username\n"
" • %p is substituted with Remmina profile name\n"
" • %g is substituted with Remmina profile group name\n"
" • %d is substituted with local date and time in ISO 8601 format\n")
N_("Unable to connect to VNC server")
Definition: vnc_plugin.c:953

Definition at line 1516 of file remmina_ssh_plugin.c.

◆ remmina_plugin_service

RemminaPluginService* remmina_plugin_service = NULL
static

Definition at line 244 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh

RemminaProtocolPlugin remmina_plugin_ssh
static
Initial value:
=
{
"SSH",
N_("SSH - Secure Shell"),
GETTEXT_PACKAGE,
VERSION,
"org.remmina.Remmina-ssh-symbolic",
"org.remmina.Remmina-ssh-symbolic",
NULL,
NULL,
NULL
}
@ REMMINA_PLUGIN_TYPE_PROTOCOL
Definition: plugin.h:48
static gboolean remmina_plugin_ssh_open_connection(RemminaProtocolWidget *gp)
Initialize the main window properties and the pthread.
static const RemminaProtocolSetting remmina_ssh_basic_settings[]
static gboolean remmina_plugin_ssh_query_feature(RemminaProtocolWidget *gp, const RemminaProtocolFeature *feature)
Not used by the plugin.
static const RemminaProtocolSetting remmina_ssh_advanced_settings[]
Array of RemminaProtocolSetting for advanced settings.
static void remmina_plugin_ssh_init(RemminaProtocolWidget *gp)
Remmina SSH plugin initialization.
static gboolean remmina_plugin_ssh_close_connection(RemminaProtocolWidget *gp)
static RemminaProtocolFeature remmina_plugin_ssh_features[]
Array for available features.
static void remmina_ssh_keystroke(RemminaProtocolWidget *gp, const guint keystrokes[], const gint keylen)
Send a keystroke to the plugin window.
static void remmina_plugin_ssh_call_feature(RemminaProtocolWidget *gp, const RemminaProtocolFeature *feature)
Functions to call when an entry in the Tool menu in the Remmina Connection Window is clicked.
@ REMMINA_PROTOCOL_SSH_SETTING_TUNNEL
Definition: types.h:130

SSH Protocol plugin definition and features.

Array used to define the SSH Protocol plugin Type, name, description, version Plugin icon, features, initialization and closing functions.

Definition at line 1563 of file remmina_ssh_plugin.c.

◆ remmina_plugin_ssh_features

RemminaProtocolFeature remmina_plugin_ssh_features[]
static
Initial value:
=
{
{ REMMINA_PROTOCOL_FEATURE_TYPE_TOOL, REMMINA_PLUGIN_SSH_FEATURE_TOOL_COPY, N_("Copy"), N_("_Copy"), NULL },
{ REMMINA_PROTOCOL_FEATURE_TYPE_TOOL, REMMINA_PLUGIN_SSH_FEATURE_TOOL_PASTE, N_("Paste"), N_("_Paste"), NULL },
{ REMMINA_PROTOCOL_FEATURE_TYPE_TOOL, REMMINA_PLUGIN_SSH_FEATURE_TOOL_SELECT_ALL, N_("Select all"), N_("_Select all"), NULL },
{ REMMINA_PROTOCOL_FEATURE_TYPE_TOOL, REMMINA_PLUGIN_SSH_FEATURE_TOOL_INCREASE_FONT, N_("Increase font size"), N_("_Increase font size"), NULL },
{ REMMINA_PROTOCOL_FEATURE_TYPE_TOOL, REMMINA_PLUGIN_SSH_FEATURE_TOOL_DECREASE_FONT, N_("Decrease font size"), N_("_Decrease font size"), NULL },
{ REMMINA_PROTOCOL_FEATURE_TYPE_TOOL, REMMINA_PLUGIN_SSH_FEATURE_TOOL_SEARCH, N_("Find text"), N_("_Find text"), NULL },
{ REMMINA_PROTOCOL_FEATURE_TYPE_TOOL, REMMINA_PROTOCOL_FEATURE_TOOL_SFTP, N_("Open SFTP transfer…"), "folder-remote", NULL },
{ REMMINA_PROTOCOL_FEATURE_TYPE_END, 0, NULL, NULL, NULL }
}
@ REMMINA_PROTOCOL_FEATURE_TYPE_END
Definition: types.h:47
@ REMMINA_PROTOCOL_FEATURE_TYPE_TOOL
Definition: types.h:49

Array for available features.

The last element of the array must be REMMINA_PROTOCOL_FEATURE_TYPE_END.

Definition at line 1471 of file remmina_ssh_plugin.c.

◆ remmina_ssh_advanced_settings

const RemminaProtocolSetting remmina_ssh_advanced_settings[]
static
Initial value:
=
{
{ REMMINA_PROTOCOL_SETTING_TYPE_SELECT, "ssh_color_scheme", N_("Terminal colour scheme"), FALSE, ssh_terminal_palette, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_SELECT, "ssh_charset", N_("Character set"), FALSE, ssh_charset_list, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_TEXT, "ssh_proxycommand", N_("SSH Proxy Command"), FALSE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_TEXT, "ssh_kex_algorithms", N_("KEX (Key Exchange) algorithms"), FALSE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_TEXT, "ssh_ciphers", N_("Symmetric cipher client to server"), FALSE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_TEXT, "ssh_hostkeytypes", N_("Preferred server host key types"), FALSE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_TEXT, "sshlogfolder", N_("Folder for SSH session log"), FALSE, NULL, N_("Full path of an existing folder") },
{ REMMINA_PROTOCOL_SETTING_TYPE_TEXT, "sshlogname", N_("Filename for SSH session log"), FALSE, NULL, log_tips },
{ REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "sshlogenabled", N_("Log SSH session when exiting Remmina"), FALSE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "sshsavesession", N_("Log SSH session asynchronously"), TRUE, NULL, N_("Saving the session asynchronously may have a notable performance impact") },
{ REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "audiblebell", N_("Audible terminal bell"), FALSE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "ssh_forward_x11", N_("SSH X11 Forwarding"), TRUE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "ssh_compression", N_("SSH compression"), FALSE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "disablepasswordstoring", N_("Don't remember passwords"), TRUE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_CHECK, "ssh_stricthostkeycheck", N_("Strict host key checking"), FALSE, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_END, NULL, NULL, FALSE, NULL, NULL }
}
static gchar log_tips[]
static gpointer ssh_charset_list[]
Charset list.
static gpointer ssh_terminal_palette[]
@ REMMINA_PROTOCOL_SETTING_TYPE_SELECT
Definition: types.h:108
@ REMMINA_PROTOCOL_SETTING_TYPE_CHECK
Definition: types.h:110
@ REMMINA_PROTOCOL_SETTING_TYPE_TEXT
Definition: types.h:106
@ REMMINA_PROTOCOL_SETTING_TYPE_END
Definition: types.h:98

Array of RemminaProtocolSetting for advanced settings.

  • Each item is composed by:
    1. RemminaProtocolSettingType for setting type.
    2. Setting name.
    3. Setting description.
    4. Compact disposition.
    5. Values for REMMINA_PROTOCOL_SETTING_TYPE_SELECT or REMMINA_PROTOCOL_SETTING_TYPE_COMBO.
    6. Setting Tooltip.

Definition at line 1537 of file remmina_ssh_plugin.c.

◆ remmina_ssh_basic_settings

const RemminaProtocolSetting remmina_ssh_basic_settings[]
static
Initial value:
=
{
{ REMMINA_PROTOCOL_SETTING_TYPE_SERVER, "server", NULL, FALSE, "_ssh._tcp", NULL, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_SELECT, "ssh_auth", N_("Authentication type"), FALSE, ssh_auth, NULL, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_TEXT, "username", N_("Username"), FALSE, NULL, NULL, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_PASSWORD, "password", N_("User password"), FALSE, NULL, NULL, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_FILE, "ssh_privatekey", N_("SSH identity file"), FALSE, NULL, NULL, NULL, NULL },
#if LIBSSH_VERSION_INT >= SSH_VERSION_INT(0, 9, 0)
{ REMMINA_PROTOCOL_SETTING_TYPE_FILE, "ssh_certfile", N_("SSH certificate file"), FALSE, NULL, NULL, NULL, NULL },
#endif
{ REMMINA_PROTOCOL_SETTING_TYPE_PASSWORD, "ssh_passphrase", N_("Password to unlock private key"), FALSE, NULL, NULL, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_TEXT, "run_line", N_("Opening command"), FALSE, NULL, NULL, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_TEXT, "exec", N_("Start-up background program"), FALSE, NULL, NULL, NULL, NULL },
{ REMMINA_PROTOCOL_SETTING_TYPE_END, NULL, NULL, FALSE, NULL, NULL, NULL, NULL }
}
static gpointer ssh_auth[]
Array of key/value pairs for SSH auth type libssh methods:
@ REMMINA_PROTOCOL_SETTING_TYPE_FILE
Definition: types.h:111
@ REMMINA_PROTOCOL_SETTING_TYPE_SERVER
Definition: types.h:100
@ REMMINA_PROTOCOL_SETTING_TYPE_PASSWORD
Definition: types.h:101

Definition at line 1500 of file remmina_ssh_plugin.c.

◆ solarized_dark_palette

const GdkRGBA solarized_dark_palette[PALETTE_SIZE]
Initial value:
= {
{ 0.027451, 0.211765, 0.258824, 1 },
{ 0.862745, 0.196078, 0.184314, 1 },
{ 0.521569, 0.600000, 0.000000, 1 },
{ 0.709804, 0.537255, 0.000000, 1 },
{ 0.149020, 0.545098, 0.823529, 1 },
{ 0.827451, 0.211765, 0.509804, 1 },
{ 0.164706, 0.631373, 0.596078, 1 },
{ 0.933333, 0.909804, 0.835294, 1 },
{ 0.000000, 0.168627, 0.211765, 1 },
{ 0.796078, 0.294118, 0.086275, 1 },
{ 0.345098, 0.431373, 0.458824, 1 },
{ 0.396078, 0.482353, 0.513725, 1 },
{ 0.513725, 0.580392, 0.588235, 1 },
{ 0.423529, 0.443137, 0.768627, 1 },
{ 0.576471, 0.631373, 0.631373, 1 },
{ 0.992157, 0.964706, 0.890196, 1 }
}

Definition at line 144 of file remmina_ssh_plugin.c.

◆ solarized_light_palette

const GdkRGBA solarized_light_palette[PALETTE_SIZE]
Initial value:
= {
{ 0.933333, 0.909804, 0.835294, 1 },
{ 0.862745, 0.196078, 0.184314, 1 },
{ 0.521569, 0.600000, 0.000000, 1 },
{ 0.709804, 0.537255, 0.000000, 1 },
{ 0.149020, 0.545098, 0.823529, 1 },
{ 0.827451, 0.211765, 0.509804, 1 },
{ 0.164706, 0.631373, 0.596078, 1 },
{ 0.027451, 0.211765, 0.258824, 1 },
{ 0.992157, 0.964706, 0.890196, 1 },
{ 0.796078, 0.294118, 0.086275, 1 },
{ 0.576471, 0.631373, 0.631373, 1 },
{ 0.513725, 0.580392, 0.588235, 1 },
{ 0.396078, 0.482353, 0.513725, 1 },
{ 0.423529, 0.443137, 0.768627, 1 },
{ 0.345098, 0.431373, 0.458824, 1 },
{ 0.000000, 0.168627, 0.211765, 1 }
}

Definition at line 163 of file remmina_ssh_plugin.c.

◆ ssh_auth

gpointer ssh_auth[]
static
Initial value:
=
{
"0", N_("Password"),
"1", N_("SSH identity file"),
"2", N_("SSH agent"),
"3", N_("Public key (automatic)"),
"4", N_("Kerberos (GSSAPI)"),
NULL
}

Array of key/value pairs for SSH auth type libssh methods:

#define SSH_AUTH_METHOD_UNKNOWN 0x0000u #define SSH_AUTH_METHOD_NONE 0x0001u #define SSH_AUTH_METHOD_PASSWORD 0x0002u #define SSH_AUTH_METHOD_PUBLICKEY 0x0004u #define SSH_AUTH_METHOD_HOSTBASED 0x0008u #define SSH_AUTH_METHOD_INTERACTIVE 0x0010u #define SSH_AUTH_METHOD_GSSAPI_MIC 0x0020u

Definition at line 1392 of file remmina_ssh_plugin.c.

◆ ssh_charset_list

gpointer ssh_charset_list[]
static

Charset list.

Definition at line 1403 of file remmina_ssh_plugin.c.

◆ ssh_terminal_palette

gpointer ssh_terminal_palette[]
static
Initial value:
=
{
"0", "Linux",
"1", "Tango",
"2", "Gruvbox",
"3", "Solarized Dark",
"4", "Solarized Light",
"5", "XTerm",
"6", "Custom (Configured in Remmina preferences)",
NULL, NULL
}

Definition at line 1455 of file remmina_ssh_plugin.c.

◆ tango_palette

const GdkRGBA tango_palette[PALETTE_SIZE]
Initial value:
= {
{ 0, 0, 0, 1 },
{ 0.8, 0, 0, 1 },
{ 0.305882, 0.603922, 0.023529, 1 },
{ 0.768627, 0.627451, 0, 1 },
{ 0.203922, 0.396078, 0.643137, 1 },
{ 0.458824, 0.313725, 0.482353, 1 },
{ 0.0235294, 0.596078, 0.603922, 1 },
{ 0.827451, 0.843137, 0.811765, 1 },
{ 0.333333, 0.341176, 0.32549, 1 },
{ 0.937255, 0.160784, 0.160784, 1 },
{ 0.541176, 0.886275, 0.203922, 1 },
{ 0.988235, 0.913725, 0.309804, 1 },
{ 0.447059, 0.623529, 0.811765, 1 },
{ 0.678431, 0.498039, 0.658824, 1 },
{ 0.203922, 0.886275, 0.886275, 1 },
{ 0.933333, 0.933333, 0.92549, 1 }
}

Definition at line 106 of file remmina_ssh_plugin.c.

◆ xterm_palette

const GdkRGBA xterm_palette[PALETTE_SIZE]
Initial value:
= {
{ 0, 0, 0, 1 },
{ 0.803922, 0, 0, 1 },
{ 0, 0.803922, 0, 1 },
{ 0.803922, 0.803922, 0, 1 },
{ 0.117647, 0.564706, 1, 1 },
{ 0.803922, 0, 0.803922, 1 },
{ 0, 0.803922, 0.803922, 1 },
{ 0.898039, 0.898039, 0.898039, 1 },
{ 0.298039, 0.298039, 0.298039, 1 },
{ 1, 0, 0, 1 },
{ 0, 1, 0, 1 },
{ 1, 1, 0, 1 },
{ 0.27451, 0.509804, 0.705882, 1 },
{ 1, 0, 1, 1 },
{ 0, 1, 1, 1 },
{ 1, 1, 1, 1 }
}

Definition at line 182 of file remmina_ssh_plugin.c.