diff --git a/.gitignore b/.gitignore index ba9d331..6854315 100644 --- a/.gitignore +++ b/.gitignore @@ -69,3 +69,4 @@ remmina-0.7.5.tar.gz /remmina-1.4.25.tar.gz /remmina-1.4.26.tar.gz /remmina-1.4.27.tar.gz +/remmina-1.4.28.tar.gz diff --git a/remmina.spec b/remmina.spec index fc7d9b3..5865a32 100644 --- a/remmina.spec +++ b/remmina.spec @@ -1,11 +1,11 @@ -%global release_commit_hash 9d409a3556c8c2759a376b4f4ac5149db7aacf4f +%global release_commit_hash 852ceab35b0feaba07124265d0e2fa8c629b9dc1 # Use old cmake macro behaviour. %define __cmake_in_source_build 1 Name: remmina -Version: 1.4.27 -Release: 4%{?dist} +Version: 1.4.28 +Release: 1%{?dist} Summary: Remote Desktop Client License: GPLv2+ and MIT URL: https://remmina.org @@ -18,9 +18,6 @@ Source0: https://gitlab.com/Remmina/Remmina/-/archive/v%{version}/Remmina-%{vers # So we can't use it directly only as instructions. Source1: pluginBuild-CMakeLists.txt -# Patches. -Patch0: various_rdp_fixes_from_upstream.patch - BuildRequires: cmake BuildRequires: cups-devel BuildRequires: desktop-file-utils @@ -337,6 +334,15 @@ appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/*.appdat %{_mandir}/man1/remmina-gnome.1.* %changelog +* Sat Dec 03 2022 Phil Wyett - 1.4.28-1 +- New upstream version 1.4.28. + +* Mon Oct 10 2022 Phil Wyett - 1.4.27-6 +- Add patch: libsoup_2_and_3_support.patch + +* Sat Jul 23 2022 Fedora Release Engineering - 1.4.27-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Thu Jun 30 2022 Phil Wyett - 1.4.27-4 - Install CHANGELOG.md not no longer updated ChangeLog file. diff --git a/sources b/sources index c3012f1..25cda79 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (remmina-1.4.27.tar.gz) = 3ed2a87c8229b03772a0a55cb66a1f71648d39d24467dde1e9546711295b9e06c06599fbf309ebb7c2eae4cdd4c0bd1b0dc2879b4dda412e90d0df272dd3cabd +SHA512 (remmina-1.4.28.tar.gz) = 2b230a162637df00e8196e3fa4d56302fadb43498a5d96b9ac01ebf3881159e711251a1b4123964807c7a889c66cd9383059f43a2654ebb7a0c36655661cc42b diff --git a/various_rdp_fixes_from_upstream.patch b/various_rdp_fixes_from_upstream.patch deleted file mode 100644 index 81fdb76..0000000 --- a/various_rdp_fixes_from_upstream.patch +++ /dev/null @@ -1,339 +0,0 @@ -From aa6adce364a54ee644c4886c94e62c0285e23311 Mon Sep 17 00:00:00 2001 -From: akallabeth -Date: Fri, 24 Jun 2022 09:09:10 +0200 -Subject: [PATCH 1/5] Fixed missing static for functions in RDP plugin. - ---- - plugins/rdp/rdp_plugin.c | 37 +++++++++++++++++-------------------- - 1 file changed, 17 insertions(+), 20 deletions(-) - -diff --git a/plugins/rdp/rdp_plugin.c b/plugins/rdp/rdp_plugin.c -index 3e65a179f..100f18bc9 100644 ---- a/plugins/rdp/rdp_plugin.c -+++ b/plugins/rdp/rdp_plugin.c -@@ -386,7 +386,7 @@ static gboolean remmina_rdp_tunnel_init(RemminaProtocolWidget *gp) - return TRUE; - } - --BOOL rf_auto_reconnect(rfContext *rfi) -+static BOOL rf_auto_reconnect(rfContext *rfi) - { - TRACE_CALL(__func__); - rdpSettings *settings = rfi->instance->settings; -@@ -503,7 +503,7 @@ BOOL rf_auto_reconnect(rfContext *rfi) - return FALSE; - } - --BOOL rf_begin_paint(rdpContext *context) -+static BOOL rf_begin_paint(rdpContext *context) - { - TRACE_CALL(__func__); - rdpGdi *gdi; -@@ -518,7 +518,7 @@ BOOL rf_begin_paint(rdpContext *context) - return TRUE; - } - --BOOL rf_end_paint(rdpContext *context) -+static BOOL rf_end_paint(rdpContext *context) - { - TRACE_CALL(__func__); - rdpGdi *gdi; -@@ -648,7 +648,7 @@ static BOOL rf_keyboard_set_indicators(rdpContext *context, UINT16 led_flags) - return TRUE; - } - --BOOL rf_keyboard_set_ime_status(rdpContext *context, UINT16 imeId, UINT32 imeState, -+static BOOL rf_keyboard_set_ime_status(rdpContext *context, UINT16 imeId, UINT32 imeState, - UINT32 imeConvMode) - { - TRACE_CALL(__func__); -@@ -660,7 +660,6 @@ BOOL rf_keyboard_set_ime_status(rdpContext *context, UINT16 imeId, UINT32 imeSta - return TRUE; - } - -- - static BOOL remmina_rdp_pre_connect(freerdp *instance) - { - TRACE_CALL(__func__); -@@ -901,8 +900,8 @@ static BOOL remmina_rdp_gw_authenticate(freerdp *instance, char **username, char - } - - static DWORD remmina_rdp_verify_certificate_ex(freerdp *instance, const char *host, UINT16 port, -- const char *common_name, const char *subject, -- const char *issuer, const char *fingerprint, DWORD flags) -+ const char *common_name, const char *subject, -+ const char *issuer, const char *fingerprint, DWORD flags) - { - TRACE_CALL(__func__); - gint status; -@@ -924,7 +923,7 @@ static DWORD - remmina_rdp_verify_certificate(freerdp *instance, const char *common_name, const char *subject, const char *issuer, const char *fingerprint, BOOL host_mismatch) __attribute__ ((unused)); - static DWORD - remmina_rdp_verify_certificate(freerdp *instance, const char *common_name, const char *subject, -- const char *issuer, const char *fingerprint, BOOL host_mismatch) -+ const char *issuer, const char *fingerprint, BOOL host_mismatch) - { - TRACE_CALL(__func__); - gint status; -@@ -943,10 +942,10 @@ remmina_rdp_verify_certificate(freerdp *instance, const char *common_name, const - } - - static DWORD remmina_rdp_verify_changed_certificate_ex(freerdp *instance, const char *host, UINT16 port, -- const char *common_name, const char *subject, -- const char *issuer, const char *fingerprint, -- const char *old_subject, const char *old_issuer, -- const char *old_fingerprint, DWORD flags) -+ const char *common_name, const char *subject, -+ const char *issuer, const char *fingerprint, -+ const char *old_subject, const char *old_issuer, -+ const char *old_fingerprint, DWORD flags) - { - TRACE_CALL(__func__); - gint status; -@@ -974,7 +973,7 @@ static void remmina_rdp_post_disconnect(freerdp *instance) - PubSub_UnsubscribeChannelConnected(instance->context->pubSub, - (pChannelConnectedEventHandler)remmina_rdp_OnChannelConnectedEventHandler); - PubSub_UnsubscribeChannelDisconnected(instance->context->pubSub, -- (pChannelDisconnectedEventHandler)remmina_rdp_OnChannelDisconnectedEventHandler); -+ (pChannelDisconnectedEventHandler)remmina_rdp_OnChannelDisconnectedEventHandler); - - /* The remaining cleanup will be continued on main thread by complete_cleanup_on_main_thread() */ - } -@@ -982,15 +981,13 @@ static void remmina_rdp_post_disconnect(freerdp *instance) - static void remmina_rdp_main_loop(RemminaProtocolWidget *gp) - { - TRACE_CALL(__func__); -- DWORD nCount; - DWORD status; -- HANDLE handles[64]; - gchar buf[100]; - rfContext *rfi = GET_PLUGIN_DATA(gp); - -- - while (!freerdp_shall_disconnect(rfi->instance)) { -- nCount = freerdp_get_event_handles(rfi->instance->context, &handles[0], 64); -+ HANDLE handles[64]={0}; -+ DWORD nCount = freerdp_get_event_handles(rfi->instance->context, &handles[0], 64); - if (rfi->event_handle) - handles[nCount++] = rfi->event_handle; - -@@ -1040,7 +1037,7 @@ static void remmina_rdp_main_loop(RemminaProtocolWidget *gp) - REMMINA_PLUGIN_DEBUG("RDP client disconnected"); - } - --int remmina_rdp_load_static_channel_addin(rdpChannels *channels, rdpSettings *settings, char *name, void *data) -+static int remmina_rdp_load_static_channel_addin(rdpChannels *channels, rdpSettings *settings, char *name, void *data) - { - TRACE_CALL(__func__); - PVIRTUALCHANNELENTRY entry = NULL; -@@ -1067,7 +1064,7 @@ int remmina_rdp_load_static_channel_addin(rdpChannels *channels, rdpSettings *se - return FALSE; - } - --gchar *remmina_rdp_find_prdriver(char *smap, char *prn) -+static gchar *remmina_rdp_find_prdriver(char *smap, char *prn) - { - char c, *p, *dr; - int matching; -@@ -1142,7 +1139,7 @@ found: - * - For each enumerated local printer tries to set the Printer Name and Driver. - * @return 1 if there are other printers to scan or 0 when it's done. - */ --int remmina_rdp_set_printers(void *user_data, unsigned flags, cups_dest_t *dest) -+static int remmina_rdp_set_printers(void *user_data, unsigned flags, cups_dest_t *dest) - { - rfContext *rfi = (rfContext *)user_data; - RemminaProtocolWidget *gp = rfi->protocol_widget; --- -GitLab - - -From 8ed56b6e50a9a6c9df87bff84dfcbc379adbccf4 Mon Sep 17 00:00:00 2001 -From: akallabeth -Date: Fri, 24 Jun 2022 11:46:53 +0200 -Subject: [PATCH 2/5] Fixed type of channel connect/disconnect callbacks - ---- - plugins/rdp/rdp_channels.c | 8 ++++---- - plugins/rdp/rdp_channels.h | 4 ++-- - plugins/rdp/rdp_plugin.c | 8 ++++---- - 3 files changed, 10 insertions(+), 10 deletions(-) - -diff --git a/plugins/rdp/rdp_channels.c b/plugins/rdp/rdp_channels.c -index f5089b7c1..249e56ef5 100644 ---- a/plugins/rdp/rdp_channels.c -+++ b/plugins/rdp/rdp_channels.c -@@ -43,7 +43,7 @@ - #include - #include - --void remmina_rdp_OnChannelConnectedEventHandler(rdpContext* context, ChannelConnectedEventArgs* e) -+void remmina_rdp_OnChannelConnectedEventHandler(void* context, ChannelConnectedEventArgs* e) - { - TRACE_CALL(__func__); - -@@ -58,7 +58,7 @@ void remmina_rdp_OnChannelConnectedEventHandler(rdpContext* context, ChannelConn - }else if (g_strcmp0(e->name, RDPGFX_DVC_CHANNEL_NAME) == 0) { - if (freerdp_settings_get_bool(rfi->settings, FreeRDP_SoftwareGdi)) { - rfi->rdpgfxchan = TRUE; -- gdi_graphics_pipeline_init(context->gdi, (RdpgfxClientContext*) e->pInterface); -+ gdi_graphics_pipeline_init(rfi->context.gdi, (RdpgfxClientContext*) e->pInterface); - } - else - g_print("Unimplemented: channel %s connected but libfreerdp is in HardwareGdi mode\n", e->name); -@@ -83,14 +83,14 @@ void remmina_rdp_OnChannelConnectedEventHandler(rdpContext* context, ChannelConn - REMMINA_PLUGIN_DEBUG("Channel %s has been opened", e->name); - } - --void remmina_rdp_OnChannelDisconnectedEventHandler(rdpContext* context, ChannelConnectedEventArgs* e) -+void remmina_rdp_OnChannelDisconnectedEventHandler(void* context, ChannelConnectedEventArgs* e) - { - TRACE_CALL(__func__); - rfContext* rfi = (rfContext*)context; - - if (strcmp(e->name, RDPGFX_DVC_CHANNEL_NAME) == 0) { - if (freerdp_settings_get_bool(rfi->settings, FreeRDP_SoftwareGdi)) -- gdi_graphics_pipeline_uninit(context->gdi, (RdpgfxClientContext*) e->pInterface); -+ gdi_graphics_pipeline_uninit(rfi->context.gdi, (RdpgfxClientContext*) e->pInterface); - } - REMMINA_PLUGIN_DEBUG("Channel %s has been closed", e->name); - -diff --git a/plugins/rdp/rdp_channels.h b/plugins/rdp/rdp_channels.h -index 61d46f530..2bd3dcd87 100644 ---- a/plugins/rdp/rdp_channels.h -+++ b/plugins/rdp/rdp_channels.h -@@ -48,8 +48,8 @@ - - G_BEGIN_DECLS - --void remmina_rdp_OnChannelConnectedEventHandler(rdpContext *context, ChannelConnectedEventArgs *e); --void remmina_rdp_OnChannelDisconnectedEventHandler(rdpContext *context, ChannelConnectedEventArgs *e); -+void remmina_rdp_OnChannelConnectedEventHandler(void *context, ChannelConnectedEventArgs *e); -+void remmina_rdp_OnChannelDisconnectedEventHandler(void *context, ChannelConnectedEventArgs *e); - - - G_END_DECLS -diff --git a/plugins/rdp/rdp_plugin.c b/plugins/rdp/rdp_plugin.c -index 100f18bc9..b7c6b8360 100644 ---- a/plugins/rdp/rdp_plugin.c -+++ b/plugins/rdp/rdp_plugin.c -@@ -675,9 +675,9 @@ static BOOL remmina_rdp_pre_connect(freerdp *instance) - freerdp_settings_set_uint32(settings, FreeRDP_OffscreenSupportLevel, 1); - - PubSub_SubscribeChannelConnected(instance->context->pubSub, -- (pChannelConnectedEventHandler)remmina_rdp_OnChannelConnectedEventHandler); -+ remmina_rdp_OnChannelConnectedEventHandler); - PubSub_SubscribeChannelDisconnected(instance->context->pubSub, -- (pChannelDisconnectedEventHandler)remmina_rdp_OnChannelDisconnectedEventHandler); -+ remmina_rdp_OnChannelDisconnectedEventHandler); - - if (!freerdp_client_load_addins(channels, settings)) - return FALSE; -@@ -971,9 +971,9 @@ static void remmina_rdp_post_disconnect(freerdp *instance) - return; - - PubSub_UnsubscribeChannelConnected(instance->context->pubSub, -- (pChannelConnectedEventHandler)remmina_rdp_OnChannelConnectedEventHandler); -+ remmina_rdp_OnChannelConnectedEventHandler); - PubSub_UnsubscribeChannelDisconnected(instance->context->pubSub, -- (pChannelDisconnectedEventHandler)remmina_rdp_OnChannelDisconnectedEventHandler); -+ remmina_rdp_OnChannelDisconnectedEventHandler); - - /* The remaining cleanup will be continued on main thread by complete_cleanup_on_main_thread() */ - } --- -GitLab - - -From 1286fdfff27fb0750efb8dcf2d5695b16bfedf6a Mon Sep 17 00:00:00 2001 -From: akallabeth -Date: Fri, 24 Jun 2022 11:53:15 +0200 -Subject: [PATCH 3/5] Fixed a memory leak - ---- - src/remmina_ssh_plugin.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/remmina_ssh_plugin.c b/src/remmina_ssh_plugin.c -index 47a45ea84..f78981371 100644 ---- a/src/remmina_ssh_plugin.c -+++ b/src/remmina_ssh_plugin.c -@@ -1263,6 +1263,8 @@ remmina_plugin_ssh_init(RemminaProtocolWidget *gp) - sshlogname = remmina_file_format_properties(remminafile, sshlogname); - - fp = g_strconcat(dir, "/", sshlogname, NULL); -+ g_free(sshlogname); -+ - gpdata->vte_session_file = g_file_new_for_path(fp); - g_free(fp); - --- -GitLab - - -From 399d574f386333c4edf6a1c4412edbed8fbbed43 Mon Sep 17 00:00:00 2001 -From: akallabeth -Date: Fri, 24 Jun 2022 11:55:58 +0200 -Subject: [PATCH 4/5] Fixed memory leak - ---- - src/remmina_ext_exec.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/remmina_ext_exec.c b/src/remmina_ext_exec.c -index 1182266f1..6414c8c4a 100644 ---- a/src/remmina_ext_exec.c -+++ b/src/remmina_ext_exec.c -@@ -125,7 +125,9 @@ GtkDialog* remmina_ext_exec_new(RemminaFile* remminafile, const char *remmina_ex - g_error_free(error); - } - g_strfreev(argv); -+ g_free(cmd); - return (pcspinner->dialog); - } -+ g_free(cmd); - return FALSE; - } --- -GitLab - - -From 9d348df4adb53580e4732f784337f12cd8680e1b Mon Sep 17 00:00:00 2001 -From: akallabeth -Date: Fri, 24 Jun 2022 12:26:22 +0200 -Subject: [PATCH 5/5] Fixed ChannelDisconnected argument types - ---- - plugins/rdp/rdp_channels.c | 2 +- - plugins/rdp/rdp_channels.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/plugins/rdp/rdp_channels.c b/plugins/rdp/rdp_channels.c -index 249e56ef5..e90c563a4 100644 ---- a/plugins/rdp/rdp_channels.c -+++ b/plugins/rdp/rdp_channels.c -@@ -83,7 +83,7 @@ void remmina_rdp_OnChannelConnectedEventHandler(void* context, ChannelConnectedE - REMMINA_PLUGIN_DEBUG("Channel %s has been opened", e->name); - } - --void remmina_rdp_OnChannelDisconnectedEventHandler(void* context, ChannelConnectedEventArgs* e) -+void remmina_rdp_OnChannelDisconnectedEventHandler(void* context, ChannelDisconnectedEventArgs* e) - { - TRACE_CALL(__func__); - rfContext* rfi = (rfContext*)context; -diff --git a/plugins/rdp/rdp_channels.h b/plugins/rdp/rdp_channels.h -index 2bd3dcd87..92ae3efbd 100644 ---- a/plugins/rdp/rdp_channels.h -+++ b/plugins/rdp/rdp_channels.h -@@ -49,7 +49,7 @@ - G_BEGIN_DECLS - - void remmina_rdp_OnChannelConnectedEventHandler(void *context, ChannelConnectedEventArgs *e); --void remmina_rdp_OnChannelDisconnectedEventHandler(void *context, ChannelConnectedEventArgs *e); -+void remmina_rdp_OnChannelDisconnectedEventHandler(void *context, ChannelDisconnectedEventArgs *e); - - - G_END_DECLS --- -GitLab -