Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/Remmina/Remmina.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiovanni Panozzo <giovanni@panozzo.it>2014-09-15 14:35:52 +0400
committerGiovanni Panozzo <giovanni@panozzo.it>2014-09-15 14:35:52 +0400
commiteb8955f6b71bd6f523f242afea6f668b999f6bc1 (patch)
tree787166cc8f5f576f3445f49ae1fc728a643fcc7b /remmina-plugins/rdp
parentaabf1f2958ec2feeca7cba3b1933aa1f85014026 (diff)
Fixes #223: correctly set host CertificateName when in SSH tunnel.
Diffstat (limited to 'remmina-plugins/rdp')
-rw-r--r--remmina-plugins/rdp/rdp_plugin.c17
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)