diff options
Diffstat (limited to '')
-rw-r--r-- | debian/patches/MR2581.patch | 190 |
1 files changed, 190 insertions, 0 deletions
diff --git a/debian/patches/MR2581.patch b/debian/patches/MR2581.patch new file mode 100644 index 0000000..e405463 --- /dev/null +++ b/debian/patches/MR2581.patch @@ -0,0 +1,190 @@ +From 2a66973e8c53bceda1517bc347c92b1a773ada36 Mon Sep 17 00:00:00 2001 +From: myheroyuki <myheroyuki@outlook.com> +Date: Tue, 30 Apr 2024 23:00:22 +0900 +Subject: [PATCH 1/3] [REM-3104] Add global RDP options to set FreeRDP auth + filter + +--- + plugins/rdp/rdp_plugin.c | 7 +++++++ + plugins/rdp/rdp_settings.c | 32 ++++++++++++++++++++++++++++++++ + 2 files changed, 39 insertions(+) + +diff --git a/plugins/rdp/rdp_plugin.c b/plugins/rdp/rdp_plugin.c +index e46cacc98..2b44c0280 100644 +--- a/plugins/rdp/rdp_plugin.c ++++ b/plugins/rdp/rdp_plugin.c +@@ -2669,6 +2669,7 @@ static void remmina_rdp_init(RemminaProtocolWidget *gp) + TRACE_CALL(__func__); + freerdp *instance; + rfContext *rfi; ++ gchar* auth_list; + + instance = freerdp_new(); + instance->PreConnect = remmina_rdp_pre_connect; +@@ -2709,6 +2710,12 @@ static void remmina_rdp_init(RemminaProtocolWidget *gp) + + freerdp_register_addin_provider(freerdp_channels_load_static_addin_entry, 0); + ++ auth_list = remmina_plugin_service->pref_get_value("rdp_auth_filter"); ++ if (auth_list == NULL){ ++ auth_list = "!kerberos"; ++ } ++ freerdp_settings_set_string(rfi->clientContext.context.settings, FreeRDP_AuthenticationPackageList, auth_list); ++ + remmina_rdp_event_init(gp); + } + +diff --git a/plugins/rdp/rdp_settings.c b/plugins/rdp/rdp_settings.c +index 7a3d4aa41..d49270dfc 100644 +--- a/plugins/rdp/rdp_settings.c ++++ b/plugins/rdp/rdp_settings.c +@@ -103,6 +103,7 @@ typedef struct _RemminaPluginRdpsetGrid { + GtkWidget * disable_smooth_scrolling_check; + GtkWidget * reconnect_attempts; + GtkWidget * kbd_remap; ++ GtkWidget * auth_filter; + + /* FreeRDP /scale-desktop: Scaling of desktop app */ + GtkWidget * desktop_scale_factor_spin; +@@ -162,6 +163,9 @@ static void remmina_rdp_settings_grid_destroy(GtkWidget *widget, gpointer data) + remmina_plugin_service->pref_set_value("rdp_reconnect_attempts", + gtk_entry_get_text(GTK_ENTRY(grid->reconnect_attempts))); + ++ remmina_plugin_service->pref_set_value("rdp_auth_filter", ++ gtk_entry_get_text(GTK_ENTRY(grid->auth_filter))); ++ + remmina_plugin_service->pref_set_value("rdp_kbd_remap", + gtk_entry_get_text(GTK_ENTRY(grid->kbd_remap))); + +@@ -711,6 +715,34 @@ static void remmina_rdp_settings_grid_init(RemminaPluginRdpsetGrid *grid) + g_free(s); + grid->reconnect_attempts = widget; + ++ ++ widget = gtk_label_new(_("Auth settings")); ++ gtk_widget_show(widget); ++ gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START); ++ gtk_widget_set_valign(GTK_WIDGET(widget), GTK_ALIGN_CENTER); ++ gtk_widget_set_margin_end(GTK_WIDGET(widget), 6); ++ gtk_widget_set_margin_start(GTK_WIDGET(widget), 18); ++ gtk_grid_attach(GTK_GRID(grid), widget, 0, 14, 1, 1); ++ widget = gtk_label_new(_("Auth string")); ++ gtk_widget_show(widget); ++ gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START); ++ gtk_widget_set_valign(GTK_WIDGET(widget), GTK_ALIGN_CENTER); ++ gtk_widget_set_margin_start(GTK_WIDGET(widget), 6); ++ gtk_grid_attach(GTK_GRID(grid), widget, 1, 14, 1, 1); ++ widget = gtk_entry_new(); ++ gtk_widget_show(widget); ++ gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_END); ++ gtk_widget_set_valign(GTK_WIDGET(widget), GTK_ALIGN_CENTER); ++ gtk_grid_attach(GTK_GRID(grid), widget, 2, 14, 1, 1); ++ gtk_entry_set_input_purpose(GTK_ENTRY(widget), GTK_INPUT_PURPOSE_NUMBER); ++ gtk_entry_set_input_hints(GTK_ENTRY(widget), GTK_INPUT_HINT_NONE); ++ gtk_widget_set_tooltip_text(widget, _("Authentication package filter(comma-separated list, use '!' to exclude)")); ++ s = remmina_plugin_service->pref_get_value("rdp_auth_filter"); ++ if (s && s[0]) ++ gtk_entry_set_text(GTK_ENTRY(widget), s); ++ g_free(s); ++ grid->auth_filter = widget; ++ + } + + GtkWidget *remmina_rdp_settings_new(RemminaPrefPlugin* plugin) +-- +GitLab + + +From 169558ef260b620bda05ac824f4bca3696263d8b Mon Sep 17 00:00:00 2001 +From: myheroyuki <myheroyuki@outlook.com> +Date: Tue, 30 Apr 2024 23:29:45 +0900 +Subject: [PATCH 2/3] [REM-3104] make conditional on freerdp3 + +--- + plugins/rdp/rdp_plugin.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/plugins/rdp/rdp_plugin.c b/plugins/rdp/rdp_plugin.c +index 2b44c0280..d5c50cf23 100644 +--- a/plugins/rdp/rdp_plugin.c ++++ b/plugins/rdp/rdp_plugin.c +@@ -2709,13 +2709,13 @@ static void remmina_rdp_init(RemminaProtocolWidget *gp) + rfi->last_y = 0; + + freerdp_register_addin_provider(freerdp_channels_load_static_addin_entry, 0); +- ++#if FREERDP_VERSION_MAJOR >= 3 + auth_list = remmina_plugin_service->pref_get_value("rdp_auth_filter"); + if (auth_list == NULL){ + auth_list = "!kerberos"; + } + freerdp_settings_set_string(rfi->clientContext.context.settings, FreeRDP_AuthenticationPackageList, auth_list); +- ++#endif + remmina_rdp_event_init(gp); + } + +-- +GitLab + + +From 76d0d922f0a7a87f4db9f800e9b6b0d10ca33b91 Mon Sep 17 00:00:00 2001 +From: myheroyuki <myheroyuki@outlook.com> +Date: Wed, 1 May 2024 22:03:22 +0900 +Subject: [PATCH 3/3] [REM-3104] Added fixes courtesy of @giox069 + +--- + plugins/rdp/rdp_plugin.c | 8 ++++---- + plugins/rdp/rdp_settings.c | 9 ++++++++- + 2 files changed, 12 insertions(+), 5 deletions(-) + +diff --git a/plugins/rdp/rdp_plugin.c b/plugins/rdp/rdp_plugin.c +index d5c50cf23..9b2cb85d8 100644 +--- a/plugins/rdp/rdp_plugin.c ++++ b/plugins/rdp/rdp_plugin.c +@@ -2710,11 +2710,11 @@ static void remmina_rdp_init(RemminaProtocolWidget *gp) + + freerdp_register_addin_provider(freerdp_channels_load_static_addin_entry, 0); + #if FREERDP_VERSION_MAJOR >= 3 +- auth_list = remmina_plugin_service->pref_get_value("rdp_auth_filter"); +- if (auth_list == NULL){ +- auth_list = "!kerberos"; ++ if (auth_list != NULL && auth_list[0] != 0){ ++ freerdp_settings_set_string(rfi->clientContext.context.settings, FreeRDP_AuthenticationPackageList, auth_list); + } +- freerdp_settings_set_string(rfi->clientContext.context.settings, FreeRDP_AuthenticationPackageList, auth_list); ++ g_free(auth_list); ++ + #endif + remmina_rdp_event_init(gp); + } +diff --git a/plugins/rdp/rdp_settings.c b/plugins/rdp/rdp_settings.c +index d49270dfc..44c7a4309 100644 +--- a/plugins/rdp/rdp_settings.c ++++ b/plugins/rdp/rdp_settings.c +@@ -66,6 +66,13 @@ void remmina_rdp_settings_init(void) + + g_free(value); + ++ value = remmina_plugin_service->pref_get_value("rdp_auth_filter"); ++ if (value == NULL) { ++ remmina_plugin_service->pref_set_value("rdp_auth_filter", "!kerberos"); ++ } else { ++ g_free(value); ++ } ++ + remmina_rdp_settings_kbd_init(); + } + +@@ -723,7 +730,7 @@ static void remmina_rdp_settings_grid_init(RemminaPluginRdpsetGrid *grid) + gtk_widget_set_margin_end(GTK_WIDGET(widget), 6); + gtk_widget_set_margin_start(GTK_WIDGET(widget), 18); + gtk_grid_attach(GTK_GRID(grid), widget, 0, 14, 1, 1); +- widget = gtk_label_new(_("Auth string")); ++ widget = gtk_label_new(_("FreeRDP auth-pkg-list")); + gtk_widget_show(widget); + gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START); + gtk_widget_set_valign(GTK_WIDGET(widget), GTK_ALIGN_CENTER); +-- +GitLab + |