Bump version to gnome-remote-desktop-43.beta

This commit is contained in:
Jonas Ådahl 2022-08-11 15:54:34 +02:00
parent 97c9b9cc3b
commit 9e971ca11c
4 changed files with 103 additions and 84 deletions

1
.gitignore vendored
View File

@ -15,3 +15,4 @@
/gnome-remote-desktop-42.2.tar.xz /gnome-remote-desktop-42.2.tar.xz
/gnome-remote-desktop-42.3.tar.xz /gnome-remote-desktop-42.3.tar.xz
/gnome-remote-desktop-43.alpha.tar.xz /gnome-remote-desktop-43.alpha.tar.xz
/gnome-remote-desktop-43.beta.tar.xz

View File

@ -10,8 +10,8 @@
%endif %endif
Name: gnome-remote-desktop Name: gnome-remote-desktop
Version: 43~alpha Version: 43~beta
Release: 2%{?dist} Release: 1%{?dist}
Summary: GNOME Remote Desktop screen share service Summary: GNOME Remote Desktop screen share service
License: GPLv2+ License: GPLv2+
@ -45,8 +45,18 @@ BuildRequires: pkgconfig(libsecret-1)
BuildRequires: pkgconfig(libvncserver) >= 0.9.11-7 BuildRequires: pkgconfig(libvncserver) >= 0.9.11-7
BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(xkbcommon) BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(tss2-esys)
BuildRequires: pkgconfig(tss2-mu)
BuildRequires: pkgconfig(tss2-rc)
BuildRequires: pkgconfig(tss2-tcildr)
Requires: pipewire%{?_isa} >= 0.3.0 Requires: pipewire%{?_isa} >= 0.3.0
Requires: tss2-esys
Requires: tss2-mu
Requires: tss2-rc
Requires: tss2-tcildr
Requires: tss2-tcildr
Requires: tpm2-abrmd
Obsoletes: vino < 3.22.0-21 Obsoletes: vino < 3.22.0-21
@ -104,6 +114,9 @@ GNOME desktop environment.
%changelog %changelog
* Thu Aug 11 2022 Jonas Ådahl <jadahl@redhat.com> - 43~beta
- Update to 43.beta
* Fri Jul 29 2022 Tomas Popela <tpopela@redhat.com> - 43~alpha-2 * Fri Jul 29 2022 Tomas Popela <tpopela@redhat.com> - 43~alpha-2
- FreeRDP is built without server support in RHEL and ELN so we should disable - FreeRDP is built without server support in RHEL and ELN so we should disable
the RDP there the RDP there

View File

