From 6d73f8a9e6a19353ed3cb0c9d3597350aa01d9a8 Mon Sep 17 00:00:00 2001 From: deng weijin Date: Thu, 19 May 2022 15:00:13 +0800 Subject: [PATCH] Update to 42.0 --- 0001-Add-man-page.patch | 220 ++++++++++++++ ...s-using-the-right-destination-stride.patch | 71 ----- 0001-vnc-Drop-frames-if-client-is-gone.patch | 80 ----- gnome-remote-desktop-0.1.9.tar.xz | Bin 38040 -> 0 bytes gnome-remote-desktop-42.0.tar.xz | Bin 0 -> 157508 bytes gnome-remote-desktop.spec | 60 ++-- ...tion-support.patch => gnutls-anontls.patch | 273 +++++++++++------- 7 files changed, 425 insertions(+), 279 deletions(-) create mode 100644 0001-Add-man-page.patch delete mode 100644 0001-vnc-Copy-pixels-using-the-right-destination-stride.patch delete mode 100644 0001-vnc-Drop-frames-if-client-is-gone.patch delete mode 100644 gnome-remote-desktop-0.1.9.tar.xz create mode 100644 gnome-remote-desktop-42.0.tar.xz rename 0001-vnc-Add-anonymous-TLS-encryption-support.patch => gnutls-anontls.patch (85%) diff --git a/0001-Add-man-page.patch b/0001-Add-man-page.patch new file mode 100644 index 0000000..ef8ef47 --- /dev/null +++ b/0001-Add-man-page.patch @@ -0,0 +1,220 @@ +From 712d6a036cfb6b49ad35d4d27ba8255f5fef36b6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jonas=20=C3=85dahl?= +Date: Mon, 14 Mar 2022 10:38:55 +0100 +Subject: [PATCH] Add man page + +Uses asciidoc; the stylesheet was copied from gnome-shell. +--- + .gitlab-ci.yml | 3 +- + man/grdctl.txt | 88 ++++++++++++++++++++++++++++++++++++++++++++++ + man/meson.build | 9 +++++ + man/stylesheet.xsl | 27 ++++++++++++++ + meson.build | 5 +++ + meson_options.txt | 5 +++ + 6 files changed, 136 insertions(+), 1 deletion(-) + create mode 100644 man/grdctl.txt + create mode 100644 man/meson.build + create mode 100644 man/stylesheet.xsl + +diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml +index f261657..735bb64 100644 +--- a/.gitlab-ci.yml ++++ b/.gitlab-ci.yml +@@ -9,7 +9,7 @@ stages: + .gnome-remote-desktop.fedora:35@common: + variables: + FDO_DISTRIBUTION_VERSION: 35 +- BASE_TAG: '2022-02-11.0' ++ BASE_TAG: '2022-03-14.0' + FDO_UPSTREAM_REPO: GNOME/gnome-remote-desktop + FDO_DISTRIBUTION_EXEC: | + dnf -y update && dnf -y upgrade && +@@ -21,6 +21,7 @@ stages: + dnf builddep -y gnome-remote-desktop && + dnf install -y 'pkgconfig(epoxy)' 'pkgconfig(libdrm)' 'pkgconfig(gbm)' \ + 'pkgconfig(gudev-1.0)' && ++ dnf install -y asciidoc && + + # To test + dnf install -y 'pkgconfig(libvncclient)' && +diff --git a/man/grdctl.txt b/man/grdctl.txt +new file mode 100644 +index 0000000..83777da +--- /dev/null ++++ b/man/grdctl.txt +@@ -0,0 +1,88 @@ ++GRDCTL(1) ++========= ++:man manual: User Commands ++:man source: GNOME-REMOTE-DESKTOP ++:doctype: manpage ++:date: March 2022 ++ ++NAME ++---- ++grdctl - Command line tool for configuring GNOME Remote Desktop ++ ++SYNOPSIS ++-------- ++*grdctl* ['OPTION'...] ['COMMAND'] ['SUBCOMMAND'...] ++ ++DESCRIPTION ++----------- ++grdctl provides methods for configuring the GNOME Remote Desktop service, ++for example setting credentials. ++ ++OPTIONS ++------- ++*--help*:: ++Show help text. ++ ++GENERAL COMMANDS ++---------------- ++*status*:: ++Show current status. ++ ++RDP COMMANDS ++------------ ++*rdp* *enable*:: ++Enable the RDP backend. ++ ++*rdp* *disable*:: ++Disable the RDP backend. ++ ++*rdp* *set-tls-cert* 'TLS-CERT':: ++Set path to TLS certificate. ++ ++*rdp* *set-tls-key* 'TLS-KEY':: ++Set path to TLS key. ++ ++*rdp* *set-credentials* 'USERNAME' 'PASSWORD':: ++Set username and password credentials. ++ ++*rdp* *clear-credentials*:: ++Clear username and password credentials. ++ ++*rdp* *enable-view-only*:: ++Disable remote control of input devices. ++ ++*rdp* *disable-view-only*:: ++Enable remote control of input devices. ++ ++VNC COMMANDS ++------------ ++*vnc* *enable*:: ++Enable the VNC backend. ++ ++*vnc* *disable*:: ++Disable the VNC backend. ++ ++*vnc* *set-password* 'PASSWORD':: ++Set the VNC password. ++ ++*vnc* *clear-password*:: ++Clear the VNC password. ++ ++*vnc* *set-auth-method* 'AUTH-METHOD':: ++Set the authorization method used for new VNC connections. Can be either ++*password* or *prompt*. ++ ++*vnc* *enable-view-only*: ++Disable remote control of input devices. ++ ++*vnc* *disable-view-only*:: ++Enable remote control of input devices. ++ ++BUGS ++---- ++The bug tracker can be reached by visiting the website ++https://gitlab.gnome.org/GNOME/gnome-remote-desktop/issues. Before sending ++a bug report, please verify that you have the latest version of ++gnome-remote-desktop. Many bugs (major and minor) are fixed at each ++release, and if yours is out of date, the problem may already have been ++solved. +diff --git a/man/meson.build b/man/meson.build +new file mode 100644 +index 0000000..1e73f11 +--- /dev/null ++++ b/man/meson.build +@@ -0,0 +1,9 @@ ++a2x = find_program('a2x') ++ ++custom_target('man page', ++ input: ['grdctl.txt', 'stylesheet.xsl'], ++ output: 'grdctl.1', ++ command: [a2x, '-v', '-D', '@OUTDIR@', '--xsl-file', '@INPUT1@', '-f' ,'manpage', '@INPUT0@'], ++ install_dir: mandir + '/man1', ++ install: true ++) +diff --git a/man/stylesheet.xsl b/man/stylesheet.xsl +new file mode 100644 +index 0000000..047bd1b +--- /dev/null ++++ b/man/stylesheet.xsl +@@ -0,0 +1,27 @@ ++ ++ ++ ++ ++ ++ .PP ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ .RS 4 ++ ++ .\" ++ ++ ++ ++ .RE ++ ++ ++ ++ +diff --git a/meson.build b/meson.build +index 6bd2420..0660cd0 100644 +--- a/meson.build ++++ b/meson.build +@@ -55,6 +55,7 @@ endif + prefix = get_option('prefix') + libexecdir = join_paths(prefix, get_option('libexecdir')) + datadir = join_paths(prefix, get_option('datadir')) ++mandir = join_paths(prefix, get_option('mandir')) + schemadir = join_paths(datadir, 'glib-2.0', 'schemas') + + grd_datadir = join_paths(datadir, 'gnome-remote-desktop') +@@ -93,6 +94,10 @@ subdir('src') + subdir('tests') + subdir('po') + ++if get_option('man') ++ subdir('man') ++endif ++ + meson.add_install_script('meson_post_install.py') + + output = [ +diff --git a/meson_options.txt b/meson_options.txt +index 3527588..2897f30 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,3 +1,8 @@ ++option('man', ++ type: 'boolean', ++ value: true, ++ description: 'Generate man pages') ++ + option('rdp', + type: 'boolean', + value: true, +-- +2.34.1 + diff --git a/0001-vnc-Copy-pixels-using-the-right-destination-stride.patch b/0001-vnc-Copy-pixels-using-the-right-destination-stride.patch deleted file mode 100644 index fc5c830..0000000 --- a/0001-vnc-Copy-pixels-using-the-right-destination-stride.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 81172effba7c70d3b2932c67be79a2924eae9d73 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jonas=20=C3=85dahl?= -Date: Mon, 12 Oct 2020 17:34:30 +0200 -Subject: [PATCH] vnc: Copy pixels using the right destination stride - -We're copying the pixels in a separate thread managed by PipeWire, and -in this thread, accessing the VNC framebuffer dimension and stride is -racy. Instead of fetching the dimension directly, pass the expected -width and get the stride it will eventually have. - -Already before this patch, when the copied pixel end up on the main -thread and the dimension still doesn't match up, the frame will be -dropped. ---- - src/grd-session-vnc.c | 5 +++-- - src/grd-session-vnc.h | 3 ++- - src/grd-vnc-pipewire-stream.c | 5 +++-- - 3 files changed, 8 insertions(+), 5 deletions(-) - -diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c -index 69fb33d..f4835aa 100644 ---- a/src/grd-session-vnc.c -+++ b/src/grd-session-vnc.c -@@ -535,9 +535,10 @@ grd_session_vnc_get_fd (GrdSessionVnc *session_vnc) - } - - int --grd_session_vnc_get_framebuffer_stride (GrdSessionVnc *session_vnc) -+grd_session_vnc_get_stride_for_width (GrdSessionVnc *session_vnc, -+ int width) - { -- return session_vnc->rfb_screen->paddedWidthInBytes; -+ return width * BGRX_BYTES_PER_PIXEL; - } - - rfbClientPtr -diff --git a/src/grd-session-vnc.h b/src/grd-session-vnc.h -index 0d01ad3..ccd046c 100644 ---- a/src/grd-session-vnc.h -+++ b/src/grd-session-vnc.h -@@ -60,7 +60,8 @@ void grd_session_vnc_move_cursor (GrdSessionVnc *session_vnc, - - int grd_session_vnc_get_fd (GrdSessionVnc *session_vnc); - --int grd_session_vnc_get_framebuffer_stride (GrdSessionVnc *session_vnc); -+int grd_session_vnc_get_stride_for_width (GrdSessionVnc *session_vnc, -+ int width); - - gboolean grd_session_vnc_is_client_gone (GrdSessionVnc *session_vnc); - -diff --git a/src/grd-vnc-pipewire-stream.c b/src/grd-vnc-pipewire-stream.c -index 96dd7c9..82ceb9b 100644 ---- a/src/grd-vnc-pipewire-stream.c -+++ b/src/grd-vnc-pipewire-stream.c -@@ -326,10 +326,11 @@ process_buffer (GrdVncPipeWireStream *stream, - int height; - int y; - -- src_stride = buffer->datas[0].chunk->stride; -- dst_stride = grd_session_vnc_get_framebuffer_stride (stream->session); - height = stream->spa_format.size.height; - width = stream->spa_format.size.width; -+ src_stride = buffer->datas[0].chunk->stride; -+ dst_stride = grd_session_vnc_get_stride_for_width (stream->session, -+ width); - - frame->data = g_malloc (height * dst_stride); - for (y = 0; y < height; y++) --- -2.28.0 - diff --git a/0001-vnc-Drop-frames-if-client-is-gone.patch b/0001-vnc-Drop-frames-if-client-is-gone.patch deleted file mode 100644 index 59dde2a..0000000 --- a/0001-vnc-Drop-frames-if-client-is-gone.patch +++ /dev/null @@ -1,80 +0,0 @@ -From ab97841629f5f3f4fab9993b6255b6ae04828b9c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jonas=20=C3=85dahl?= -Date: Wed, 9 Sep 2020 10:14:20 +0200 -Subject: [PATCH] vnc: Drop frames if client is gone - -Frames from PipeWire are posted asynchronously from a I/O thread to the -main thread where they are turned into VNC frame updates and cursor -movements. On the other hand, sessions are closed asynchronously when -the VNC client disappears. If a frame ended up on the main thread after -a client disappeared but before the session and stream was closed, we'd -try to turn the new frames into VNC updates without a client being -available, causing use after free. - -Fix this by dropping frames that happens during this time frame. - -Closes: https://gitlab.gnome.org/GNOME/gnome-remote-desktop/-/issues/43 ---- - src/grd-session-vnc.c | 7 +++++++ - src/grd-session-vnc.h | 2 ++ - src/grd-vnc-pipewire-stream.c | 8 ++++++++ - 3 files changed, 17 insertions(+) - -diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c -index 813838a..a06d34d 100644 ---- a/src/grd-session-vnc.c -+++ b/src/grd-session-vnc.c -@@ -209,6 +209,12 @@ maybe_queue_close_session_idle (GrdSessionVnc *session_vnc) - g_idle_add (close_session_idle, session_vnc); - } - -+gboolean -+grd_session_vnc_is_client_gone (GrdSessionVnc *session_vnc) -+{ -+ return !session_vnc->rfb_client; -+} -+ - static void - handle_client_gone (rfbClientPtr rfb_client) - { -@@ -218,6 +224,7 @@ handle_client_gone (rfbClientPtr rfb_client) - - grd_session_vnc_detach_source (session_vnc); - maybe_queue_close_session_idle (session_vnc); -+ session_vnc->rfb_client = NULL; - } - - static void -diff --git a/src/grd-session-vnc.h b/src/grd-session-vnc.h -index 579a12a..07678c8 100644 ---- a/src/grd-session-vnc.h -+++ b/src/grd-session-vnc.h -@@ -57,4 +57,6 @@ void grd_session_vnc_move_cursor (GrdSessionVnc *session_vnc, - - int grd_session_vnc_get_framebuffer_stride (GrdSessionVnc *session_vnc); - -+gboolean grd_session_vnc_is_client_gone (GrdSessionVnc *session_vnc); -+ - #endif /* GRD_SESSION_VNC_H */ -diff --git a/src/grd-vnc-pipewire-stream.c b/src/grd-vnc-pipewire-stream.c -index 78793c4..96dd7c9 100644 ---- a/src/grd-vnc-pipewire-stream.c -+++ b/src/grd-vnc-pipewire-stream.c -@@ -234,6 +234,14 @@ do_render (struct spa_loop *loop, - if (!frame) - return 0; - -+ if (grd_session_vnc_is_client_gone (stream->session)) -+ { -+ g_free (frame->data); -+ g_clear_pointer (&frame->rfb_cursor, rfbFreeCursor); -+ g_free (frame); -+ return 0; -+ } -+ - if (frame->rfb_cursor) - grd_session_vnc_set_cursor (stream->session, frame->rfb_cursor); - --- -2.26.2 - diff --git a/gnome-remote-desktop-0.1.9.tar.xz b/gnome-remote-desktop-0.1.9.tar.xz deleted file mode 100644 index 761b3888d4f925638ee93c0032b7c067fa205c5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38040 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⋙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 diff --git a/gnome-remote-desktop-42.0.tar.xz b/gnome-remote-desktop-42.0.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..e3254ead40bb33cb3286ba3933a2edaca0726a1f GIT binary patch literal 157508 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 D99J4K literal 0 HcmV?d00001 diff --git a/gnome-remote-desktop.spec b/gnome-remote-desktop.spec index d9fd304..f3cd7bc 100644 --- a/gnome-remote-desktop.spec +++ b/gnome-remote-desktop.spec @@ -1,19 +1,35 @@ -Name: gnome-remote-desktop -Version: 0.1.9 -Release: 3 -Summary: Screen share service of GNOME Remote Desktop +%global systemd_unit gnome-remote-desktop.service +Name: gnome-remote-desktop +Version: 42.0 +Release: 1 +Summary: Screen share service of GNOME Remote Desktop License: GPLv2+ URL: https://gitlab.gnome.org/jadahl/gnome-remote-desktop -Source0: https://download.gnome.org/sources/gnome-remote-desktop/0.1/%{name}-%{version}.tar.xz -Patch00001: 0001-vnc-Drop-frames-if-client-is-gone.patch -Patch00002: 0001-vnc-Add-anonymous-TLS-encryption-support.patch -Patch00003: 0001-vnc-Copy-pixels-using-the-right-destination-stride.patch -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) +Source0: https://download.gnome.org/sources/gnome-remote-desktop/40/%{name}-%{version}.tar.xz + +Patch0: gnutls-anontls.patch +Patch1: 0001-Add-man-page.patch + +BuildRequires: meson pkgconfig gcc asciidoc systemd freerdp-devel +BuildRequires: pkgconfig(glib-2.0) >= 2.32 pkgconfig(gio-unix-2.0) >= 2.32 +BuildRequires: pkgconfig(libpipewire-0.3) >= 0.3.0 pkgconfig(libvncserver) pkgconfig(libvncclient) pkgconfig(libsecret-1) +BuildRequires: pkgconfig(libnotify) pkgconfig(gnutls) pkgconfig(gstreamer-1.0) pkgconfig(gstreamer-video-1.0) +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(winpr2) +BuildRequires: pkgconfig(fuse3) +BuildRequires: pkgconfig(ffnvcodec) +BuildRequires: pkgconfig(xkbcommon) +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(epoxy) +BuildRequires: pkgconfig(gbm) +BuildRequires: pkgconfig(gudev-1.0) Requires: pipewire >= 0.3.0 +Requires: libdrm +Requires: libepoxy + +Obsoletes: vino < 3.22.0-21 %description GNOME Remote Desktop is a remote desktop daemon for GNOME using pipewire. @@ -25,27 +41,35 @@ GNOME Remote Desktop is a remote desktop daemon for GNOME using pipewire. %meson %meson_build - %install %meson_install +%find_lang gnome-remote-desktop %post -%systemd_user_post gnome-remote-desktop.service +%systemd_user_post %{systemd_unit} %preun -%systemd_user_preun gnome-remote-desktop.service +%systemd_user_preun %{systemd_unit} %postun -%systemd_user_postun_with_restart gnome-remote-desktop.service +%systemd_user_postun_with_restart %{systemd_unit} -%files -%doc README COPYING +%files -f gnome-remote-desktop.lang +%license COPYING +%doc README +%{_bindir}/grdctl %{_libexecdir}/gnome-remote-desktop-daemon -%{_datadir}/glib-2.0/schemas/org.gnome.desktop.remote-desktop.{gschema.xml,enums.xml} %{_userunitdir}/gnome-remote-desktop.service +%{_datadir}/glib-2.0/schemas/org.gnome.desktop.remote-desktop.gschema.xml +%{_datadir}/glib-2.0/schemas/org.gnome.desktop.remote-desktop.enums.xml +%{_datadir}/gnome-remote-desktop/ +%{_mandir}/man1/grdctl.1* %changelog +* Mon Mar 28 2022 lin zhang - 42.0-1 +- Update to 42.0 + * Mon Apr 18 2022 lin zhang - 0.1.9-3 - Add gnome-remote-desktop.yaml diff --git a/0001-vnc-Add-anonymous-TLS-encryption-support.patch b/gnutls-anontls.patch similarity index 85% rename from 0001-vnc-Add-anonymous-TLS-encryption-support.patch rename to gnutls-anontls.patch index 6c6db61..98a9a49 100644 --- a/0001-vnc-Add-anonymous-TLS-encryption-support.patch +++ b/gnutls-anontls.patch @@ -1,7 +1,7 @@ -From 546151b4e15fd45901f38172435cd9aa63893727 Mon Sep 17 00:00:00 2001 +From 6ca82648e9b6791fbfbbbc9b05f15ec07a992e1a 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 1/6] vnc: Add anonymous TLS encryption support +Subject: [PATCH 1/7] vnc: Add anonymous TLS encryption support Add support for encrypting the VNC connection using anonymous TLS. In effect this means that the channel is encrypted using TLS but that no @@ -11,36 +11,36 @@ VNC connection. --- meson.build | 1 + src/grd-enums.h | 6 + - src/grd-session-vnc.c | 98 +++- - src/grd-session-vnc.h | 15 + + src/grd-session-vnc.c | 120 ++++- + src/grd-session-vnc.h | 17 + src/grd-settings.c | 28 ++ src/grd-settings.h | 2 + src/grd-vnc-server.c | 45 ++ src/grd-vnc-tls.c | 444 ++++++++++++++++++ src/grd-vnc-tls.h | 28 ++ - src/meson.build | 5 +- + src/meson.build | 3 + ...nome.desktop.remote-desktop.gschema.xml.in | 10 + - 11 files changed, 666 insertions(+), 16 deletions(-) + 11 files changed, 678 insertions(+), 26 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 af423a4..813c97f 100644 +index 6bd2420..d6c5d9b 100644 --- a/meson.build +++ b/meson.build -@@ -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') +@@ -50,6 +50,7 @@ endif + if have_vnc + libvncserver_dep = dependency('libvncserver') + libvncclient_dep = dependency('libvncclient') ++ gnutls_dep = dependency('gnutls') + endif - cdata = configuration_data() - cdata.set_quoted('GETTEXT_PACKAGE', 'gnome-remote-desktop') + prefix = get_option('prefix') diff --git a/src/grd-enums.h b/src/grd-enums.h -index ffab821..4333863 100644 +index e3ecc40..fa8dfb7 100644 --- a/src/grd-enums.h +++ b/src/grd-enums.h -@@ -27,4 +27,10 @@ typedef enum +@@ -33,4 +33,10 @@ typedef enum GRD_VNC_AUTH_METHOD_PASSWORD } GrdVncAuthMethod; @@ -52,10 +52,10 @@ index ffab821..4333863 100644 + #endif /* GRD_ENUMS_H */ diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c -index a06d34d..d014315 100644 +index a4cb958..c2e29b4 100644 --- a/src/grd-session-vnc.c +++ b/src/grd-session-vnc.c -@@ -44,7 +44,9 @@ struct _GrdSessionVnc +@@ -45,7 +45,9 @@ struct _GrdSessionVnc { GrdSession parent; @@ -65,7 +65,7 @@ index a06d34d..d014315 100644 GSource *source; rfbScreenInfoPtr rfb_screen; rfbClientPtr rfb_client; -@@ -518,12 +520,30 @@ check_rfb_password (rfbClientPtr rfb_client, +@@ -543,6 +545,12 @@ check_rfb_password (rfbClientPtr rfb_client, } } @@ -76,9 +76,10 @@ index a06d34d..d014315 100644 +} + int - grd_session_vnc_get_framebuffer_stride (GrdSessionVnc *session_vnc) - { - return session_vnc->rfb_screen->paddedWidthInBytes; + grd_session_vnc_get_stride_for_width (GrdSessionVnc *session_vnc, + int width) +@@ -550,6 +558,18 @@ grd_session_vnc_get_stride_for_width (GrdSessionVnc *session_vnc, + return width * BGRX_BYTES_PER_PIXEL; } +rfbClientPtr @@ -96,7 +97,7 @@ index a06d34d..d014315 100644 static void init_vnc_session (GrdSessionVnc *session_vnc) { -@@ -564,33 +584,74 @@ init_vnc_session (GrdSessionVnc *session_vnc) +@@ -593,44 +613,85 @@ init_vnc_session (GrdSessionVnc *session_vnc) rfbProcessEvents (rfb_screen, 0); } @@ -131,6 +132,17 @@ index a06d34d..d014315 100644 + session_vnc->pending_framebuffer_width, + session_vnc->pending_framebuffer_height); + session_vnc->pending_framebuffer_resize = FALSE; ++ ++ /** ++ * This is a workaround. libvncserver is unable to handle clipboard ++ * changes early and either disconnects the client or crashes g-r-d ++ * if it receives rfbSendServerCutText too early altough the ++ * authentification process is already done. ++ * Doing this after resizing the framebuffer, seems to work fine, ++ * so enable the clipboard here and not when the remote desktop ++ * session proxy is acquired. ++ */ ++ grd_clipboard_vnc_maybe_enable_clipboard (session_vnc->clipboard_vnc); + } + } + @@ -172,6 +184,17 @@ index a06d34d..d014315 100644 - session_vnc->pending_framebuffer_width, - session_vnc->pending_framebuffer_height); - session_vnc->pending_framebuffer_resize = FALSE; +- +- /** +- * This is a workaround. libvncserver is unable to handle clipboard +- * changes early and either disconnects the client or crashes g-r-d +- * if it receives rfbSendServerCutText too early altough the +- * authentification process is already done. +- * Doing this after resizing the framebuffer, seems to work fine, +- * so enable the clipboard here and not when the remote desktop +- * session proxy is acquired. +- */ +- grd_clipboard_vnc_maybe_enable_clipboard (session_vnc->clipboard_vnc); - } + grd_session_stop (session); } @@ -185,7 +208,7 @@ index a06d34d..d014315 100644 } return G_SOURCE_CONTINUE; -@@ -603,7 +664,10 @@ grd_session_vnc_attach_source (GrdSessionVnc *session_vnc) +@@ -643,7 +704,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 +220,7 @@ index a06d34d..d014315 100644 NULL); g_source_set_callback (session_vnc->source, (GSourceFunc) handle_socket_data, -@@ -629,8 +693,10 @@ grd_session_vnc_new (GrdVncServer *vnc_server, +@@ -669,8 +733,10 @@ grd_session_vnc_new (GrdVncServer *vnc_server, "context", context, NULL); @@ -208,7 +231,7 @@ index a06d34d..d014315 100644 grd_session_vnc_attach_source (session_vnc); init_vnc_session (session_vnc); -@@ -645,6 +711,8 @@ grd_session_vnc_dispose (GObject *object) +@@ -685,6 +751,8 @@ grd_session_vnc_dispose (GObject *object) g_assert (!session_vnc->rfb_screen); @@ -218,12 +241,12 @@ index a06d34d..d014315 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 07678c8..bba3d56 100644 +index fcc508d..092d9dc 100644 --- a/src/grd-session-vnc.h +++ b/src/grd-session-vnc.h @@ -36,6 +36,9 @@ G_DECLARE_FINAL_TYPE (GrdSessionVnc, GRD, SESSION_VNC, - GrdSession); + GrdSession) +typedef gboolean (* GrdVncSocketGrabFunc) (GrdSessionVnc *session_vnc, + GError **error); @@ -231,14 +254,14 @@ index 07678c8..bba3d56 100644 GrdSessionVnc *grd_session_vnc_new (GrdVncServer *vnc_server, GSocketConnection *connection); -@@ -55,8 +58,20 @@ void grd_session_vnc_move_cursor (GrdSessionVnc *session_vnc, - int x, - int y); +@@ -62,6 +65,20 @@ void grd_session_vnc_set_client_clipboard_text (GrdSessionVnc *session_vnc, + int grd_session_vnc_get_stride_for_width (GrdSessionVnc *session_vnc, + int width); +int grd_session_vnc_get_fd (GrdSessionVnc *session_vnc); + - int grd_session_vnc_get_framebuffer_stride (GrdSessionVnc *session_vnc); - ++int grd_session_vnc_get_framebuffer_stride (GrdSessionVnc *session_vnc); ++ gboolean grd_session_vnc_is_client_gone (GrdSessionVnc *session_vnc); +rfbClientPtr grd_session_vnc_get_rfb_client (GrdSessionVnc *session_vnc); @@ -253,10 +276,10 @@ index 07678c8..bba3d56 100644 + #endif /* GRD_SESSION_VNC_H */ diff --git a/src/grd-settings.c b/src/grd-settings.c -index 3af87be..f37f2da 100644 +index c8f28fb..502d956 100644 --- a/src/grd-settings.c +++ b/src/grd-settings.c -@@ -60,6 +60,7 @@ struct _GrdSettings +@@ -69,6 +69,7 @@ struct _GrdSettings gboolean view_only; GrdVncAuthMethod auth_method; int port; @@ -264,7 +287,7 @@ index 3af87be..f37f2da 100644 } vnc; }; -@@ -232,6 +233,12 @@ grd_settings_get_vnc_auth_method (GrdSettings *settings) +@@ -245,6 +246,12 @@ grd_settings_get_vnc_auth_method (GrdSettings *settings) return settings->vnc.auth_method; } @@ -275,9 +298,9 @@ index 3af87be..f37f2da 100644 +} + static void - update_rdp_tls_cert (GrdSettings *settings) + update_screen_share_mode (GrdSettings *settings) { -@@ -267,6 +274,13 @@ update_vnc_auth_method (GrdSettings *settings) +@@ -303,6 +310,13 @@ update_vnc_auth_method (GrdSettings *settings) "auth-method"); } @@ -291,7 +314,7 @@ index 3af87be..f37f2da 100644 static void on_rdp_settings_changed (GSettings *rdp_settings, const char *key, -@@ -304,6 +318,11 @@ on_vnc_settings_changed (GSettings *vnc_settings, +@@ -355,6 +369,11 @@ on_vnc_settings_changed (GSettings *vnc_settings, update_vnc_auth_method (settings); g_signal_emit (settings, signals[VNC_AUTH_METHOD_CHANGED], 0); } @@ -303,7 +326,7 @@ index 3af87be..f37f2da 100644 } static void -@@ -335,6 +354,8 @@ grd_settings_init (GrdSettings *settings) +@@ -392,6 +411,8 @@ grd_settings_init (GrdSettings *settings) settings->rdp.port = GRD_RDP_SERVER_PORT; settings->vnc.port = GRD_VNC_SERVER_PORT; @@ -312,7 +335,7 @@ index 3af87be..f37f2da 100644 } static void -@@ -379,4 +400,11 @@ grd_settings_class_init (GrdSettingsClass *klass) +@@ -457,4 +478,11 @@ grd_settings_class_init (GrdSettingsClass *klass) 0, NULL, NULL, NULL, G_TYPE_NONE, 0); @@ -325,10 +348,10 @@ index 3af87be..f37f2da 100644 + G_TYPE_NONE, 0); } diff --git a/src/grd-settings.h b/src/grd-settings.h -index e12e47e..b940fdb 100644 +index 449894a..900d81e 100644 --- a/src/grd-settings.h +++ b/src/grd-settings.h -@@ -64,4 +64,6 @@ gboolean grd_settings_get_vnc_view_only (GrdSettings *settings); +@@ -65,4 +65,6 @@ gboolean grd_settings_get_vnc_view_only (GrdSettings *settings); GrdVncAuthMethod grd_settings_get_vnc_auth_method (GrdSettings *settings); @@ -336,7 +359,7 @@ index e12e47e..b940fdb 100644 + #endif /* GRD_SETTINGS_H */ diff --git a/src/grd-vnc-server.c b/src/grd-vnc-server.c -index a6d95cb..f9c68db 100644 +index 0b4322d..e8833f1 100644 --- a/src/grd-vnc-server.c +++ b/src/grd-vnc-server.c @@ -24,11 +24,13 @@ @@ -353,7 +376,7 @@ index a6d95cb..f9c68db 100644 enum -@@ -130,6 +132,43 @@ on_incoming (GSocketService *service, +@@ -129,6 +131,43 @@ on_incoming (GSocketService *service, return TRUE; } @@ -397,7 +420,7 @@ index a6d95cb..f9c68db 100644 gboolean grd_vnc_server_start (GrdVncServer *vnc_server, GError **error) -@@ -220,12 +259,18 @@ static void +@@ -217,12 +256,18 @@ static void grd_vnc_server_constructed (GObject *object) { GrdVncServer *vnc_server = GRD_VNC_SERVER (object); @@ -901,34 +924,29 @@ index 0000000..135ef8c + +#endif /* GRD_VNC_TLS_H */ diff --git a/src/meson.build b/src/meson.build -index 1b6425d..17579b1 100644 +index 1d671d7..ab675ff 100644 --- a/src/meson.build +++ b/src/meson.build -@@ -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', - ]) +@@ -115,10 +115,13 @@ if have_vnc + 'grd-vnc-pipewire-stream.h', + 'grd-vnc-server.c', + 'grd-vnc-server.h', ++ 'grd-vnc-tls.c', ++ 'grd-vnc-tls.h', + ]) + + deps += [ + libvncserver_dep, ++ gnutls_dep, + ] + endif - gen_daemon_sources = [] -@@ -66,7 +68,8 @@ executable('gnome-remote-desktop-daemon', - libvncserver_dep, - libsecret_dep, - libnotify_dep, -- winpr_dep], -+ winpr_dep, -+ gnutls_dep], - include_directories: [configinc], - install: true, - install_dir: libexecdir) diff --git a/src/org.gnome.desktop.remote-desktop.gschema.xml.in b/src/org.gnome.desktop.remote-desktop.gschema.xml.in -index 4b6e593..0086d99 100644 +index 939b9a6..e57affb 100644 --- a/src/org.gnome.desktop.remote-desktop.gschema.xml.in +++ b/src/org.gnome.desktop.remote-desktop.gschema.xml.in -@@ -49,5 +49,15 @@ - * password - by requiring the remote client to provide a known password +@@ -90,5 +90,15 @@ + * password - by requiring the remote client to provide a known password + @@ -944,13 +962,13 @@ index 4b6e593..0086d99 100644 -- -2.26.2 +2.34.1 -From 2e46518f421fd8704770bb6742accfacba3570aa Mon Sep 17 00:00:00 2001 +From 212fa98088cb4a754bac8cdb3a69d2a3e6b4dff9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Wed, 27 Nov 2019 11:02:09 +0100 -Subject: [PATCH 2/6] session-vnc: Add paused/resumed signals +Subject: [PATCH 2/7] session-vnc: Add paused/resumed signals Paused is when the socket sourec is detached, and resumed when attached. Meant to be used by the TLS channel security to a attach/detach @@ -960,10 +978,10 @@ out-of-socket source. 1 file changed, 65 insertions(+), 7 deletions(-) diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c -index d014315..7edd407 100644 +index c2e29b4..4be4c49 100644 --- a/src/grd-session-vnc.c +++ b/src/grd-session-vnc.c -@@ -40,14 +40,27 @@ +@@ -41,14 +41,27 @@ #define BGRX_SAMPLES_PER_PIXEL 3 #define BGRX_BYTES_PER_PIXEL 4 @@ -991,8 +1009,8 @@ index d014315..7edd407 100644 rfbScreenInfoPtr rfb_screen; rfbClientPtr rfb_client; -@@ -73,7 +86,7 @@ struct _GrdSessionVnc - G_DEFINE_TYPE (GrdSessionVnc, grd_session_vnc, GRD_TYPE_SESSION); +@@ -77,7 +90,7 @@ struct _GrdSessionVnc + G_DEFINE_TYPE (GrdSessionVnc, grd_session_vnc, GRD_TYPE_SESSION) static void -grd_session_vnc_detach_source (GrdSessionVnc *session_vnc); @@ -1000,7 +1018,7 @@ index d014315..7edd407 100644 static gboolean close_session_idle (gpointer user_data); -@@ -224,7 +237,8 @@ handle_client_gone (rfbClientPtr rfb_client) +@@ -236,7 +249,8 @@ handle_client_gone (rfbClientPtr rfb_client) g_debug ("VNC client gone"); @@ -1010,7 +1028,7 @@ index d014315..7edd407 100644 maybe_queue_close_session_idle (session_vnc); session_vnc->rfb_client = NULL; } -@@ -293,7 +307,7 @@ handle_new_client (rfbClientPtr rfb_client) +@@ -305,7 +319,7 @@ handle_new_client (rfbClientPtr rfb_client) session_vnc->prompt_cancellable, prompt_response_callback, session_vnc); @@ -1019,7 +1037,7 @@ index d014315..7edd407 100644 return RFB_CLIENT_ON_HOLD; case GRD_VNC_AUTH_METHOD_PASSWORD: session_vnc->rfb_screen->passwordCheck = check_rfb_password; -@@ -511,7 +525,7 @@ check_rfb_password (rfbClientPtr rfb_client, +@@ -536,7 +550,7 @@ check_rfb_password (rfbClientPtr rfb_client, if (memcmp (challenge_encrypted, response_encrypted, len) == 0) { grd_session_start (GRD_SESSION (session_vnc)); @@ -1028,7 +1046,7 @@ index d014315..7edd407 100644 return TRUE; } else -@@ -681,6 +695,36 @@ grd_session_vnc_detach_source (GrdSessionVnc *session_vnc) +@@ -721,6 +735,36 @@ grd_session_vnc_detach_source (GrdSessionVnc *session_vnc) g_clear_pointer (&session_vnc->source, g_source_destroy); } @@ -1065,7 +1083,7 @@ index d014315..7edd407 100644 GrdSessionVnc * grd_session_vnc_new (GrdVncServer *vnc_server, GSocketConnection *connection) -@@ -698,6 +742,7 @@ grd_session_vnc_new (GrdVncServer *vnc_server, +@@ -738,6 +782,7 @@ grd_session_vnc_new (GrdVncServer *vnc_server, grd_session_vnc_grab_socket (session_vnc, vnc_socket_grab_func); grd_session_vnc_attach_source (session_vnc); @@ -1073,7 +1091,7 @@ index d014315..7edd407 100644 init_vnc_session (session_vnc); -@@ -727,7 +772,7 @@ grd_session_vnc_stop (GrdSession *session) +@@ -767,7 +812,7 @@ grd_session_vnc_stop (GrdSession *session) g_clear_object (&session_vnc->pipewire_stream); @@ -1081,8 +1099,8 @@ index d014315..7edd407 100644 + grd_session_vnc_pause (session_vnc); g_clear_object (&session_vnc->connection); - g_clear_pointer (&session_vnc->rfb_screen->frameBuffer, g_free); -@@ -783,8 +828,8 @@ grd_session_vnc_stream_ready (GrdSession *session, + g_clear_object (&session_vnc->clipboard_vnc); +@@ -827,8 +872,8 @@ grd_session_vnc_stream_ready (GrdSession *session, G_CALLBACK (on_pipewire_stream_closed), session_vnc); @@ -1093,9 +1111,9 @@ index d014315..7edd407 100644 } static void -@@ -803,4 +848,17 @@ grd_session_vnc_class_init (GrdSessionVncClass *klass) - - session_class->stop = grd_session_vnc_stop; +@@ -849,4 +894,17 @@ grd_session_vnc_class_init (GrdSessionVncClass *klass) + session_class->remote_desktop_session_started = + grd_session_vnc_remote_desktop_session_started; session_class->stream_ready = grd_session_vnc_stream_ready; + + signals[PAUSED] = g_signal_new ("paused", @@ -1112,13 +1130,13 @@ index d014315..7edd407 100644 + G_TYPE_NONE, 0); } -- -2.26.2 +2.34.1 -From b59c36ccf73939d32ccf5ab4eb47460a9fe415f3 Mon Sep 17 00:00:00 2001 +From db1ce3962bbe49491b87cb0a4a90de41614e118b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Wed, 27 Nov 2019 11:03:46 +0100 -Subject: [PATCH 3/6] session-vnc: Add grd_session_vnc_dispatch() helper +Subject: [PATCH 3/7] session-vnc: Add grd_session_vnc_dispatch() helper To be used by the TLS channel security to dispatch when there is data available that is not visible to the socket source. @@ -1128,10 +1146,10 @@ available that is not visible to the socket source. 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c -index 7edd407..29c94a1 100644 +index 4be4c49..9708de0 100644 --- a/src/grd-session-vnc.c +++ b/src/grd-session-vnc.c -@@ -635,6 +635,21 @@ vnc_socket_grab_func (GrdSessionVnc *session_vnc, +@@ -675,6 +675,21 @@ vnc_socket_grab_func (GrdSessionVnc *session_vnc, return TRUE; } @@ -1153,7 +1171,7 @@ index 7edd407..29c94a1 100644 static gboolean handle_socket_data (GSocket *socket, GIOCondition condition, -@@ -651,16 +666,7 @@ handle_socket_data (GSocket *socket, +@@ -691,16 +706,7 @@ handle_socket_data (GSocket *socket, } else if (condition & G_IO_IN) { @@ -1172,10 +1190,10 @@ index 7edd407..29c94a1 100644 else { diff --git a/src/grd-session-vnc.h b/src/grd-session-vnc.h -index bba3d56..58f635c 100644 +index 092d9dc..e9eced0 100644 --- a/src/grd-session-vnc.h +++ b/src/grd-session-vnc.h -@@ -72,6 +72,8 @@ void grd_session_vnc_grab_socket (GrdSessionVnc *session_vnc, +@@ -79,6 +79,8 @@ void grd_session_vnc_grab_socket (GrdSessionVnc *session_vnc, void grd_session_vnc_ungrab_socket (GrdSessionVnc *session_vnc, GrdVncSocketGrabFunc grab_func); @@ -1185,13 +1203,13 @@ index bba3d56..58f635c 100644 #endif /* GRD_SESSION_VNC_H */ -- -2.26.2 +2.34.1 -From 966b2ddbd1c03c9e20dc66e5ea9a2dfb39ba4bfa Mon Sep 17 00:00:00 2001 +From d6115fc524886ba716ba22464743c1a72472ff75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Wed, 27 Nov 2019 11:05:13 +0100 -Subject: [PATCH 4/6] vnc/tls: Add some logging +Subject: [PATCH 4/7] vnc/tls: Add some logging Uses the log utility from libvncserver as it is related to the RFB protocol rather than the session itself. @@ -1262,13 +1280,13 @@ index ec4758e..ac6c35f 100644 { g_warning ("TLS handshake failed: %s", error->message); -- -2.26.2 +2.34.1 -From e01d27dc9911f4d7ecfd232c7e389f4dabfd87de Mon Sep 17 00:00:00 2001 +From c71c9d295a2921014d55820042fc8bdad02df19c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Wed, 27 Nov 2019 11:07:40 +0100 -Subject: [PATCH 5/6] vnc/tls: Dispatch also when data is pending outside of +Subject: [PATCH 5/7] vnc/tls: Dispatch also when data is pending outside of the socket gnutls may have data available in its buffers, and we have our own peek @@ -1282,10 +1300,10 @@ long as there is data to read in those buffers. 2 files changed, 86 insertions(+), 6 deletions(-) diff --git a/src/grd-session-vnc.h b/src/grd-session-vnc.h -index 58f635c..0d01ad3 100644 +index e9eced0..8a916b7 100644 --- a/src/grd-session-vnc.h +++ b/src/grd-session-vnc.h -@@ -72,6 +72,8 @@ void grd_session_vnc_grab_socket (GrdSessionVnc *session_vnc, +@@ -79,6 +79,8 @@ void grd_session_vnc_grab_socket (GrdSessionVnc *session_vnc, void grd_session_vnc_ungrab_socket (GrdSessionVnc *session_vnc, GrdVncSocketGrabFunc grab_func); @@ -1432,13 +1450,13 @@ index ac6c35f..312b6b9 100644 } -- -2.26.2 +2.34.1 -From 682f3b4a8e985f00a00e761a086a15cb5e2b9b04 Mon Sep 17 00:00:00 2001 +From edc2380304d19e1bea58b079b943bad42cac5d69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Wed, 27 Nov 2019 16:48:00 +0100 -Subject: [PATCH 6/6] session-vnc: Set our own password handling function up +Subject: [PATCH 6/7] session-vnc: Set our own password handling function up front libvncserver decides whether to register a auth security handler @@ -1454,10 +1472,10 @@ password prompt. 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c -index 29c94a1..ebe1540 100644 +index 9708de0..bc60285 100644 --- a/src/grd-session-vnc.c +++ b/src/grd-session-vnc.c -@@ -91,11 +91,6 @@ grd_session_vnc_pause (GrdSessionVnc *session_vnc); +@@ -95,11 +95,6 @@ grd_session_vnc_pause (GrdSessionVnc *session_vnc); static gboolean close_session_idle (gpointer user_data); @@ -1469,7 +1487,7 @@ index 29c94a1..ebe1540 100644 static void swap_uint8 (uint8_t *a, uint8_t *b) -@@ -310,7 +305,6 @@ handle_new_client (rfbClientPtr rfb_client) +@@ -322,7 +317,6 @@ handle_new_client (rfbClientPtr rfb_client) grd_session_vnc_pause (session_vnc); return RFB_CLIENT_ON_HOLD; case GRD_VNC_AUTH_METHOD_PASSWORD: @@ -1477,7 +1495,7 @@ index 29c94a1..ebe1540 100644 /* * authPasswdData needs to be non NULL in libvncserver to trigger * password authentication. -@@ -594,6 +588,8 @@ init_vnc_session (GrdSessionVnc *session_vnc) +@@ -623,6 +617,8 @@ init_vnc_session (GrdSessionVnc *session_vnc) rfb_screen->frameBuffer = g_malloc0 (screen_width * screen_height * 4); memset (rfb_screen->frameBuffer, 0x1f, screen_width * screen_height * 4); @@ -1487,5 +1505,40 @@ index 29c94a1..ebe1540 100644 rfbProcessEvents (rfb_screen, 0); } -- -2.26.2 +2.34.1 + + +From 539d2c562b8068f1f698468cb87b36b4968c1517 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jonas=20=C3=85dahl?= +Date: Mon, 12 Oct 2020 17:34:30 +0200 +Subject: [PATCH 7/7] vnc: Copy pixels using the right destination stride + +We're copying the pixels in a separate thread managed by PipeWire, and +in this thread, accessing the VNC framebuffer dimension and stride is +racy. Instead of fetching the dimension directly, pass the expected +width and get the stride it will eventually have. + +Already before this patch, when the copied pixel end up on the main +thread and the dimension still doesn't match up, the frame will be +dropped. +--- + src/grd-session-vnc.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/grd-session-vnc.h b/src/grd-session-vnc.h +index 8a916b7..e85f31e 100644 +--- a/src/grd-session-vnc.h ++++ b/src/grd-session-vnc.h +@@ -67,7 +67,8 @@ int grd_session_vnc_get_stride_for_width (GrdSessionVnc *session_vnc, + + int grd_session_vnc_get_fd (GrdSessionVnc *session_vnc); + +-int grd_session_vnc_get_framebuffer_stride (GrdSessionVnc *session_vnc); ++int grd_session_vnc_get_stride_for_width (GrdSessionVnc *session_vnc, ++ int width); + + gboolean grd_session_vnc_is_client_gone (GrdSessionVnc *session_vnc); + +-- +2.34.1