Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gnome-remote-desktop for
openSUSE:Factory checked in at 2022-08-09 15:28:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-remote-desktop (Old)
and /work/SRC/openSUSE:Factory/.gnome-remote-desktop.new.1521 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-remote-desktop"
Tue Aug 9 15:28:06 2022 rev:12 rq:993952 version:42.4
Changes:
--------
---
/work/SRC/openSUSE:Factory/gnome-remote-desktop/gnome-remote-desktop.changes
2022-07-04 11:49:12.097211869 +0200
+++
/work/SRC/openSUSE:Factory/.gnome-remote-desktop.new.1521/gnome-remote-desktop.changes
2022-08-09 15:28:40.829681437 +0200
@@ -1,0 +2,24 @@
+Mon Aug 08 09:27:42 UTC 2022 - [email protected]
+
+- Update to version 42.4:
+ + ctl:
+ - Do not crash, when deleting non-existent credentials
+ - Fix error messages
+ + rdp: Don't dereference NULL pointer when parent dir cannot be
+ found
+ + rdp-gfx-surface: Delete GFX surface before clearing its members
+ + rdp-graphics-pipeline: Extend comment with documentation
+ reference
+ + rdp/nw-auto: Disallow unqueued bandwidth measure stops
+ + rdp/rdpgfx: Only clear unacked frames when surface has frame
+ controller
+ + session-rdp:
+ - Do not crash, when credentials are not set
+ - Stop leaking session sources when session creation fails
+ - Stop leaking the event queue, when session creation fails
+ + session-vnc: Do not crash, when password is not set
+ + settings: Do not set error twice when
+ secret_password_lookup_sync fails
+ + tests/egl: Replace tautologies with actual modifier checks
+
+-------------------------------------------------------------------
Old:
----
gnome-remote-desktop-42.3.obscpio
New:
----
gnome-remote-desktop-42.4.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-remote-desktop.spec ++++++
--- /var/tmp/diff_new_pack.aqUkcd/_old 2022-08-09 15:28:41.261682671 +0200
+++ /var/tmp/diff_new_pack.aqUkcd/_new 2022-08-09 15:28:41.265682683 +0200
@@ -21,7 +21,7 @@
%define freerdp_version 2.2.0
Name: gnome-remote-desktop
-Version: 42.3
+Version: 42.4
Release: 0
Summary: GNOME Remote Desktop screen sharing service
License: GPL-2.0-or-later
++++++ _service ++++++
--- /var/tmp/diff_new_pack.aqUkcd/_old 2022-08-09 15:28:41.301682785 +0200
+++ /var/tmp/diff_new_pack.aqUkcd/_new 2022-08-09 15:28:41.305682797 +0200
@@ -2,7 +2,7 @@
<service name="obs_scm" mode="disabled">
<param
name="url">https://gitlab.gnome.org/GNOME/gnome-remote-desktop.git</param>
<param name="scm">git</param>
- <param name="revision">refs/tags/42.3</param>
+ <param name="revision">refs/tags/42.4</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
</service>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.aqUkcd/_old 2022-08-09 15:28:41.325682854 +0200
+++ /var/tmp/diff_new_pack.aqUkcd/_new 2022-08-09 15:28:41.329682866 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param
name="url">https://gitlab.gnome.org/GNOME/gnome-remote-desktop.git</param>
- <param
name="changesrevision">73b9f00b31bc462de42e94054121052a106df521</param></service></servicedata>
+ <param
name="changesrevision">ee8f1591e72cfb9ca9c243d6e1f16008f3c08fa0</param></service></servicedata>
(No newline at EOF)
++++++ gnome-remote-desktop-42.3.obscpio -> gnome-remote-desktop-42.4.obscpio
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-remote-desktop-42.3/meson.build
new/gnome-remote-desktop-42.4/meson.build
--- old/gnome-remote-desktop-42.3/meson.build 2022-07-03 16:13:18.000000000
+0200
+++ new/gnome-remote-desktop-42.4/meson.build 2022-08-06 23:18:12.000000000
+0200
@@ -1,5 +1,5 @@
project('gnome-remote-desktop', 'c',
- version: '42.3',
+ version: '42.4',
meson_version: '>= 0.47.0',
default_options: ['warning_level=1',
'buildtype=debugoptimized'])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-remote-desktop-42.3/src/grd-ctl.c
new/gnome-remote-desktop-42.4/src/grd-ctl.c
--- old/gnome-remote-desktop-42.3/src/grd-ctl.c 2022-07-03 16:13:18.000000000
+0200
+++ new/gnome-remote-desktop-42.4/src/grd-ctl.c 2022-08-06 23:18:12.000000000
+0200
@@ -117,9 +117,20 @@
static gboolean
grd_clear_rdp_credentials (GError **error)
{
- return secret_password_clear_sync (GRD_RDP_CREDENTIALS_SCHEMA,
- NULL, error,
- NULL);
+ g_autoptr (GError) local_error = NULL;
+
+ secret_password_clear_sync (GRD_RDP_CREDENTIALS_SCHEMA,
+ NULL, &local_error,
+ NULL);
+ if (local_error)
+ {
+ g_propagate_error (error, g_steal_pointer (&local_error));
+ return FALSE;
+ }
+ else
+ {
+ return TRUE;
+ }
}
static gboolean
@@ -305,9 +316,20 @@
char **argv,
GError **error)
{
- return secret_password_clear_sync (GRD_VNC_PASSWORD_SCHEMA,
- NULL, error,
- NULL);
+ g_autoptr (GError) local_error = NULL;
+
+ secret_password_clear_sync (GRD_VNC_PASSWORD_SCHEMA,
+ NULL, &local_error,
+ NULL);
+ if (local_error)
+ {
+ g_propagate_error (error, g_steal_pointer (&local_error));
+ return FALSE;
+ }
+ else
+ {
+ return TRUE;
+ }
}
static gboolean
@@ -482,7 +504,7 @@
NULL);
if (error)
{
- fprintf (stderr, "Failed to lookup RDP credentials: %s", error->message);
+ fprintf (stderr, "Failed to lookup RDP credentials: %s\n",
error->message);
return;
}
@@ -538,7 +560,7 @@
NULL);
if (error)
{
- fprintf (stderr, "Failed to lookup RDP credentials: %s", error->message);
+ fprintf (stderr, "Failed to lookup VNC credentials: %s\n",
error->message);
return;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-remote-desktop-42.3/src/grd-rdp-event-queue.c
new/gnome-remote-desktop-42.4/src/grd-rdp-event-queue.c
--- old/gnome-remote-desktop-42.3/src/grd-rdp-event-queue.c 2022-07-03
16:13:18.000000000 +0200
+++ new/gnome-remote-desktop-42.4/src/grd-rdp-event-queue.c 2022-08-06
23:18:12.000000000 +0200
@@ -101,6 +101,100 @@
G_DEFINE_TYPE (GrdRdpEventQueue, grd_rdp_event_queue, G_TYPE_OBJECT)
static void
+handle_synchronization_event (GrdRdpEventQueue *rdp_event_queue)
+{
+ GrdSession *session = GRD_SESSION (rdp_event_queue->session_rdp);
+ RdpSynchronizationEvent *rdp_sync_event;
+
+ rdp_sync_event = g_steal_pointer (&rdp_event_queue->rdp_sync_event);
+
+ if (rdp_sync_event->caps_lock_state != rdp_event_queue->caps_lock_state)
+ {
+ g_debug ("Synchronizing caps lock state to be %s",
+ rdp_sync_event->caps_lock_state ? "locked": "unlocked");
+
+ grd_session_notify_keyboard_keysym (session, XKB_KEY_Caps_Lock,
+ GRD_KEY_STATE_PRESSED);
+ grd_session_notify_keyboard_keysym (session, XKB_KEY_Caps_Lock,
+ GRD_KEY_STATE_RELEASED);
+
+ rdp_event_queue->pending_sync_caps_lock = TRUE;
+ }
+ if (rdp_sync_event->num_lock_state != rdp_event_queue->num_lock_state)
+ {
+ g_debug ("Synchronizing num lock state to be %s",
+ rdp_sync_event->num_lock_state ? "locked": "unlocked");
+
+ grd_session_notify_keyboard_keysym (session, XKB_KEY_Num_Lock,
+ GRD_KEY_STATE_PRESSED);
+ grd_session_notify_keyboard_keysym (session, XKB_KEY_Num_Lock,
+ GRD_KEY_STATE_RELEASED);
+
+ rdp_event_queue->pending_sync_num_lock = TRUE;
+ }
+
+ g_free (rdp_sync_event);
+}
+
+static void
+process_rdp_events (GrdRdpEventQueue *rdp_event_queue)
+{
+ GrdSession *session = GRD_SESSION (rdp_event_queue->session_rdp);
+ RdpEvent *rdp_event;
+
+ if (rdp_event_queue->rdp_sync_event &&
+ !rdp_event_queue->pending_sync_caps_lock &&
+ !rdp_event_queue->pending_sync_num_lock)
+ handle_synchronization_event (rdp_event_queue);
+
+ while ((rdp_event = g_queue_pop_head (rdp_event_queue->queue)))
+ {
+ switch (rdp_event->type)
+ {
+ case RDP_EVENT_TYPE_NONE:
+ break;
+ case RDP_EVENT_TYPE_INPUT_KBD_KEYCODE:
+ grd_session_notify_keyboard_keycode (
+ session, rdp_event->input_kbd_keycode.keycode,
+ rdp_event->input_kbd_keycode.state);
+ break;
+ case RDP_EVENT_TYPE_INPUT_KBD_KEYSYM:
+ grd_session_notify_keyboard_keysym (session,
+
rdp_event->input_kbd_keysym.keysym,
+
rdp_event->input_kbd_keysym.state);
+ break;
+ case RDP_EVENT_TYPE_INPUT_PTR_MOTION_ABS:
+ grd_session_notify_pointer_motion_absolute (
+ session, rdp_event->input_ptr_motion_abs.stream,
+ rdp_event->input_ptr_motion_abs.x,
+ rdp_event->input_ptr_motion_abs.y);
+ break;
+ case RDP_EVENT_TYPE_INPUT_PTR_BUTTON:
+ grd_session_notify_pointer_button (session,
+
rdp_event->input_ptr_button.button,
+
rdp_event->input_ptr_button.state);
+ break;
+ case RDP_EVENT_TYPE_INPUT_PTR_AXIS:
+ grd_session_notify_pointer_axis (session,
+ rdp_event->input_ptr_axis.dx,
+ rdp_event->input_ptr_axis.dy,
+ rdp_event->input_ptr_axis.flags);
+ break;
+ }
+
+ g_free (rdp_event);
+ }
+}
+
+void
+grd_rdp_event_queue_flush (GrdRdpEventQueue *rdp_event_queue)
+{
+ g_mutex_lock (&rdp_event_queue->event_mutex);
+ process_rdp_events (rdp_event_queue);
+ g_mutex_unlock (&rdp_event_queue->event_mutex);
+}
+
+static void
queue_rdp_event (GrdRdpEventQueue *rdp_event_queue,
RdpEvent *rdp_event)
{
@@ -235,92 +329,6 @@
g_source_set_ready_time (rdp_event_queue->flush_source, 0);
}
-static void
-handle_synchronization_event (GrdRdpEventQueue *rdp_event_queue)
-{
- GrdSession *session = GRD_SESSION (rdp_event_queue->session_rdp);
- RdpSynchronizationEvent *rdp_sync_event;
-
- rdp_sync_event = g_steal_pointer (&rdp_event_queue->rdp_sync_event);
-
- if (rdp_sync_event->caps_lock_state != rdp_event_queue->caps_lock_state)
- {
- g_debug ("Synchronizing caps lock state to be %s",
- rdp_sync_event->caps_lock_state ? "locked": "unlocked");
-
- grd_session_notify_keyboard_keysym (session, XKB_KEY_Caps_Lock,
- GRD_KEY_STATE_PRESSED);
- grd_session_notify_keyboard_keysym (session, XKB_KEY_Caps_Lock,
- GRD_KEY_STATE_RELEASED);
-
- rdp_event_queue->pending_sync_caps_lock = TRUE;
- }
- if (rdp_sync_event->num_lock_state != rdp_event_queue->num_lock_state)
- {
- g_debug ("Synchronizing num lock state to be %s",
- rdp_sync_event->num_lock_state ? "locked": "unlocked");
-
- grd_session_notify_keyboard_keysym (session, XKB_KEY_Num_Lock,
- GRD_KEY_STATE_PRESSED);
- grd_session_notify_keyboard_keysym (session, XKB_KEY_Num_Lock,
- GRD_KEY_STATE_RELEASED);
-
- rdp_event_queue->pending_sync_num_lock = TRUE;
- }
-
- g_free (rdp_sync_event);
-}
-
-static void
-process_rdp_events (GrdRdpEventQueue *rdp_event_queue)
-{
- GrdSession *session = GRD_SESSION (rdp_event_queue->session_rdp);
- RdpEvent *rdp_event;
-
- if (rdp_event_queue->rdp_sync_event &&
- !rdp_event_queue->pending_sync_caps_lock &&
- !rdp_event_queue->pending_sync_num_lock)
- handle_synchronization_event (rdp_event_queue);
-
- while ((rdp_event = g_queue_pop_head (rdp_event_queue->queue)))
- {
- switch (rdp_event->type)
- {
- case RDP_EVENT_TYPE_NONE:
- break;
- case RDP_EVENT_TYPE_INPUT_KBD_KEYCODE:
- grd_session_notify_keyboard_keycode (
- session, rdp_event->input_kbd_keycode.keycode,
- rdp_event->input_kbd_keycode.state);
- break;
- case RDP_EVENT_TYPE_INPUT_KBD_KEYSYM:
- grd_session_notify_keyboard_keysym (session,
-
rdp_event->input_kbd_keysym.keysym,
-
rdp_event->input_kbd_keysym.state);
- break;
- case RDP_EVENT_TYPE_INPUT_PTR_MOTION_ABS:
- grd_session_notify_pointer_motion_absolute (
- session, rdp_event->input_ptr_motion_abs.stream,
- rdp_event->input_ptr_motion_abs.x,
- rdp_event->input_ptr_motion_abs.y);
- break;
- case RDP_EVENT_TYPE_INPUT_PTR_BUTTON:
- grd_session_notify_pointer_button (session,
-
rdp_event->input_ptr_button.button,
-
rdp_event->input_ptr_button.state);
- break;
- case RDP_EVENT_TYPE_INPUT_PTR_AXIS:
- grd_session_notify_pointer_axis (session,
- rdp_event->input_ptr_axis.dx,
- rdp_event->input_ptr_axis.dy,
- rdp_event->input_ptr_axis.flags);
- break;
- }
-
- g_free (rdp_event);
- }
-}
-
static gboolean
flush_rdp_events (gpointer user_data)
{
@@ -379,11 +387,6 @@
{
GrdRdpEventQueue *rdp_event_queue = GRD_RDP_EVENT_QUEUE (object);
- /**
- * Process all events to ensure that remaining keysym-released events are
sent
- */
- process_rdp_events (rdp_event_queue);
-
g_clear_pointer (&rdp_event_queue->rdp_sync_event, g_free);
g_queue_free_full (rdp_event_queue->queue, free_rdp_event);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-remote-desktop-42.3/src/grd-rdp-event-queue.h
new/gnome-remote-desktop-42.4/src/grd-rdp-event-queue.h
--- old/gnome-remote-desktop-42.3/src/grd-rdp-event-queue.h 2022-07-03
16:13:18.000000000 +0200
+++ new/gnome-remote-desktop-42.4/src/grd-rdp-event-queue.h 2022-08-06
23:18:12.000000000 +0200
@@ -32,6 +32,8 @@
GrdRdpEventQueue *grd_rdp_event_queue_new (GrdSessionRdp *session_rdp);
+void grd_rdp_event_queue_flush (GrdRdpEventQueue *rdp_event_queue);
+
void grd_rdp_event_queue_add_input_event_keyboard_keycode (GrdRdpEventQueue
*rdp_event_queue,
uint32_t
keycode,
GrdKeyState
state);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gnome-remote-desktop-42.3/src/grd-rdp-fuse-clipboard.c
new/gnome-remote-desktop-42.4/src/grd-rdp-fuse-clipboard.c
--- old/gnome-remote-desktop-42.3/src/grd-rdp-fuse-clipboard.c 2022-07-03
16:13:18.000000000 +0200
+++ new/gnome-remote-desktop-42.4/src/grd-rdp-fuse-clipboard.c 2022-08-06
23:18:12.000000000 +0200
@@ -635,8 +635,7 @@
g_warning ("[RDP.CLIPRDR] Failed to convert filename. Aborting "
"SelectionTransfer");
clear_entry_selection (rdp_fuse_clipboard, entry);
-
- g_free (fuse_file);
+ fuse_file_free (fuse_file);
return FALSE;
}
@@ -653,6 +652,16 @@
parent = get_parent_directory (rdp_fuse_clipboard,
fuse_file->filename_with_root);
+ if (!parent)
+ {
+ g_warning ("[RDP.CLIPRDR] Failed to find parent directory. Aborting "
+ "SelectionTransfer");
+ clear_entry_selection (rdp_fuse_clipboard, entry);
+ fuse_file_free (fuse_file);
+
+ return FALSE;
+ }
+
parent->children = g_list_append (parent->children, fuse_file);
fuse_file->parent = parent;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-remote-desktop-42.3/src/grd-rdp-gfx-surface.c
new/gnome-remote-desktop-42.4/src/grd-rdp-gfx-surface.c
--- old/gnome-remote-desktop-42.3/src/grd-rdp-gfx-surface.c 2022-07-03
16:13:18.000000000 +0200
+++ new/gnome-remote-desktop-42.4/src/grd-rdp-gfx-surface.c 2022-08-06
23:18:12.000000000 +0200
@@ -162,9 +162,6 @@
{
GrdRdpGfxSurface *gfx_surface = GRD_RDP_GFX_SURFACE (object);
- g_clear_object (&gfx_surface->frame_controller);
- g_clear_object (&gfx_surface->render_surface);
-
if (gfx_surface->created)
{
grd_rdp_graphics_pipeline_delete_surface (gfx_surface->graphics_pipeline,
@@ -172,6 +169,9 @@
gfx_surface->created = FALSE;
}
+ g_clear_object (&gfx_surface->frame_controller);
+ g_clear_object (&gfx_surface->render_surface);
+
G_OBJECT_CLASS (grd_rdp_gfx_surface_parent_class)->dispose (object);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gnome-remote-desktop-42.3/src/grd-rdp-graphics-pipeline.c
new/gnome-remote-desktop-42.4/src/grd-rdp-graphics-pipeline.c
--- old/gnome-remote-desktop-42.3/src/grd-rdp-graphics-pipeline.c
2022-07-03 16:13:18.000000000 +0200
+++ new/gnome-remote-desktop-42.4/src/grd-rdp-graphics-pipeline.c
2022-08-06 23:18:12.000000000 +0200
@@ -90,7 +90,7 @@
GHashTable *surface_table;
GHashTable *codec_context_table;
- /* Unacknowledged Frames ADM element */
+ /* Unacknowledged Frames ADM element ([MS-RDPEGFX] 3.2.1.2) */
GHashTable *frame_serial_table;
GHashTable *serial_surface_table;
@@ -1292,6 +1292,9 @@
GrdRdpGfxFrameController *frame_controller =
grd_rdp_gfx_surface_get_frame_controller (gfx_surface);
+ if (!frame_controller)
+ return;
+
grd_rdp_gfx_frame_controller_clear_all_unacked_frames (frame_controller);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gnome-remote-desktop-42.3/src/grd-rdp-network-autodetection.c
new/gnome-remote-desktop-42.4/src/grd-rdp-network-autodetection.c
--- old/gnome-remote-desktop-42.3/src/grd-rdp-network-autodetection.c
2022-07-03 16:13:18.000000000 +0200
+++ new/gnome-remote-desktop-42.4/src/grd-rdp-network-autodetection.c
2022-08-06 23:18:12.000000000 +0200
@@ -308,8 +308,7 @@
locker = g_mutex_locker_new (&network_autodetection->bw_measure_mutex);
ResetEvent (network_autodetection->bw_measure_stop_event);
- if (network_autodetection->bw_measure_state != BW_MEASURE_STATE_PENDING_STOP
&&
- network_autodetection->bw_measure_state != BW_MEASURE_STATE_QUEUED_STOP)
+ if (network_autodetection->bw_measure_state != BW_MEASURE_STATE_QUEUED_STOP)
return;
network_autodetection->bw_measure_state = BW_MEASURE_STATE_PENDING_RESULTS;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-remote-desktop-42.3/src/grd-session-rdp.c
new/gnome-remote-desktop-42.4/src/grd-session-rdp.c
--- old/gnome-remote-desktop-42.3/src/grd-session-rdp.c 2022-07-03
16:13:18.000000000 +0200
+++ new/gnome-remote-desktop-42.4/src/grd-session-rdp.c 2022-08-06
23:18:12.000000000 +0200
@@ -2138,13 +2138,21 @@
username = grd_settings_get_rdp_username (settings, &error);
if (!username)
{
- g_warning ("Couldn't retrieve RDP username: %s", error->message);
+ if (error)
+ g_warning ("[RDP] Couldn't retrieve RDP username: %s", error->message);
+ else
+ g_message ("[RDP] Username is not set, denying client");
+
return NULL;
}
password = grd_settings_get_rdp_password (settings, &error);
if (!password)
{
- g_warning ("Couldn't retrieve RDP password: %s", error->message);
+ if (error)
+ g_warning ("[RDP] Couldn't retrieve RDP password: %s", error->message);
+ else
+ g_message ("[RDP] Password is not set, denying client");
+
g_free (username);
return NULL;
}
@@ -2180,6 +2188,21 @@
return g_steal_pointer (&session_rdp);
}
+static void
+clear_session_sources (GrdSessionRdp *session_rdp)
+{
+ if (session_rdp->update_monitor_layout_source)
+ {
+ g_source_destroy (session_rdp->update_monitor_layout_source);
+ g_clear_pointer (&session_rdp->update_monitor_layout_source,
g_source_unref);
+ }
+ if (session_rdp->pending_encode_source)
+ {
+ g_source_destroy (session_rdp->pending_encode_source);
+ g_clear_pointer (&session_rdp->pending_encode_source, g_source_unref);
+ }
+}
+
static gboolean
clear_pointer_bitmap (gpointer key,
gpointer value,
@@ -2239,12 +2262,7 @@
g_clear_object (&rdp_peer_context->graphics_pipeline);
g_clear_pointer (&session_rdp->socket_thread, g_thread_join);
-
- if (session_rdp->update_monitor_layout_source)
- {
- g_source_destroy (session_rdp->update_monitor_layout_source);
- g_clear_pointer (&session_rdp->update_monitor_layout_source,
g_source_unref);
- }
+ clear_session_sources (session_rdp);
peer->Close (peer);
g_clear_object (&session_rdp->connection);
@@ -2266,7 +2284,7 @@
g_hash_table_foreach_remove (session_rdp->pressed_unicode_keys,
notify_keysym_released,
session_rdp);
- g_clear_object (&session_rdp->rdp_event_queue);
+ grd_rdp_event_queue_flush (session_rdp->rdp_event_queue);
g_clear_pointer (&session_rdp->rdp_surface, grd_rdp_surface_free);
g_clear_pointer (&session_rdp->monitor_config, grd_rdp_monitor_config_free);
@@ -2417,15 +2435,13 @@
{
GrdSessionRdp *session_rdp = GRD_SESSION_RDP (object);
- if (session_rdp->pending_encode_source)
- {
- g_source_destroy (session_rdp->pending_encode_source);
- g_clear_pointer (&session_rdp->pending_encode_source, g_source_unref);
- }
+ clear_session_sources (session_rdp);
g_assert (!session_rdp->graphics_thread);
g_clear_pointer (&session_rdp->graphics_context, g_main_context_unref);
+ g_clear_object (&session_rdp->rdp_event_queue);
+
g_clear_pointer (&session_rdp->pressed_unicode_keys, g_hash_table_unref);
g_clear_pointer (&session_rdp->pressed_keys, g_hash_table_unref);
g_clear_pointer (&session_rdp->pointer_cache, g_hash_table_unref);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-remote-desktop-42.3/src/grd-session-vnc.c
new/gnome-remote-desktop-42.4/src/grd-session-vnc.c
--- old/gnome-remote-desktop-42.3/src/grd-session-vnc.c 2022-07-03
16:13:18.000000000 +0200
+++ new/gnome-remote-desktop-42.4/src/grd-session-vnc.c 2022-08-06
23:18:12.000000000 +0200
@@ -518,7 +518,11 @@
password = grd_settings_get_vnc_password (settings, &error);
if (!password)
{
- g_warning ("Couldn't retrieve VNC password: %s", error->message);
+ if (error)
+ g_warning ("[VNC] Couldn't retrieve VNC password: %s", error->message);
+ else
+ g_message ("[VNC] Password is not set, denying client");
+
return FALSE;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-remote-desktop-42.3/src/grd-settings.c
new/gnome-remote-desktop-42.4/src/grd-settings.c
--- old/gnome-remote-desktop-42.3/src/grd-settings.c 2022-07-03
16:13:18.000000000 +0200
+++ new/gnome-remote-desktop-42.4/src/grd-settings.c 2022-08-06
23:18:12.000000000 +0200
@@ -135,11 +135,7 @@
NULL, error,
NULL);
if (!credentials_string)
- {
- g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
- "Credentials not set");
- return NULL;
- }
+ return NULL;
credentials = g_variant_parse (NULL, credentials_string, NULL, NULL, NULL);
if (!credentials)
@@ -177,11 +173,7 @@
NULL, error,
NULL);
if (!credentials_string)
- {
- g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
- "Credentials not set");
- return NULL;
- }
+ return NULL;
credentials = g_variant_parse (NULL, credentials_string, NULL, NULL, NULL);
if (!credentials)
@@ -217,11 +209,7 @@
NULL, error,
NULL);
if (!password)
- {
- g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
- "Password not set");
- return NULL;
- }
+ return NULL;
return password;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-remote-desktop-42.3/tests/egl-thread-test.c
new/gnome-remote-desktop-42.4/tests/egl-thread-test.c
--- old/gnome-remote-desktop-42.3/tests/egl-thread-test.c 2022-07-03
16:13:18.000000000 +0200
+++ new/gnome-remote-desktop-42.4/tests/egl-thread-test.c 2022-08-06
23:18:12.000000000 +0200
@@ -21,6 +21,7 @@
#include "config.h"
+#include <drm_fourcc.h>
#include <epoxy/egl.h>
#include <epoxy/gl.h>
#include <fcntl.h>
@@ -95,7 +96,7 @@
attribs[atti++] = dma_buf->offsets[0];
attribs[atti++] = EGL_DMA_BUF_PLANE0_PITCH_EXT;
attribs[atti++] = dma_buf->strides[0];
- if (dma_buf->modifiers)
+ if (dma_buf->modifiers[0] != DRM_FORMAT_MOD_INVALID)
{
attribs[atti++] = EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT;
attribs[atti++] = dma_buf->modifiers[0] & 0xFFFFFFFF;
@@ -112,7 +113,7 @@
attribs[atti++] = dma_buf->offsets[1];
attribs[atti++] = EGL_DMA_BUF_PLANE1_PITCH_EXT;
attribs[atti++] = dma_buf->strides[1];
- if (dma_buf->modifiers)
+ if (dma_buf->modifiers[1] != DRM_FORMAT_MOD_INVALID)
{
attribs[atti++] = EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT;
attribs[atti++] = dma_buf->modifiers[1] & 0xFFFFFFFF;
@@ -129,7 +130,7 @@
attribs[atti++] = dma_buf->offsets[2];
attribs[atti++] = EGL_DMA_BUF_PLANE2_PITCH_EXT;
attribs[atti++] = dma_buf->strides[2];
- if (dma_buf->modifiers)
+ if (dma_buf->modifiers[2] != DRM_FORMAT_MOD_INVALID)
{
attribs[atti++] = EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT;
attribs[atti++] = dma_buf->modifiers[2] & 0xFFFFFFFF;
++++++ gnome-remote-desktop.obsinfo ++++++
--- /var/tmp/diff_new_pack.aqUkcd/_old 2022-08-09 15:28:41.505683369 +0200
+++ /var/tmp/diff_new_pack.aqUkcd/_new 2022-08-09 15:28:41.509683380 +0200
@@ -1,5 +1,5 @@
name: gnome-remote-desktop
-version: 42.3
-mtime: 1656857598
-commit: 73b9f00b31bc462de42e94054121052a106df521
+version: 42.4
+mtime: 1659820692
+commit: ee8f1591e72cfb9ca9c243d6e1f16008f3c08fa0