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 - bjorn....@gmail.com + +- 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