diff options
author | Giovanni Panozzo <giovanni@panozzo.it> | 2014-09-15 14:35:52 +0400 |
---|---|---|
committer | Giovanni Panozzo <giovanni@panozzo.it> | 2014-09-15 14:35:52 +0400 |
commit | eb8955f6b71bd6f523f242afea6f668b999f6bc1 (patch) | |
tree | 787166cc8f5f576f3445f49ae1fc728a643fcc7b /remmina-plugins | |
parent | aabf1f2958ec2feeca7cba3b1933aa1f85014026 (diff) |
Fixes #223: correctly set host CertificateName when in SSH tunnel.
Diffstat (limited to 'remmina-plugins')
-rw-r--r-- | remmina-plugins/rdp/rdp_plugin.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/remmina-plugins/rdp/rdp_plugin.c b/remmina-plugins/rdp/rdp_plugin.c index 44d107bb5..97157237a 100644 --- a/remmina-plugins/rdp/rdp_plugin.c +++ b/remmina-plugins/rdp/rdp_plugin.c @@ -47,6 +47,7 @@ #include <freerdp/constants.h> #include <freerdp/client/cliprdr.h> #include <freerdp/client/channels.h> +#include <freerdp/client/cmdline.h> #include <freerdp/error.h> #include <winpr/memory.h> @@ -644,8 +645,9 @@ static gboolean remmina_rdp_main(RemminaProtocolWidget* gp) const gchar* cs; RemminaFile* remminafile; rfContext* rfi; - ADDIN_ARGV* args; - gint index; + + gchar *dest_server, *dest_host; + gint dest_port; rfi = GET_DATA(gp); remminafile = remmina_plugin_service->protocol_plugin_get_file(gp); @@ -661,6 +663,17 @@ static gboolean remmina_rdp_main(RemminaProtocolWidget* gp) g_free(s); rfi->settings->ServerPort = port; + // Setup rfi->settings->CertificateName when tunneled with SSH + if (remmina_plugin_service->file_get_int(remminafile, "ssh_enabled", FALSE)) { + dest_server = remmina_plugin_service->file_get_string(remminafile, "server"); + if ( dest_server ) { + remmina_plugin_service->get_server_port(dest_server, 0, &dest_host, &dest_port); + printf("GIO: Setting certificate name to %s\n", dest_host); + rfi->settings->CertificateName = _strdup( dest_host ); + g_free(dest_host); + } + } + rfi->settings->ColorDepth = remmina_plugin_service->file_get_int(remminafile, "colordepth", 0); if (rfi->settings->ColorDepth == 0) |