From 4da9c8463ed87c0be244c0d5a63ab2454d8100f3 Mon Sep 17 00:00:00 2001 From: weijin-deng Date: Tue, 6 Jul 2021 18:05:51 +0800 Subject: [PATCH] Upgrade to 0.1.9 --- ...d-Bump-pipewire-requirement-to-0.2.2.patch | 25 --- ...vnc-Don-t-requeue-close-session-idle.patch | 84 -------- ...Add-anonymous-TLS-encryption-support.patch | 191 ++++++++---------- ...ream-Close-session-when-disconnected.patch | 28 --- gnome-remote-desktop-0.1.6.tar.xz | Bin 24612 -> 0 bytes gnome-remote-desktop-0.1.9.tar.xz | Bin 0 -> 38040 bytes gnome-remote-desktop.spec | 22 +- 7 files changed, 91 insertions(+), 259 deletions(-) delete mode 100644 0001-meson.build-Bump-pipewire-requirement-to-0.2.2.patch delete mode 100644 0001-session-vnc-Don-t-requeue-close-session-idle.patch delete mode 100644 0002-vnc-pipewire-stream-Close-session-when-disconnected.patch delete mode 100644 gnome-remote-desktop-0.1.6.tar.xz create mode 100644 gnome-remote-desktop-0.1.9.tar.xz diff --git a/0001-meson.build-Bump-pipewire-requirement-to-0.2.2.patch b/0001-meson.build-Bump-pipewire-requirement-to-0.2.2.patch deleted file mode 100644 index 62b84b2..0000000 --- a/0001-meson.build-Bump-pipewire-requirement-to-0.2.2.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 8f760d73df6011330cd09da7ca7b8a3f40c9a3ef Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jonas=20=C3=85dahl?= -Date: Tue, 7 Aug 2018 13:35:43 +0200 -Subject: [PATCH] meson.build: Bump pipewire requirement to 0.2.2 - ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 6951b89..34ec5ea 100644 ---- a/meson.build -+++ b/meson.build -@@ -10,7 +10,7 @@ gnome = import('gnome') - glib_dep = dependency('glib-2.0') - gio_dep = dependency('gio-2.0') - gio_unix_dep = dependency('gio-unix-2.0') --pipewire_dep = dependency('libpipewire-0.1') -+pipewire_dep = dependency('libpipewire-0.2', version: '>= 0.2.2') - systemd_dep = dependency('systemd') - libvncserver_dep = dependency('libvncserver') - libsecret_dep = dependency('libsecret-1') --- -2.17.1 - diff --git a/0001-session-vnc-Don-t-requeue-close-session-idle.patch b/0001-session-vnc-Don-t-requeue-close-session-idle.patch deleted file mode 100644 index 20a3f56..0000000 --- a/0001-session-vnc-Don-t-requeue-close-session-idle.patch +++ /dev/null @@ -1,84 +0,0 @@ -From add0ea34fd1d6835c99aebeb4e56b805b38e53ec Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jonas=20=C3=85dahl?= -Date: Mon, 1 Oct 2018 18:02:39 +0200 -Subject: [PATCH 1/2] session/vnc: Don't requeue close session idle - -If being closed due to a PipeWire error, RFB will still process state -and invoke callbacks when cleaning up the RFB screen, meaning we'd -requeue the close session idle handler. Avoid this by avoiding -requeueing if there is already one queued, and don't mark is as unqueued -until after actually stopping the session. ---- - src/grd-session-vnc.c | 28 ++++++++++++++++++---------- - 1 file changed, 18 insertions(+), 10 deletions(-) - -diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c -index ce4dd29..3c98eeb 100644 ---- a/src/grd-session-vnc.c -+++ b/src/grd-session-vnc.c -@@ -165,6 +165,16 @@ grd_session_vnc_draw_buffer (GrdSessionVnc *session_vnc, - rfbProcessEvents (session_vnc->rfb_screen, 0); - } - -+static void -+maybe_queue_close_session_idle (GrdSessionVnc *session_vnc) -+{ -+ if (session_vnc->close_session_idle_id) -+ return; -+ -+ session_vnc->close_session_idle_id = -+ g_idle_add (close_session_idle, session_vnc); -+} -+ - static void - handle_client_gone (rfbClientPtr rfb_client) - { -@@ -172,8 +182,7 @@ handle_client_gone (rfbClientPtr rfb_client) - - g_debug ("VNC client gone"); - -- session_vnc->close_session_idle_id = -- g_idle_add (close_session_idle, session_vnc); -+ maybe_queue_close_session_idle (session_vnc); - } - - static void -@@ -670,12 +679,6 @@ grd_session_vnc_stop (GrdSession *session) - - g_debug ("Stopping VNC session"); - -- if (session_vnc->close_session_idle_id) -- { -- g_source_remove (session_vnc->close_session_idle_id); -- session_vnc->close_session_idle_id = 0; -- } -- - g_clear_object (&session_vnc->pipewire_stream); - - grd_session_vnc_detach_source (session_vnc); -@@ -683,6 +686,12 @@ grd_session_vnc_stop (GrdSession *session) - g_clear_object (&session_vnc->connection); - g_clear_pointer (&session_vnc->rfb_screen->frameBuffer, g_free); - g_clear_pointer (&session_vnc->rfb_screen, (GDestroyNotify) rfbScreenCleanup); -+ -+ if (session_vnc->close_session_idle_id) -+ { -+ g_source_remove (session_vnc->close_session_idle_id); -+ session_vnc->close_session_idle_id = 0; -+ } - } - - static gboolean -@@ -703,8 +712,7 @@ on_pipwire_stream_closed (GrdVncPipeWireStream *stream, - { - g_warning ("PipeWire stream closed, closing client"); - -- session_vnc->close_session_idle_id = -- g_idle_add (close_session_idle, session_vnc); -+ maybe_queue_close_session_idle (session_vnc); - } - - static void --- -2.17.1 - diff --git a/0001-vnc-Add-anonymous-TLS-encryption-support.patch b/0001-vnc-Add-anonymous-TLS-encryption-support.patch index fe25694..921d19e 100644 --- a/0001-vnc-Add-anonymous-TLS-encryption-support.patch +++ b/0001-vnc-Add-anonymous-TLS-encryption-support.patch @@ -25,15 +25,15 @@ VNC connection. create mode 100644 src/grd-vnc-tls.h diff --git a/meson.build b/meson.build -index d8e20d2..f8c8cee 100644 +index af423a4..813c97f 100644 --- a/meson.build +++ b/meson.build -@@ -15,6 +15,7 @@ systemd_dep = dependency('systemd') - libvncserver_dep = dependency('libvncserver') +@@ -20,6 +20,7 @@ libvncclient_dep = dependency('libvncclient') libsecret_dep = dependency('libsecret-1') libnotify_dep = dependency('libnotify') + winpr_dep = dependency('winpr2', version: freerdp_req) +gnutls_dep = dependency('gnutls') - + cdata = configuration_data() cdata.set_quoted('GETTEXT_PACKAGE', 'gnome-remote-desktop') diff --git a/src/grd-enums.h b/src/grd-enums.h @@ -43,7 +43,7 @@ index ffab821..4333863 100644 @@ -27,4 +27,10 @@ typedef enum GRD_VNC_AUTH_METHOD_PASSWORD } GrdVncAuthMethod; - + +typedef enum +{ + GRD_VNC_ENCRYPTION_NONE = 1 << 0, @@ -52,23 +52,23 @@ index ffab821..4333863 100644 + #endif /* GRD_ENUMS_H */ diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c -index 5d40971..ce4dd29 100644 +index 813838a..4bfb46e 100644 --- a/src/grd-session-vnc.c +++ b/src/grd-session-vnc.c @@ -44,7 +44,9 @@ struct _GrdSessionVnc { GrdSession parent; - + + GrdVncServer *vnc_server; GSocketConnection *connection; + GList *socket_grabs; GSource *source; rfbScreenInfoPtr rfb_screen; rfbClientPtr rfb_client; -@@ -465,12 +467,30 @@ check_rfb_password (rfbClientPtr rfb_client, +@@ -511,12 +513,30 @@ check_rfb_password (rfbClientPtr rfb_client, } } - + +int +grd_session_vnc_get_fd (GrdSessionVnc *session_vnc) +{ @@ -80,7 +80,7 @@ index 5d40971..ce4dd29 100644 { return session_vnc->rfb_screen->paddedWidthInBytes; } - + +rfbClientPtr +grd_session_vnc_get_rfb_client (GrdSessionVnc *session_vnc) +{ @@ -96,10 +96,10 @@ index 5d40971..ce4dd29 100644 static void init_vnc_session (GrdSessionVnc *session_vnc) { -@@ -509,33 +529,74 @@ init_vnc_session (GrdSessionVnc *session_vnc) +@@ -557,33 +577,74 @@ init_vnc_session (GrdSessionVnc *session_vnc) rfbProcessEvents (rfb_screen, 0); } - + +void +grd_session_vnc_grab_socket (GrdSessionVnc *session_vnc, + GrdVncSocketGrabFunc grab_func) @@ -145,7 +145,7 @@ index 5d40971..ce4dd29 100644 - GrdSessionVnc *session_vnc = user_data; + GrdSessionVnc *session_vnc = GRD_SESSION_VNC (user_data); + GrdSession *session = GRD_SESSION (session_vnc); - + - if (condition & G_IO_IN) + if (condition & (G_IO_ERR | G_IO_HUP)) + { @@ -164,7 +164,7 @@ index 5d40971..ce4dd29 100644 { - rfbProcessEvents (session_vnc->rfb_screen, 0); + g_warning ("Error when reading socket: %s", error->message); - + - if (session_vnc->pending_framebuffer_resize && - session_vnc->rfb_client->preferredEncoding != -1) - { @@ -173,7 +173,7 @@ index 5d40971..ce4dd29 100644 - session_vnc->pending_framebuffer_height); - session_vnc->pending_framebuffer_resize = FALSE; - } -+ grd_session_stop (session); ++ grd_session_stop (session); } } else @@ -183,10 +183,10 @@ index 5d40971..ce4dd29 100644 + g_warning ("Unhandled socket condition %d\n", condition); + g_assert_not_reached (); } - + return G_SOURCE_CONTINUE; -@@ -548,7 +609,10 @@ grd_session_vnc_attach_source (GrdSessionVnc *session_vnc) - +@@ -596,7 +657,10 @@ grd_session_vnc_attach_source (GrdSessionVnc *session_vnc) + socket = g_socket_connection_get_socket (session_vnc->connection); session_vnc->source = g_socket_create_source (socket, - G_IO_IN | G_IO_PRI, @@ -197,56 +197,48 @@ index 5d40971..ce4dd29 100644 NULL); g_source_set_callback (session_vnc->source, (GSourceFunc) handle_socket_data, -@@ -574,8 +638,10 @@ grd_session_vnc_new (GrdVncServer *vnc_server, +@@ -622,8 +686,10 @@ grd_session_vnc_new (GrdVncServer *vnc_server, "context", context, NULL); - + + session_vnc->vnc_server = vnc_server; session_vnc->connection = g_object_ref (connection); - + + grd_session_vnc_grab_socket (session_vnc, vnc_socket_grab_func); grd_session_vnc_attach_source (session_vnc); - + init_vnc_session (session_vnc); -@@ -590,6 +656,8 @@ grd_session_vnc_dispose (GObject *object) - +@@ -638,6 +704,8 @@ grd_session_vnc_dispose (GObject *object) + g_assert (!session_vnc->rfb_screen); - + + g_clear_pointer (&session_vnc->socket_grabs, g_list_free); + g_clear_pointer (&session_vnc->pressed_keys, g_hash_table_unref); - + G_OBJECT_CLASS (grd_session_vnc_parent_class)->dispose (object); diff --git a/src/grd-session-vnc.h b/src/grd-session-vnc.h -index 6bd067a..33245bc 100644 +index 579a12a..912dfef 100644 --- a/src/grd-session-vnc.h +++ b/src/grd-session-vnc.h -@@ -25,6 +25,7 @@ - - #include - #include -+#include - - #include "grd-session.h" - #include "grd-types.h" -@@ -35,6 +36,9 @@ G_DECLARE_FINAL_TYPE (GrdSessionVnc, +@@ -36,6 +36,9 @@ G_DECLARE_FINAL_TYPE (GrdSessionVnc, GRD, SESSION_VNC, GrdSession); - + +typedef gboolean (* GrdVncSocketGrabFunc) (GrdSessionVnc *session_vnc, + GError **error); + GrdSessionVnc *grd_session_vnc_new (GrdVncServer *vnc_server, GSocketConnection *connection); - -@@ -45,6 +49,18 @@ void grd_session_vnc_queue_resize_framebuffer (GrdSessionVnc *session_vnc, - void grd_session_vnc_draw_buffer (GrdSessionVnc *session_vnc, - void *data); - + +@@ -55,6 +58,18 @@ void grd_session_vnc_move_cursor (GrdSessionVnc *session_vnc, + int x, + int y); + +int grd_session_vnc_get_fd (GrdSessionVnc *session_vnc); + int grd_session_vnc_get_framebuffer_stride (GrdSessionVnc *session_vnc); - + +rfbClientPtr grd_session_vnc_get_rfb_client (GrdSessionVnc *session_vnc); + +void grd_session_vnc_grab_socket (GrdSessionVnc *session_vnc, @@ -259,21 +251,21 @@ index 6bd067a..33245bc 100644 + #endif /* GRD_SESSION_VNC_H */ diff --git a/src/grd-settings.c b/src/grd-settings.c -index a3a2afa..c886b7e 100644 +index 3af87be..1c7dc4b 100644 --- a/src/grd-settings.c +++ b/src/grd-settings.c -@@ -46,6 +46,7 @@ struct _GrdSettings +@@ -59,6 +59,7 @@ struct _GrdSettings GSettings *settings; gboolean view_only; GrdVncAuthMethod auth_method; + GrdVncEncryption encryption; + int port; } vnc; }; - -@@ -87,6 +88,12 @@ grd_settings_get_vnc_auth_method (GrdSettings *settings) - return settings->vnc.auth_method; +@@ -253,6 +254,12 @@ update_rdp_view_only (GrdSettings *settings) + "view-only"); } - + +GrdVncEncryption +grd_settings_get_vnc_encryption (GrdSettings *settings) +{ @@ -283,10 +275,10 @@ index a3a2afa..c886b7e 100644 static void update_vnc_view_only (GrdSettings *settings) { -@@ -101,6 +108,13 @@ update_vnc_auth_method (GrdSettings *settings) - "auth-method"); +@@ -289,6 +296,13 @@ on_rdp_settings_changed (GSettings *rdp_settings, + } } - + +static void +update_vnc_encryption (GrdSettings *settings) +{ @@ -297,7 +289,7 @@ index a3a2afa..c886b7e 100644 static void on_vnc_settings_changed (GSettings *vnc_settings, const char *key, -@@ -116,6 +130,11 @@ on_vnc_settings_changed (GSettings *vnc_settings, +@@ -304,6 +318,11 @@ on_vnc_settings_changed (GSettings *vnc_settings, update_vnc_auth_method (settings); g_signal_emit (settings, signals[VNC_AUTH_METHOD_CHANGED], 0); } @@ -307,17 +299,17 @@ index a3a2afa..c886b7e 100644 + g_signal_emit (settings, signals[VNC_ENCRYPTION_CHANGED], 0); + } } - + static void -@@ -137,6 +156,7 @@ grd_settings_init (GrdSettings *settings) - +@@ -332,6 +351,7 @@ grd_settings_init (GrdSettings *settings) + update_rdp_view_only (settings); update_vnc_view_only (settings); update_vnc_auth_method (settings); + update_vnc_encryption (settings); - } - - static void -@@ -160,4 +180,11 @@ grd_settings_class_init (GrdSettingsClass *klass) + + settings->rdp.port = GRD_RDP_SERVER_PORT; + settings->vnc.port = GRD_VNC_SERVER_PORT; +@@ -379,4 +399,11 @@ grd_settings_class_init (GrdSettingsClass *klass) 0, NULL, NULL, NULL, G_TYPE_NONE, 0); @@ -330,38 +322,32 @@ index a3a2afa..c886b7e 100644 + G_TYPE_NONE, 0); } diff --git a/src/grd-settings.h b/src/grd-settings.h -index 9b23b09..4bca403 100644 +index e12e47e..b940fdb 100644 --- a/src/grd-settings.h +++ b/src/grd-settings.h -@@ -40,4 +40,6 @@ gboolean grd_settings_get_vnc_view_only (GrdSettings *settings); - +@@ -64,4 +64,6 @@ gboolean grd_settings_get_vnc_view_only (GrdSettings *settings); + GrdVncAuthMethod grd_settings_get_vnc_auth_method (GrdSettings *settings); - + +GrdVncEncryption grd_settings_get_vnc_encryption (GrdSettings *settings); + #endif /* GRD_SETTINGS_H */ diff --git a/src/grd-vnc-server.c b/src/grd-vnc-server.c -index a8fed02..769b7ec 100644 +index a6d95cb..98b23c9 100644 --- a/src/grd-vnc-server.c +++ b/src/grd-vnc-server.c -@@ -24,11 +24,13 @@ - - #include "grd-vnc-server.h" - -+#include - #include - #include - +@@ -29,6 +29,7 @@ + #include "grd-context.h" #include "grd-session-vnc.h" +#include "grd-vnc-tls.h" - - #define GRD_VNC_SERVER_PORT 5900 - -@@ -131,6 +133,43 @@ on_incoming (GSocketService *service, + + + enum +@@ -130,6 +131,43 @@ on_incoming (GSocketService *service, return TRUE; } - + +static void +sync_encryption_settings (GrdVncServer *vnc_server) +{ @@ -402,17 +388,17 @@ index a8fed02..769b7ec 100644 gboolean grd_vnc_server_start (GrdVncServer *vnc_server, GError **error) -@@ -219,12 +258,18 @@ static void +@@ -220,12 +258,18 @@ static void grd_vnc_server_constructed (GObject *object) { GrdVncServer *vnc_server = GRD_VNC_SERVER (object); + GrdSettings *settings = grd_context_get_settings (vnc_server->context); - + if (grd_context_get_debug_flags (vnc_server->context) & GRD_DEBUG_VNC) rfbLogEnable (1); else rfbLogEnable (0); - + + g_signal_connect (settings, "vnc-encryption-changed", + G_CALLBACK (on_vnc_encryption_changed), + vnc_server); @@ -420,13 +406,13 @@ index a8fed02..769b7ec 100644 + G_OBJECT_CLASS (grd_vnc_server_parent_class)->constructed (object); } - + diff --git a/src/grd-vnc-tls.c b/src/grd-vnc-tls.c new file mode 100644 -index 0000000..8fc0fc2 +index 0000000..a77b91f --- /dev/null +++ b/src/grd-vnc-tls.c -@@ -0,0 +1,444 @@ +@@ -0,0 +1,445 @@ +/* + * Copyright (C) 2018 Red Hat Inc. + * @@ -871,6 +857,7 @@ index 0000000..8fc0fc2 +{ + return &anon_tls_security_handler; +} ++ diff --git a/src/grd-vnc-tls.h b/src/grd-vnc-tls.h new file mode 100644 index 0000000..135ef8c @@ -906,48 +893,28 @@ index 0000000..135ef8c + +#endif /* GRD_VNC_TLS_H */ diff --git a/src/meson.build b/src/meson.build -index 70e2102..b633ad7 100644 +index 1b6425d..2b8aeea 100644 --- a/src/meson.build +++ b/src/meson.build -@@ -19,6 +19,8 @@ daemon_sources = files([ +@@ -33,6 +33,8 @@ daemon_sources = files([ 'grd-vnc-pipewire-stream.h', 'grd-vnc-server.c', 'grd-vnc-server.h', + 'grd-vnc-tls.c', + 'grd-vnc-tls.h', ]) - + gen_daemon_sources = [] -@@ -49,7 +51,8 @@ executable('gnome-remote-desktop-daemon', +@@ -65,7 +67,8 @@ executable('gnome-remote-desktop-daemon', pipewire_dep, libvncserver_dep, libsecret_dep, -- libnotify_dep], -+ libnotify_dep, -+ gnutls_dep], +- libnotify_dep, ++ libnotify_dep, ++ gnutls_dep, + winpr_dep], include_directories: [configinc], install: true, - install_dir: libexecdir) -diff --git a/src/org.gnome.desktop.remote-desktop.gschema.xml b/src/org.gnome.desktop.remote-desktop.gschema.xml -index a5c2022..846e65b 100644 ---- a/src/org.gnome.desktop.remote-desktop.gschema.xml -+++ b/src/org.gnome.desktop.remote-desktop.gschema.xml -@@ -23,5 +23,15 @@ - * password - by requiring the remote client to provide a known password - - -+ -+ ['tls-anon'] -+ Allowed encryption method to use -+ -+ Allowed encryption methods. Includes the following: -+ -+ * none - no encryption -+ * tls-anon - anonymous (unauthenticated) TLS -+ -+ - - -- 2.17.1 diff --git a/0002-vnc-pipewire-stream-Close-session-when-disconnected.patch b/0002-vnc-pipewire-stream-Close-session-when-disconnected.patch deleted file mode 100644 index cd1c5e4..0000000 --- a/0002-vnc-pipewire-stream-Close-session-when-disconnected.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 59188d81cf8936cd9f5400df040d875427251bf2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jonas=20=C3=85dahl?= -Date: Mon, 1 Oct 2018 18:05:07 +0200 -Subject: [PATCH 2/2] vnc-pipewire-stream: Close session when disconnected - -When there is an active stream, and we're disconnected from PipeWire -(e.g. because it terminated), close the session. ---- - src/grd-vnc-pipewire-stream.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/grd-vnc-pipewire-stream.c b/src/grd-vnc-pipewire-stream.c -index 66d66a0..d6454b8 100644 ---- a/src/grd-vnc-pipewire-stream.c -+++ b/src/grd-vnc-pipewire-stream.c -@@ -392,6 +392,9 @@ on_state_changed (void *user_data, - } - break; - case PW_REMOTE_STATE_UNCONNECTED: -+ if (stream->pipewire_stream) -+ g_signal_emit (stream, signals[CLOSED], 0); -+ break; - case PW_REMOTE_STATE_CONNECTING: - break; - } --- -2.17.1 - diff --git a/gnome-remote-desktop-0.1.6.tar.xz b/gnome-remote-desktop-0.1.6.tar.xz deleted file mode 100644 index 128146ced535cf7befa2e9da0dcf575f15c47d45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24612 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 diff --git a/gnome-remote-desktop-0.1.9.tar.xz b/gnome-remote-desktop-0.1.9.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..761b3888d4f925638ee93c0032b7c067fa205c5c GIT binary patch literal 38040 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⋙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 literal 0 HcmV?d00001 diff --git a/gnome-remote-desktop.spec b/gnome-remote-desktop.spec index 85657a6..e3fb04b 100644 --- a/gnome-remote-desktop.spec +++ b/gnome-remote-desktop.spec @@ -1,21 +1,18 @@ Name: gnome-remote-desktop -Version: 0.1.6 -Release: 4 +Version: 0.1.9 +Release: 1 Summary: Screen share service of GNOME Remote Desktop License: GPLv2+ URL: https://gitlab.gnome.org/jadahl/gnome-remote-desktop -Source0: https://gitlab.gnome.org/jadahl/gnome-remote-desktop/uploads/c6862c12f0b741714d5a27e0693322fe/gnome-remote-desktop-0.1.6.tar.xz +Source0: https://download.gnome.org/sources/gnome-remote-desktop/0.1/%{name}-%{version}.tar.xz Patch00001: 0001-vnc-Add-anonymous-TLS-encryption-support.patch -Patch00002: 0001-meson.build-Bump-pipewire-requirement-to-0.2.2.patch -Patch00003: 0001-session-vnc-Don-t-requeue-close-session-idle.patch -Patch00004: 0002-vnc-pipewire-stream-Close-session-when-disconnected.patch -BuildRequires: meson >= 0.36.0 pkgconfig pkgconfig(glib-2.0) >= 2.32 pkgconfig(gio-unix-2.0) >= 2.32 -BuildRequires: pkgconfig(libpipewire-0.2) >= 0.2.2 pkgconfig(libvncserver) >= 0.9.11-7 pkgconfig(libsecret-1) -BuildRequires: pkgconfig(libnotify) pkgconfig(gnutls) systemd +BuildRequires: meson >= 0.47.0 pkgconfig pkgconfig(glib-2.0) >= 2.32 pkgconfig(gio-unix-2.0) >= 2.32 +BuildRequires: pkgconfig(libpipewire-0.3) >= 0.3.0 pkgconfig(libvncserver) >= 0.9.11-7 pkgconfig(libsecret-1) +BuildRequires: pkgconfig(libnotify) pkgconfig(gnutls) systemd pkgconfig(freerdp2) -Requires: pipewire >= 0.2.2 +Requires: pipewire >= 0.3.0 %description GNOME Remote Desktop is a remote desktop daemon for GNOME using pipewire. @@ -48,6 +45,11 @@ GNOME Remote Desktop is a remote desktop daemon for GNOME using pipewire. %{_userunitdir}/gnome-remote-desktop.service %changelog +* Wed Jun 30 2021 weijin deng - 0.1.9-1 +- Upgrade to 0.1.9 +- Delete patches whose content existed or target patch file not existed in this version 0.1.9 +- Modify 0001-vnc-Add-anonymous-TLS-encryption-support.patch + * Wed Dec 11 2019 daiqianwen - 0.1.6-3 - Package init