@ -1,4 +1,4 @@
From a371957f58dc2d5022b2b145d15081e1b9cab629 Mon Sep 17 00:00:00 2001 From b67e49d9e9d511b489c7ce8b4a477bf8825ccf3a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com> From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
Date: Thu, 14 Jun 2018 12:21:37 +0200 Date: Thu, 14 Jun 2018 12:21:37 +0200
Subject: [PATCH 1/7] vnc: Add anonymous TLS encryption support Subject: [PATCH 1/7] vnc: Add anonymous TLS encryption support
@ -15,20 +15,20 @@ VNC connection.
src/grd-session-vnc.h | 17 + src/grd-session-vnc.h | 17 +
src/grd-settings.c | 28 ++ src/grd-settings.c | 28 ++
src/grd-settings.h | 2 + src/grd-settings.h | 2 +
src/grd-vnc-server.c | 45 ++ src/grd-vnc-server.c | 47 ++
src/grd-vnc-tls.c | 444 ++++++++++++++++++ src/grd-vnc-tls.c | 444 ++++++++++++++++++
src/grd-vnc-tls.h | 28 ++ src/grd-vnc-tls.h | 28 ++
src/meson.build | 3 + src/meson.build | 3 +
...nome.desktop.remote-desktop.gschema.xml.in | 10 + ...nome.desktop.remote-desktop.gschema.xml.in | 10 +
11 files changed, 678 insertions(+), 26 deletions(-) 11 files changed, 680 insertions(+), 26 deletions(-)
create mode 100644 src/grd-vnc-tls.c create mode 100644 src/grd-vnc-tls.c
create mode 100644 src/grd-vnc-tls.h create mode 100644 src/grd-vnc-tls.h
diff --git a/meson.build b/meson.build diff --git a/meson.build b/meson.build
index 3e7c272..17d85d9 100644 index 274452b..50fb6f2 100644
--- a/meson.build --- a/meson.build
+++ b/meson.build +++ b/meson.build
@@ -50,6 +50,7 @@ endif @@ -63,6 +63,7 @@ endif
if have_vnc if have_vnc
libvncclient_dep = dependency('libvncclient') libvncclient_dep = dependency('libvncclient')
libvncserver_dep = dependency('libvncserver') libvncserver_dep = dependency('libvncserver')
@ -37,12 +37,12 @@ index 3e7c272..17d85d9 100644
prefix = get_option('prefix') prefix = get_option('prefix')
diff --git a/src/grd-enums.h b/src/grd-enums.h diff --git a/src/grd-enums.h b/src/grd-enums.h
index e3ecc40..fa8dfb7 100644 index 44b181d..de0d0f8 100644
--- a/src/grd-enums.h --- a/src/grd-enums.h
+++ b/src/grd-enums.h +++ b/src/grd-enums.h
@@ -33,4 +33,10 @@ typedef enum @@ -39,4 +39,10 @@ typedef enum
GRD_VNC_AUTH_METHOD_PASSWORD GRD_VNC_SCREEN_SHARE_MODE_EXTEND,
} GrdVncAuthMethod; } GrdVncScreenShareMode;
+typedef enum +typedef enum
+{ +{
@ -52,7 +52,7 @@ index e3ecc40..fa8dfb7 100644
+ +
#endif /* GRD_ENUMS_H */ #endif /* GRD_ENUMS_H */
diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c
index fbc66a4..fa694f0 100644 index d310706..d145b8d 100644
--- a/src/grd-session-vnc.c --- a/src/grd-session-vnc.c
+++ b/src/grd-session-vnc.c +++ b/src/grd-session-vnc.c
@@ -45,7 +45,9 @@ struct _GrdSessionVnc @@ -45,7 +45,9 @@ struct _GrdSessionVnc
@ -65,7 +65,7 @@ index fbc66a4..fa694f0 100644
GSource *source; GSource *source;
rfbScreenInfoPtr rfb_screen; rfbScreenInfoPtr rfb_screen;
rfbClientPtr rfb_client; rfbClientPtr rfb_client;
@@ -543,6 +545,12 @@ check_rfb_password (rfbClientPtr rfb_client, @@ -586,6 +588,12 @@ check_rfb_password (rfbClientPtr rfb_client,
} }
} }
@ -78,7 +78,7 @@ index fbc66a4..fa694f0 100644
int int
grd_session_vnc_get_stride_for_width (GrdSessionVnc *session_vnc, grd_session_vnc_get_stride_for_width (GrdSessionVnc *session_vnc,
int width) int width)
@@ -550,6 +558,18 @@ grd_session_vnc_get_stride_for_width (GrdSessionVnc *session_vnc, @@ -593,6 +601,18 @@ grd_session_vnc_get_stride_for_width (GrdSessionVnc *session_vnc,
return width * BGRX_BYTES_PER_PIXEL; return width * BGRX_BYTES_PER_PIXEL;
} }
@ -97,7 +97,7 @@ index fbc66a4..fa694f0 100644
static void static void
init_vnc_session (GrdSessionVnc *session_vnc) init_vnc_session (GrdSessionVnc *session_vnc)
{ {
@@ -593,44 +613,85 @@ init_vnc_session (GrdSessionVnc *session_vnc) @@ -667,44 +687,85 @@ init_vnc_session (GrdSessionVnc *session_vnc)
rfbProcessEvents (rfb_screen, 0); rfbProcessEvents (rfb_screen, 0);
} }
@ -208,7 +208,7 @@ index fbc66a4..fa694f0 100644
} }
return G_SOURCE_CONTINUE; return G_SOURCE_CONTINUE;
@@ -643,7 +704,10 @@ grd_session_vnc_attach_source (GrdSessionVnc *session_vnc) @@ -717,7 +778,10 @@ grd_session_vnc_attach_source (GrdSessionVnc *session_vnc)
socket = g_socket_connection_get_socket (session_vnc->connection); socket = g_socket_connection_get_socket (session_vnc->connection);
session_vnc->source = g_socket_create_source (socket, session_vnc->source = g_socket_create_source (socket,
@ -220,18 +220,21 @@ index fbc66a4..fa694f0 100644
NULL); NULL);
g_source_set_callback (session_vnc->source, g_source_set_callback (session_vnc->source,
(GSourceFunc) handle_socket_data, (GSourceFunc) handle_socket_data,
@@ -673,8 +737,10 @@ grd_session_vnc_new (GrdVncServer *vnc_server, @@ -748,11 +812,13 @@ grd_session_vnc_new (GrdVncServer *vnc_server,
"context", context, "context", context,
NULL); NULL);
+ session_vnc->vnc_server = vnc_server; + session_vnc->vnc_server = vnc_server;
session_vnc->connection = g_object_ref (connection); session_vnc->connection = g_object_ref (connection);
settings = grd_context_get_settings (context);
session_vnc->screen_share_mode = grd_settings_get_vnc_screen_share_mode (settings);
+ grd_session_vnc_grab_socket (session_vnc, vnc_socket_grab_func); + grd_session_vnc_grab_socket (session_vnc, vnc_socket_grab_func);
grd_session_vnc_attach_source (session_vnc); grd_session_vnc_attach_source (session_vnc);
init_vnc_session (session_vnc); init_vnc_session (session_vnc);
@@ -689,6 +755,8 @@ grd_session_vnc_dispose (GObject *object) @@ -767,6 +833,8 @@ grd_session_vnc_dispose (GObject *object)
g_assert (!session_vnc->rfb_screen); g_assert (!session_vnc->rfb_screen);
@ -241,10 +244,10 @@ index fbc66a4..fa694f0 100644
G_OBJECT_CLASS (grd_session_vnc_parent_class)->dispose (object); G_OBJECT_CLASS (grd_session_vnc_parent_class)->dispose (object);
diff --git a/src/grd-session-vnc.h b/src/grd-session-vnc.h diff --git a/src/grd-session-vnc.h b/src/grd-session-vnc.h
index fcc508d..092d9dc 100644 index be79cf4..ffc8d27 100644
--- a/src/grd-session-vnc.h --- a/src/grd-session-vnc.h
+++ b/src/grd-session-vnc.h +++ b/src/grd-session-vnc.h
@@ -36,6 +36,9 @@ G_DECLARE_FINAL_TYPE (GrdSessionVnc, @@ -37,6 +37,9 @@ G_DECLARE_FINAL_TYPE (GrdSessionVnc,
GRD, SESSION_VNC, GRD, SESSION_VNC,
GrdSession) GrdSession)
@ -254,7 +257,7 @@ index fcc508d..092d9dc 100644
GrdSessionVnc *grd_session_vnc_new (GrdVncServer *vnc_server, GrdSessionVnc *grd_session_vnc_new (GrdVncServer *vnc_server,
GSocketConnection *connection); GSocketConnection *connection);
@@ -62,6 +65,20 @@ void grd_session_vnc_set_client_clipboard_text (GrdSessionVnc *session_vnc, @@ -63,6 +66,20 @@ void grd_session_vnc_set_client_clipboard_text (GrdSessionVnc *session_vnc,
int grd_session_vnc_get_stride_for_width (GrdSessionVnc *session_vnc, int grd_session_vnc_get_stride_for_width (GrdSessionVnc *session_vnc,
int width); int width);
@ -276,18 +279,18 @@ index fcc508d..092d9dc 100644
+ +
#endif /* GRD_SESSION_VNC_H */ #endif /* GRD_SESSION_VNC_H */
diff --git a/src/grd-settings.c b/src/grd-settings.c diff --git a/src/grd-settings.c b/src/grd-settings.c
index dad5d57..7753186 100644 index fc004fd..d4b4710 100644
--- a/src/grd-settings.c --- a/src/grd-settings.c
+++ b/src/grd-settings.c +++ b/src/grd-settings.c
@@ -69,6 +69,7 @@ struct _GrdSettings @@ -74,6 +74,7 @@ struct _GrdSettings
gboolean view_only;
GrdVncAuthMethod auth_method; GrdVncAuthMethod auth_method;
int port; int port;
GrdVncScreenShareMode screen_share_mode;
+ GrdVncEncryption encryption; + GrdVncEncryption encryption;
} vnc; } vnc;
}; };
@@ -259,6 +260,12 @@ grd_settings_get_vnc_auth_method (GrdSettings *settings) @@ -248,6 +249,12 @@ grd_settings_get_vnc_auth_method (GrdSettings *settings)
return settings->vnc.auth_method; return settings->vnc.auth_method;
} }
@ -300,7 +303,7 @@ index dad5d57..7753186 100644
static void static void
update_screen_share_mode (GrdSettings *settings) update_screen_share_mode (GrdSettings *settings)
{ {
@@ -317,6 +324,13 @@ update_vnc_auth_method (GrdSettings *settings) @@ -313,6 +320,13 @@ update_vnc_auth_method (GrdSettings *settings)
"auth-method"); "auth-method");
} }
@ -314,7 +317,7 @@ index dad5d57..7753186 100644
static void static void
on_rdp_settings_changed (GSettings *rdp_settings, on_rdp_settings_changed (GSettings *rdp_settings,
const char *key, const char *key,
@@ -369,6 +383,11 @@ on_vnc_settings_changed (GSettings *vnc_settings, @@ -370,6 +384,11 @@ on_vnc_settings_changed (GSettings *vnc_settings,
update_vnc_auth_method (settings); update_vnc_auth_method (settings);
g_signal_emit (settings, signals[VNC_AUTH_METHOD_CHANGED], 0); g_signal_emit (settings, signals[VNC_AUTH_METHOD_CHANGED], 0);
} }
@ -325,8 +328,8 @@ index dad5d57..7753186 100644
+ } + }
} }
static void GrdSettings *
@@ -406,6 +425,8 @@ grd_settings_init (GrdSettings *settings) @@ -419,6 +438,8 @@ grd_settings_init (GrdSettings *settings)
settings->rdp.port = GRD_RDP_SERVER_PORT; settings->rdp.port = GRD_RDP_SERVER_PORT;
settings->vnc.port = GRD_VNC_SERVER_PORT; settings->vnc.port = GRD_VNC_SERVER_PORT;
@ -335,7 +338,7 @@ index dad5d57..7753186 100644
} }
static void static void
@@ -471,4 +492,11 @@ grd_settings_class_init (GrdSettingsClass *klass) @@ -491,4 +512,11 @@ grd_settings_class_init (GrdSettingsClass *klass)
0, 0,
NULL, NULL, NULL, NULL, NULL, NULL,
G_TYPE_NONE, 0); G_TYPE_NONE, 0);
@ -348,21 +351,21 @@ index dad5d57..7753186 100644
+ G_TYPE_NONE, 0); + G_TYPE_NONE, 0);
} }
diff --git a/src/grd-settings.h b/src/grd-settings.h diff --git a/src/grd-settings.h b/src/grd-settings.h
index 449894a..900d81e 100644 index a000fb2..f889d6e 100644
--- a/src/grd-settings.h --- a/src/grd-settings.h
+++ b/src/grd-settings.h +++ b/src/grd-settings.h
@@ -65,4 +65,6 @@ gboolean grd_settings_get_vnc_view_only (GrdSettings *settings); @@ -68,4 +68,6 @@ GrdVncAuthMethod grd_settings_get_vnc_auth_method (GrdSettings *settings);
GrdVncAuthMethod grd_settings_get_vnc_auth_method (GrdSettings *settings); GrdVncScreenShareMode grd_settings_get_vnc_screen_share_mode (GrdSettings *settings);
+GrdVncEncryption grd_settings_get_vnc_encryption (GrdSettings *settings); +GrdVncEncryption grd_settings_get_vnc_encryption (GrdSettings *settings);
+ +
#endif /* GRD_SETTINGS_H */ #endif /* GRD_SETTINGS_H */
diff --git a/src/grd-vnc-server.c b/src/grd-vnc-server.c diff --git a/src/grd-vnc-server.c b/src/grd-vnc-server.c
index 0b4322d..e8833f1 100644 index 70efab1..9280dfb 100644
--- a/src/grd-vnc-server.c --- a/src/grd-vnc-server.c
+++ b/src/grd-vnc-server.c +++ b/src/grd-vnc-server.c
@@ -24,11 +24,13 @@ @@ -24,12 +24,14 @@
#include "grd-vnc-server.h" #include "grd-vnc-server.h"
@ -371,11 +374,12 @@ index 0b4322d..e8833f1 100644
#include <rfb/rfb.h> #include <rfb/rfb.h>
#include "grd-context.h" #include "grd-context.h"
#include "grd-debug.h"
#include "grd-session-vnc.h" #include "grd-session-vnc.h"
+#include "grd-vnc-tls.h" +#include "grd-vnc-tls.h"
enum enum
{
@@ -129,6 +131,43 @@ on_incoming (GSocketService *service, @@ -129,6 +131,43 @@ on_incoming (GSocketService *service,
return TRUE; return TRUE;
} }
@ -420,13 +424,14 @@ index 0b4322d..e8833f1 100644
gboolean gboolean
grd_vnc_server_start (GrdVncServer *vnc_server, grd_vnc_server_start (GrdVncServer *vnc_server,
GError **error) GError **error)
@@ -217,12 +256,18 @@ static void @@ -216,11 +255,19 @@ grd_vnc_server_dispose (GObject *object)
static void
grd_vnc_server_constructed (GObject *object) grd_vnc_server_constructed (GObject *object)
{ {
GrdVncServer *vnc_server = GRD_VNC_SERVER (object); + GrdVncServer *vnc_server = GRD_VNC_SERVER (object);
+ GrdSettings *settings = grd_context_get_settings (vnc_server->context); + GrdSettings *settings = grd_context_get_settings (vnc_server->context);
+
if (grd_context_get_debug_flags (vnc_server->context) & GRD_DEBUG_VNC) if (grd_get_debug_flags () & GRD_DEBUG_VNC)
rfbLogEnable (1); rfbLogEnable (1);
else else
rfbLogEnable (0); rfbLogEnable (0);
@ -924,10 +929,10 @@ index 0000000..135ef8c
+ +
+#endif /* GRD_VNC_TLS_H */ +#endif /* GRD_VNC_TLS_H */
diff --git a/src/meson.build b/src/meson.build diff --git a/src/meson.build b/src/meson.build
index 3def890..31f11fa 100644 index 6506d92..47dce4f 100644
--- a/src/meson.build --- a/src/meson.build
+++ b/src/meson.build +++ b/src/meson.build
@@ -115,10 +115,13 @@ if have_vnc @@ -148,10 +148,13 @@ if have_vnc
'grd-vnc-pipewire-stream.h', 'grd-vnc-pipewire-stream.h',
'grd-vnc-server.c', 'grd-vnc-server.c',
'grd-vnc-server.h', 'grd-vnc-server.h',
@ -942,11 +947,11 @@ index 3def890..31f11fa 100644
endif endif
diff --git a/src/org.gnome.desktop.remote-desktop.gschema.xml.in b/src/org.gnome.desktop.remote-desktop.gschema.xml.in diff --git a/src/org.gnome.desktop.remote-desktop.gschema.xml.in b/src/org.gnome.desktop.remote-desktop.gschema.xml.in
index 6ea4875..4d36b5d 100644 index 5b39a5d..c6dc2ab 100644
--- a/src/org.gnome.desktop.remote-desktop.gschema.xml.in --- a/src/org.gnome.desktop.remote-desktop.gschema.xml.in
+++ b/src/org.gnome.desktop.remote-desktop.gschema.xml.in +++ b/src/org.gnome.desktop.remote-desktop.gschema.xml.in
@@ -90,5 +90,15 @@ @@ -116,5 +116,15 @@
* password - by requiring the remote client to provide a known password configuration updates.
</description> </description>
</key> </key>
+ <key name='encryption' flags='org.gnome.desktop.remote-desktop.GrdVncEncryption'> + <key name='encryption' flags='org.gnome.desktop.remote-desktop.GrdVncEncryption'>
@ -962,10 +967,10 @@ index 6ea4875..4d36b5d 100644
</schema> </schema>
</schemalist> </schemalist>
-- --
2.35.3 2.37.1
From 817a3712b076a0054e0ee78e9bf0b31d203a954d Mon Sep 17 00:00:00 2001 From 622d00773d059ebe96498fb3d12f2ca7a7579d6b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com> From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
Date: Wed, 27 Nov 2019 11:02:09 +0100 Date: Wed, 27 Nov 2019 11:02:09 +0100
Subject: [PATCH 2/7] session-vnc: Add paused/resumed signals Subject: [PATCH 2/7] session-vnc: Add paused/resumed signals
@ -978,7 +983,7 @@ out-of-socket source.
1 file changed, 65 insertions(+), 7 deletions(-) 1 file changed, 65 insertions(+), 7 deletions(-)
diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c
index fa694f0..8173897 100644 index d145b8d..e7a77d5 100644
--- a/src/grd-session-vnc.c --- a/src/grd-session-vnc.c
+++ b/src/grd-session-vnc.c +++ b/src/grd-session-vnc.c
@@ -41,14 +41,27 @@ @@ -41,14 +41,27 @@
@ -1009,7 +1014,7 @@ index fa694f0..8173897 100644
rfbScreenInfoPtr rfb_screen; rfbScreenInfoPtr rfb_screen;
rfbClientPtr rfb_client; rfbClientPtr rfb_client;
@@ -77,7 +90,7 @@ struct _GrdSessionVnc @@ -79,7 +92,7 @@ struct _GrdSessionVnc
G_DEFINE_TYPE (GrdSessionVnc, grd_session_vnc, GRD_TYPE_SESSION) G_DEFINE_TYPE (GrdSessionVnc, grd_session_vnc, GRD_TYPE_SESSION)
static void static void
@ -1018,7 +1023,7 @@ index fa694f0..8173897 100644
static gboolean static gboolean
close_session_idle (gpointer user_data); close_session_idle (gpointer user_data);
@@ -236,7 +249,8 @@ handle_client_gone (rfbClientPtr rfb_client) @@ -246,7 +259,8 @@ handle_client_gone (rfbClientPtr rfb_client)
g_debug ("VNC client gone"); g_debug ("VNC client gone");
@ -1028,7 +1033,7 @@ index fa694f0..8173897 100644
maybe_queue_close_session_idle (session_vnc); maybe_queue_close_session_idle (session_vnc);
session_vnc->rfb_client = NULL; session_vnc->rfb_client = NULL;
} }
@@ -305,7 +319,7 @@ handle_new_client (rfbClientPtr rfb_client) @@ -315,7 +329,7 @@ handle_new_client (rfbClientPtr rfb_client)
session_vnc->prompt_cancellable, session_vnc->prompt_cancellable,
prompt_response_callback, prompt_response_callback,
session_vnc); session_vnc);
@ -1037,7 +1042,7 @@ index fa694f0..8173897 100644
return RFB_CLIENT_ON_HOLD; return RFB_CLIENT_ON_HOLD;
case GRD_VNC_AUTH_METHOD_PASSWORD: case GRD_VNC_AUTH_METHOD_PASSWORD:
session_vnc->rfb_screen->passwordCheck = check_rfb_password; session_vnc->rfb_screen->passwordCheck = check_rfb_password;
@@ -536,7 +550,7 @@ check_rfb_password (rfbClientPtr rfb_client, @@ -579,7 +593,7 @@ check_rfb_password (rfbClientPtr rfb_client,
if (memcmp (challenge_encrypted, response_encrypted, len) == 0) if (memcmp (challenge_encrypted, response_encrypted, len) == 0)
{ {
grd_session_start (GRD_SESSION (session_vnc)); grd_session_start (GRD_SESSION (session_vnc));
@ -1046,7 +1051,7 @@ index fa694f0..8173897 100644
return TRUE; return TRUE;
} }
else else
@@ -725,6 +739,36 @@ grd_session_vnc_detach_source (GrdSessionVnc *session_vnc) @@ -799,6 +813,36 @@ grd_session_vnc_detach_source (GrdSessionVnc *session_vnc)
g_clear_pointer (&session_vnc->source, g_source_unref); g_clear_pointer (&session_vnc->source, g_source_unref);
} }
@ -1083,7 +1088,7 @@ index fa694f0..8173897 100644
GrdSessionVnc * GrdSessionVnc *
grd_session_vnc_new (GrdVncServer *vnc_server, grd_session_vnc_new (GrdVncServer *vnc_server,
GSocketConnection *connection) GSocketConnection *connection)
@@ -742,6 +786,7 @@ grd_session_vnc_new (GrdVncServer *vnc_server, @@ -820,6 +864,7 @@ grd_session_vnc_new (GrdVncServer *vnc_server,
grd_session_vnc_grab_socket (session_vnc, vnc_socket_grab_func); grd_session_vnc_grab_socket (session_vnc, vnc_socket_grab_func);
grd_session_vnc_attach_source (session_vnc); grd_session_vnc_attach_source (session_vnc);
@ -1091,7 +1096,7 @@ index fa694f0..8173897 100644
init_vnc_session (session_vnc); init_vnc_session (session_vnc);
@@ -771,7 +816,7 @@ grd_session_vnc_stop (GrdSession *session) @@ -849,7 +894,7 @@ grd_session_vnc_stop (GrdSession *session)
g_clear_object (&session_vnc->pipewire_stream); g_clear_object (&session_vnc->pipewire_stream);
@ -1100,7 +1105,7 @@ index fa694f0..8173897 100644
g_clear_object (&session_vnc->connection); g_clear_object (&session_vnc->connection);
g_clear_object (&session_vnc->clipboard_vnc); g_clear_object (&session_vnc->clipboard_vnc);
@@ -831,8 +876,8 @@ grd_session_vnc_stream_ready (GrdSession *session, @@ -936,8 +981,8 @@ grd_session_vnc_stream_ready (GrdSession *session,
G_CALLBACK (on_pipewire_stream_closed), G_CALLBACK (on_pipewire_stream_closed),
session_vnc); session_vnc);
@ -1111,7 +1116,7 @@ index fa694f0..8173897 100644
} }
static void static void
@@ -853,4 +898,17 @@ grd_session_vnc_class_init (GrdSessionVncClass *klass) @@ -958,4 +1003,17 @@ grd_session_vnc_class_init (GrdSessionVncClass *klass)
session_class->remote_desktop_session_started = session_class->remote_desktop_session_started =
grd_session_vnc_remote_desktop_session_started; grd_session_vnc_remote_desktop_session_started;
session_class->stream_ready = grd_session_vnc_stream_ready; session_class->stream_ready = grd_session_vnc_stream_ready;
@ -1130,10 +1135,10 @@ index fa694f0..8173897 100644
+ G_TYPE_NONE, 0); + G_TYPE_NONE, 0);
} }
-- --
2.35.3 2.37.1
From 9581bf42a2a03cc1b80c2d0b61304e2b1594fa81 Mon Sep 17 00:00:00 2001 From 029ee7d275e57c573a726b051f6da647a9cbaaa1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com> From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
Date: Wed, 27 Nov 2019 11:03:46 +0100 Date: Wed, 27 Nov 2019 11:03:46 +0100
Subject: [PATCH 3/7] session-vnc: Add grd_session_vnc_dispatch() helper Subject: [PATCH 3/7] session-vnc: Add grd_session_vnc_dispatch() helper
@ -1146,10 +1151,10 @@ available that is not visible to the socket source.
2 files changed, 18 insertions(+), 10 deletions(-) 2 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c
index 8173897..39d3ead 100644 index e7a77d5..67308a2 100644
--- a/src/grd-session-vnc.c --- a/src/grd-session-vnc.c
+++ b/src/grd-session-vnc.c +++ b/src/grd-session-vnc.c
@@ -675,6 +675,21 @@ vnc_socket_grab_func (GrdSessionVnc *session_vnc, @@ -749,6 +749,21 @@ vnc_socket_grab_func (GrdSessionVnc *session_vnc,
return TRUE; return TRUE;
} }
@ -1171,7 +1176,7 @@ index 8173897..39d3ead 100644
static gboolean static gboolean
handle_socket_data (GSocket *socket, handle_socket_data (GSocket *socket,
GIOCondition condition, GIOCondition condition,
@@ -691,16 +706,7 @@ handle_socket_data (GSocket *socket, @@ -765,16 +780,7 @@ handle_socket_data (GSocket *socket,
} }
else if (condition & G_IO_IN) else if (condition & G_IO_IN)
{ {
@ -1190,10 +1195,10 @@ index 8173897..39d3ead 100644
else else
{ {
diff --git a/src/grd-session-vnc.h b/src/grd-session-vnc.h diff --git a/src/grd-session-vnc.h b/src/grd-session-vnc.h
index 092d9dc..e9eced0 100644 index ffc8d27..a86d61d 100644
--- a/src/grd-session-vnc.h --- a/src/grd-session-vnc.h
+++ b/src/grd-session-vnc.h +++ b/src/grd-session-vnc.h
@@ -79,6 +79,8 @@ void grd_session_vnc_grab_socket (GrdSessionVnc *session_vnc, @@ -80,6 +80,8 @@ void grd_session_vnc_grab_socket (GrdSessionVnc *session_vnc,
void grd_session_vnc_ungrab_socket (GrdSessionVnc *session_vnc, void grd_session_vnc_ungrab_socket (GrdSessionVnc *session_vnc,
GrdVncSocketGrabFunc grab_func); GrdVncSocketGrabFunc grab_func);
@ -1203,10 +1208,10 @@ index 092d9dc..e9eced0 100644
#endif /* GRD_SESSION_VNC_H */ #endif /* GRD_SESSION_VNC_H */
-- --
2.35.3 2.37.1
From 3c10a7ba8514a4f5f9b7af2556330ba00db576ce Mon Sep 17 00:00:00 2001 From 797b5827121177cf13c6c60d0eed3af41aeec929 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com> From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
Date: Wed, 27 Nov 2019 11:05:13 +0100 Date: Wed, 27 Nov 2019 11:05:13 +0100
Subject: [PATCH 4/7] vnc/tls: Add some logging Subject: [PATCH 4/7] vnc/tls: Add some logging
@ -1280,10 +1285,10 @@ index ec4758e..ac6c35f 100644
{ {
g_warning ("TLS handshake failed: %s", error->message); g_warning ("TLS handshake failed: %s", error->message);
-- --
2.35.3 2.37.1
From 1f5ba28f773b3b6b5f238df93c27dec8402684d0 Mon Sep 17 00:00:00 2001 From bf2b7ef3557fb128b1ef580f14c203a8e7073ab2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com> From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
Date: Wed, 27 Nov 2019 11:07:40 +0100 Date: Wed, 27 Nov 2019 11:07:40 +0100
Subject: [PATCH 5/7] vnc/tls: Dispatch also when data is pending outside of Subject: [PATCH 5/7] vnc/tls: Dispatch also when data is pending outside of
@ -1300,10 +1305,10 @@ long as there is data to read in those buffers.
2 files changed, 86 insertions(+), 6 deletions(-) 2 files changed, 86 insertions(+), 6 deletions(-)
diff --git a/src/grd-session-vnc.h b/src/grd-session-vnc.h diff --git a/src/grd-session-vnc.h b/src/grd-session-vnc.h
index e9eced0..8a916b7 100644 index a86d61d..5db388b 100644
--- a/src/grd-session-vnc.h --- a/src/grd-session-vnc.h
+++ b/src/grd-session-vnc.h +++ b/src/grd-session-vnc.h
@@ -79,6 +79,8 @@ void grd_session_vnc_grab_socket (GrdSessionVnc *session_vnc, @@ -80,6 +80,8 @@ void grd_session_vnc_grab_socket (GrdSessionVnc *session_vnc,
void grd_session_vnc_ungrab_socket (GrdSessionVnc *session_vnc, void grd_session_vnc_ungrab_socket (GrdSessionVnc *session_vnc,
GrdVncSocketGrabFunc grab_func); GrdVncSocketGrabFunc grab_func);
@ -1450,10 +1455,10 @@ index ac6c35f..312b6b9 100644
} }
-- --
2.35.3 2.37.1
From c6ed5cc1fb612099eca207297dcb80a2c9a77112 Mon Sep 17 00:00:00 2001 From 0cb5e3cc2dd4ce71b744cf4a84175880f89cca1e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com> From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
Date: Wed, 27 Nov 2019 16:48:00 +0100 Date: Wed, 27 Nov 2019 16:48:00 +0100
Subject: [PATCH 6/7] session-vnc: Set our own password handling function up Subject: [PATCH 6/7] session-vnc: Set our own password handling function up
@ -1472,10 +1477,10 @@ password prompt.
1 file changed, 2 insertions(+), 6 deletions(-) 1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c diff --git a/src/grd-session-vnc.c b/src/grd-session-vnc.c
index 39d3ead..6d0e5e2 100644 index 67308a2..39b3a56 100644
--- a/src/grd-session-vnc.c --- a/src/grd-session-vnc.c
+++ b/src/grd-session-vnc.c +++ b/src/grd-session-vnc.c
@@ -95,11 +95,6 @@ grd_session_vnc_pause (GrdSessionVnc *session_vnc); @@ -97,11 +97,6 @@ grd_session_vnc_pause (GrdSessionVnc *session_vnc);
static gboolean static gboolean
close_session_idle (gpointer user_data); close_session_idle (gpointer user_data);
@ -1487,7 +1492,7 @@ index 39d3ead..6d0e5e2 100644
static void static void
swap_uint8 (uint8_t *a, swap_uint8 (uint8_t *a,
uint8_t *b) uint8_t *b)
@@ -322,7 +317,6 @@ handle_new_client (rfbClientPtr rfb_client) @@ -332,7 +327,6 @@ handle_new_client (rfbClientPtr rfb_client)
grd_session_vnc_pause (session_vnc); grd_session_vnc_pause (session_vnc);
return RFB_CLIENT_ON_HOLD; return RFB_CLIENT_ON_HOLD;
case GRD_VNC_AUTH_METHOD_PASSWORD: case GRD_VNC_AUTH_METHOD_PASSWORD:
@ -1495,9 +1500,9 @@ index 39d3ead..6d0e5e2 100644
/* /*
* authPasswdData needs to be non NULL in libvncserver to trigger * authPasswdData needs to be non NULL in libvncserver to trigger
* password authentication. * password authentication.
@@ -623,6 +617,8 @@ init_vnc_session (GrdSessionVnc *session_vnc) @@ -697,6 +691,8 @@ init_vnc_session (GrdSessionVnc *session_vnc)
rfb_screen->frameBuffer = g_malloc0 (screen_width * screen_height * 4); session_vnc->monitor_config->connectors = connectors;
memset (rfb_screen->frameBuffer, 0x1f, screen_width * screen_height * 4); }
+ rfb_screen->passwordCheck = check_rfb_password; + rfb_screen->passwordCheck = check_rfb_password;
+ +
@ -1505,10 +1510,10 @@ index 39d3ead..6d0e5e2 100644
rfbProcessEvents (rfb_screen, 0); rfbProcessEvents (rfb_screen, 0);
} }
-- --
2.35.3 2.37.1
From b7420dcf10c92974efa17d8584f7a4d2773dd425 Mon Sep 17 00:00:00 2001 From bcebb14b9bb6cd4de9e9996021d6957cd1cfd873 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com> From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
Date: Mon, 12 Oct 2020 17:34:30 +0200 Date: Mon, 12 Oct 2020 17:34:30 +0200
Subject: [PATCH 7/7] vnc: Copy pixels using the right destination stride Subject: [PATCH 7/7] vnc: Copy pixels using the right destination stride
@ -1526,10 +1531,10 @@ dropped.
1 file changed, 2 insertions(+), 1 deletion(-) 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/grd-session-vnc.h b/src/grd-session-vnc.h diff --git a/src/grd-session-vnc.h b/src/grd-session-vnc.h
index 8a916b7..e85f31e 100644 index 5db388b..c4f4e8d 100644
--- a/src/grd-session-vnc.h --- a/src/grd-session-vnc.h
+++ b/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, @@ -68,7 +68,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_fd (GrdSessionVnc *session_vnc);
@ -1540,5 +1545,5 @@ index 8a916b7..e85f31e 100644
gboolean grd_session_vnc_is_client_gone (GrdSessionVnc *session_vnc); gboolean grd_session_vnc_is_client_gone (GrdSessionVnc *session_vnc);
-- --
2.35.3 2.37.1

View File

@ -1 +1 @@
SHA512 (gnome-remote-desktop-43.alpha.tar.xz) = 1f885f5ddbf21821107f18a277c419864d0bb7a8b5c031282868318393febc97837e5e28324f667f7f4406d29d4309f412a537fca339668a9a215797a1685027 SHA512 (gnome-remote-desktop-43.beta.tar.xz) = 8609e30556cb1387df1f6ffe46338e20194f1f02da56e138be03d2289cc0806d492a601d9c83f0804cd445ae02b3e1c772bd22f572d78846268d7f72f08b3f09