From cd049c393feb0311f75bac743eb999363b4b8aba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Mon, 4 Mar 2019 15:07:00 +0100 Subject: [PATCH] Update to 0.1.7 And rebase the TLS patch. --- .gitignore | 3 +- ...Add-anonymous-TLS-encryption-support.patch | 52 ++++++++----------- gnome-remote-desktop.spec | 20 +++---- sources | 2 +- 4 files changed, 32 insertions(+), 45 deletions(-) diff --git a/.gitignore b/.gitignore index cdf94d6..a59cc2b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -/gnome-remote-desktop-0.1.2.tar.xz -/gnome-remote-desktop-0.1.6.tar.xz +/gnome-remote-desktop-0.1.*.tar.xz diff --git a/0001-vnc-Add-anonymous-TLS-encryption-support.patch b/0001-vnc-Add-anonymous-TLS-encryption-support.patch index fe25694..4f63274 100644 --- a/0001-vnc-Add-anonymous-TLS-encryption-support.patch +++ b/0001-vnc-Add-anonymous-TLS-encryption-support.patch @@ -1,4 +1,4 @@ -From fcfef86768d3dc63a2e7da799beb011800dff2ad Mon Sep 17 00:00:00 2001 +From 0a6f8835480a1bdb57b77a471bda9993acb8e0b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Thu, 14 Jun 2018 12:21:37 +0200 Subject: [PATCH] vnc: Add anonymous TLS encryption support @@ -12,7 +12,7 @@ VNC connection. meson.build | 1 + src/grd-enums.h | 6 + src/grd-session-vnc.c | 98 +++- - src/grd-session-vnc.h | 16 + + src/grd-session-vnc.h | 15 + src/grd-settings.c | 27 ++ src/grd-settings.h | 2 + src/grd-vnc-server.c | 45 ++ @@ -20,15 +20,15 @@ VNC connection. src/grd-vnc-tls.h | 28 ++ src/meson.build | 5 +- ...g.gnome.desktop.remote-desktop.gschema.xml | 10 + - 11 files changed, 666 insertions(+), 16 deletions(-) + 11 files changed, 665 insertions(+), 16 deletions(-) create mode 100644 src/grd-vnc-tls.c create mode 100644 src/grd-vnc-tls.h diff --git a/meson.build b/meson.build -index d8e20d2..f8c8cee 100644 +index 86730f1..f1d10a6 100644 --- a/meson.build +++ b/meson.build -@@ -15,6 +15,7 @@ systemd_dep = dependency('systemd') +@@ -14,6 +14,7 @@ systemd_dep = dependency('systemd') libvncserver_dep = dependency('libvncserver') libsecret_dep = dependency('libsecret-1') libnotify_dep = dependency('libnotify') @@ -52,7 +52,7 @@ 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 589ba4b..1990576 100644 --- a/src/grd-session-vnc.c +++ b/src/grd-session-vnc.c @@ -44,7 +44,9 @@ struct _GrdSessionVnc @@ -65,7 +65,7 @@ index 5d40971..ce4dd29 100644 GSource *source; rfbScreenInfoPtr rfb_screen; rfbClientPtr rfb_client; -@@ -465,12 +467,30 @@ check_rfb_password (rfbClientPtr rfb_client, +@@ -508,12 +510,30 @@ check_rfb_password (rfbClientPtr rfb_client, } } @@ -96,7 +96,7 @@ index 5d40971..ce4dd29 100644 static void init_vnc_session (GrdSessionVnc *session_vnc) { -@@ -509,33 +529,74 @@ init_vnc_session (GrdSessionVnc *session_vnc) +@@ -553,33 +573,74 @@ init_vnc_session (GrdSessionVnc *session_vnc) rfbProcessEvents (rfb_screen, 0); } @@ -185,7 +185,7 @@ index 5d40971..ce4dd29 100644 } return G_SOURCE_CONTINUE; -@@ -548,7 +609,10 @@ grd_session_vnc_attach_source (GrdSessionVnc *session_vnc) +@@ -592,7 +653,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, @@ -197,7 +197,7 @@ 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, +@@ -618,8 +682,10 @@ grd_session_vnc_new (GrdVncServer *vnc_server, "context", context, NULL); @@ -208,7 +208,7 @@ index 5d40971..ce4dd29 100644 grd_session_vnc_attach_source (session_vnc); init_vnc_session (session_vnc); -@@ -590,6 +656,8 @@ grd_session_vnc_dispose (GObject *object) +@@ -634,6 +700,8 @@ grd_session_vnc_dispose (GObject *object) g_assert (!session_vnc->rfb_screen); @@ -218,18 +218,10 @@ index 5d40971..ce4dd29 100644 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 25919b6..e0601c3 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); @@ -239,9 +231,9 @@ index 6bd067a..33245bc 100644 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); +@@ -53,6 +56,18 @@ void grd_session_vnc_move_cursor (GrdSessionVnc *session_vnc, + int x, + int y); +int grd_session_vnc_get_fd (GrdSessionVnc *session_vnc); + @@ -423,7 +415,7 @@ index a8fed02..769b7ec 100644 diff --git a/src/grd-vnc-tls.c b/src/grd-vnc-tls.c new file mode 100644 -index 0000000..8fc0fc2 +index 0000000..ec4758e --- /dev/null +++ b/src/grd-vnc-tls.c @@ -0,0 +1,444 @@ @@ -600,7 +592,7 @@ index 0000000..8fc0fc2 +grd_vnc_tls_session_free (GrdVncTlsSession *tls_session) +{ + g_clear_pointer (&tls_session->peek_buffer, g_free); -+ g_clear_pointer (&tls_session->tls_session, (GDestroyNotify) gnutls_deinit); ++ g_clear_pointer (&tls_session->tls_session, gnutls_deinit); + g_free (tls_session); +} + @@ -906,10 +898,10 @@ index 0000000..135ef8c + +#endif /* GRD_VNC_TLS_H */ diff --git a/src/meson.build b/src/meson.build -index 70e2102..b633ad7 100644 +index e6ba615..31c7221 100644 --- a/src/meson.build +++ b/src/meson.build -@@ -19,6 +19,8 @@ daemon_sources = files([ +@@ -21,6 +21,8 @@ daemon_sources = files([ 'grd-vnc-pipewire-stream.h', 'grd-vnc-server.c', 'grd-vnc-server.h', @@ -918,7 +910,7 @@ index 70e2102..b633ad7 100644 ]) gen_daemon_sources = [] -@@ -49,7 +51,8 @@ executable('gnome-remote-desktop-daemon', +@@ -51,7 +53,8 @@ executable('gnome-remote-desktop-daemon', pipewire_dep, libvncserver_dep, libsecret_dep, @@ -949,5 +941,5 @@ index a5c2022..846e65b 100644 -- -2.17.1 +2.20.1 diff --git a/gnome-remote-desktop.spec b/gnome-remote-desktop.spec index ef0a232..1e50fe0 100644 --- a/gnome-remote-desktop.spec +++ b/gnome-remote-desktop.spec @@ -1,31 +1,24 @@ %global systemd_unit gnome-remote-desktop.service Name: gnome-remote-desktop -Version: 0.1.6 -Release: 3%{?dist} +Version: 0.1.7 +Release: 1%{?dist} Summary: GNOME Remote Desktop screen share service 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://gitlab.gnome.org/jadahl/gnome-remote-desktop/uploads/ed3e8b8ebc1a74b6f4ed7260a2739f40/gnome-remote-desktop-0.1.7.tar.xz # Adds encryption support (requires patched LibVNCServer) Patch0: 0001-vnc-Add-anonymous-TLS-encryption-support.patch -# Align pipewire requirement with Fedora -Patch1: 0001-meson.build-Bump-pipewire-requirement-to-0.2.2.patch - -# Don't crash when PipeWire disconnects (rhbz#1632781) -Patch2: 0001-session-vnc-Don-t-requeue-close-session-idle.patch -Patch3: 0002-vnc-pipewire-stream-Close-session-when-disconnected.patch - BuildRequires: git BuildRequires: gcc BuildRequires: meson >= 0.36.0 BuildRequires: pkgconfig BuildRequires: pkgconfig(glib-2.0) >= 2.32 BuildRequires: pkgconfig(gio-unix-2.0) >= 2.32 -BuildRequires: pkgconfig(libpipewire-0.2) >= 0.2.2 +BuildRequires: pkgconfig(libpipewire-0.2) >= 0.2.5 BuildRequires: pkgconfig(libvncserver) >= 0.9.11-7 BuildRequires: pkgconfig(libsecret-1) BuildRequires: pkgconfig(libnotify) @@ -34,7 +27,7 @@ BuildRequires: pkgconfig(gnutls) %{?systemd_requires} BuildRequires: systemd -Requires: pipewire >= 0.2.2 +Requires: pipewire >= 0.2.5 %description GNOME Remote Desktop is a remote desktop and screen sharing service for the @@ -76,6 +69,9 @@ GNOME desktop environment. %changelog +* Mon Mar 4 2019 Jonas Ã…dahl - 0.1.7-1 +- Update to 0.1.7 + * Thu Jan 31 2019 Fedora Release Engineering - 0.1.6-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild diff --git a/sources b/sources index 8d13ee9..1c68eb1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gnome-remote-desktop-0.1.6.tar.xz) = 8a205ab8e8f42981a97c0cb2e28b5ed7ea7651cb87217b1667be8d9137037a0ca5d51e4e952db13e65cd6bf32f3bd2bf57bbe802ef896a344384739ac5e5e979 +SHA512 (gnome-remote-desktop-0.1.7.tar.xz) = dd20e5e6fd724ff03d8a32319c7145f1fef4331439e52921b812f087e6b83185bf318bb2fb9758fe083ec3cfea30448b601da4ed1aba85fa892ef7fbb794b9ed