Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package wayvnc for openSUSE:Factory checked in at 2023-11-06 21:14:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/wayvnc (Old) and /work/SRC/openSUSE:Factory/.wayvnc.new.17445 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wayvnc" Mon Nov 6 21:14:11 2023 rev:9 rq:1123504 version:0.7.2 Changes: -------- --- /work/SRC/openSUSE:Factory/wayvnc/wayvnc.changes 2023-10-05 20:05:53.220639019 +0200 +++ /work/SRC/openSUSE:Factory/.wayvnc.new.17445/wayvnc.changes 2023-11-06 21:14:21.595444851 +0100 @@ -1,0 +2,9 @@ +Mon Nov 6 08:01:17 UTC 2023 - Michael Vetter <mvet...@suse.com> + +- Update to 0.7.2: + * Missing documentation for the websocket flag + * Null-dereferencing when input is disabled + * Out-of-bounds memory access when compositors submit out-of-bounds damage + * Too strict authentication related config parameter sanitation + +------------------------------------------------------------------- Old: ---- v0.7.1.tar.gz New: ---- v0.7.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ wayvnc.spec ++++++ --- /var/tmp/diff_new_pack.eTCPoc/_old 2023-11-06 21:14:22.571480779 +0100 +++ /var/tmp/diff_new_pack.eTCPoc/_new 2023-11-06 21:14:22.571480779 +0100 @@ -17,7 +17,7 @@ Name: wayvnc -Version: 0.7.1 +Version: 0.7.2 Release: 0 Summary: A VNC server for wlroots based Wayland compositors License: ISC @@ -25,7 +25,7 @@ URL: https://github.com/any1/wayvnc Source0: https://github.com/any1/wayvnc/archive/v%{version}.tar.gz BuildRequires: meson -BuildRequires: neatvnc-devel >= 0.7.0 +BuildRequires: neatvnc-devel >= 0.7.1 BuildRequires: pam-devel BuildRequires: pkgconfig BuildRequires: scdoc ++++++ v0.7.1.tar.gz -> v0.7.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wayvnc-0.7.1/meson.build new/wayvnc-0.7.2/meson.build --- old/wayvnc-0.7.1/meson.build 2023-10-05 00:52:31.000000000 +0200 +++ new/wayvnc-0.7.2/meson.build 2023-11-05 22:18:13.000000000 +0100 @@ -1,7 +1,7 @@ project( 'wayvnc', 'c', - version: '0.7.1', + version: '0.7.2', license: 'ISC', default_options: [ 'c_std=gnu11', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wayvnc-0.7.1/src/ctl-server.c new/wayvnc-0.7.2/src/ctl-server.c --- old/wayvnc-0.7.1/src/ctl-server.c 2023-10-05 00:52:31.000000000 +0200 +++ new/wayvnc-0.7.2/src/ctl-server.c 2023-11-05 22:18:13.000000000 +0100 @@ -369,7 +369,10 @@ json_object_set_new(packed, "username", json_string(info.username)); - json_object_set_new(packed, "seat", json_string(info.seat)); + if (info.seat) + json_object_set_new(packed, "seat", + json_string(info.seat)); + json_array_append_new(response->data, packed); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wayvnc-0.7.1/src/main.c new/wayvnc-0.7.2/src/main.c --- old/wayvnc-0.7.1/src/main.c 2023-10-05 00:52:31.000000000 +0200 +++ new/wayvnc-0.7.2/src/main.c 2023-11-05 22:18:13.000000000 +0100 @@ -527,7 +527,7 @@ info->id = client->id; info->hostname = nvnc_client_get_hostname(vnc_client); info->username = nvnc_client_get_auth_username(vnc_client); - info->seat = client->seat->name; + info->seat = client->seat ? client->seat->name : NULL; } static int get_output_list(struct ctl* ctl, @@ -948,6 +948,9 @@ nvnc_fb_set_transform(buffer->nvnc_fb, (enum nvnc_transform)buffer_transform); + pixman_region_intersect_rect(&damage, &damage, 0, 0, buffer->width, + buffer->height); + nvnc_display_feed_buffer(self->nvnc_display, buffer->nvnc_fb, &damage); @@ -999,18 +1002,14 @@ if (!nvnc_has_auth()) { nvnc_log(NVNC_LOG_ERROR, "Authentication can't be enabled because it was not selected during build"); - return -1; - } - - if (!cfg->certificate_file && !cfg->rsa_private_key_file) { - nvnc_log(NVNC_LOG_ERROR, "Authentication enabled, but missing certificate_file"); rc = -1; } - if (!cfg->private_key_file && !cfg->rsa_private_key_file) { - nvnc_log(NVNC_LOG_ERROR, "Authentication enabled, but missing private_key_file"); + if (!!cfg->certificate_file != !!cfg->private_key_file) { + nvnc_log(NVNC_LOG_ERROR, "Need both certificate_file and private_key_file for TLS"); rc = -1; } + if (!cfg->username && !cfg->enable_pam) { nvnc_log(NVNC_LOG_ERROR, "Authentication enabled, but missing username"); rc = -1; @@ -1020,6 +1019,11 @@ nvnc_log(NVNC_LOG_ERROR, "Authentication enabled, but missing password"); rc = -1; } + + if (cfg->relax_encryption) { + nvnc_log(NVNC_LOG_WARNING, "Authentication enabled with relaxed encryption; not all sessions are guaranteed to be encrypted"); + } + return rc; } @@ -1095,7 +1099,7 @@ .id = self->id, .hostname = nvnc_client_get_hostname(self->nvnc_client), .username = nvnc_client_get_auth_username(self->nvnc_client), - .seat = self->seat->name, + .seat = self->seat ? self->seat->name : NULL, }; ctl_server_event_disconnected(wayvnc->ctl, &info, wayvnc->nr_clients); @@ -1143,7 +1147,7 @@ .id = wayvnc_client->id, .hostname = nvnc_client_get_hostname(client), .username = nvnc_client_get_auth_username(client), - .seat = wayvnc_client->seat->name, + .seat = wayvnc_client->seat ? wayvnc_client->seat->name : NULL, }; ctl_server_event_connected(self->ctl, &info, self->nr_clients); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wayvnc-0.7.1/wayvnc.scd new/wayvnc-0.7.2/wayvnc.scd --- old/wayvnc-0.7.1/wayvnc.scd 2023-10-05 00:52:31.000000000 +0200 +++ new/wayvnc-0.7.2/wayvnc.scd 2023-11-05 22:18:13.000000000 +0100 @@ -52,6 +52,9 @@ *-v,--verbose* Be more verbose. Same as setting `--log-level=info`. +*-w,--websocket* + Create a websocket. + *-L,--log-level* Set log level. The levels are: error, warning, info, debug, trace and quiet.