Package: vino / 3.22.0-5

Metadata

Package Version Patches format
vino 3.22.0-5 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
02_server_sm disable.patch | (download)

server/vino-server.desktop.in.in | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
11_hurd_maxhostnamelen.patch | (download)

server/miniupnp/miniupnpc.c | 8 5 + 3 - 0 !
server/miniupnp/miniwget.c | 32 20 + 12 - 0 !
server/miniupnp/miniwget.h | 2 1 + 1 - 0 !
3 files changed, 26 insertions(+), 16 deletions(-)

---
0003 Return error if X11 is not detected.patch | (download)

server/vino-main.c | 7 7 + 0 - 0 !
1 file changed, 7 insertions(+)

 return error if x11 is not detected

Vino-server crashes on Wayland in XQueryExtension. Since vino-server is
not expected to work on displays other than X11, let's exit immediately
if GDK_IS_X11_DISPLAY fail.

https://bugzilla.gnome.org/show_bug.cgi?id=761120

0004 Don t install the D Bus service file when Telepathy .patch | (download)

Makefile.am | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 don't install the d-bus service file when telepathy is disabled

The org.freedesktop.Telepathy.Client.Vino service is necessary for Vino
to act as a Telepathy client, and is not useful without Telepathy.

https://gitlab.gnome.org/GNOME/vino/merge_requests/3

0005 Do not restart service after unclean exit code.patch | (download)

server/vino-server.service.in | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 do not restart service after unclean exit code

Currently, the vino-server.service has Restart=on-failure, which means
that it is restarted in abnormal cases, but also in case of non-zero
exit code. It is restarted 5 times e.g. in case when X11 is not detected,
which doesn't make sense. Non-zero exit code is used only for states
which won't change with restart (invalid commandline, wayland and some
sanity checks). Change the value to Restart=on-abnormal in order to
prevent the useless restarts and to not spam journal.

https://bugzilla.gnome.org/show_bug.cgi?id=761120

0006 Do not listen all if invalid interface is provided.patch | (download)

server/libvncserver/sockets.c | 18 12 + 6 - 0 !
server/vino-server.c | 3 3 + 0 - 0 !
2 files changed, 15 insertions(+), 6 deletions(-)

 do not listen all if invalid interface is provided

It is not a good idea from security point of view to listen all interfaces
in case of invalid interface is provided. We should rather listen to nothing
and print error in journal.

https://bugzilla.gnome.org/show_bug.cgi?id=796349

0007 Prevent monitoring all interfaces after change of ot.patch | (download)

server/libvncserver/sockets.c | 9 3 + 6 - 0 !
1 file changed, 3 insertions(+), 6 deletions(-)

 prevent monitoring all interfaces after change of other props

Commit bfa1432 prevents monitoring all interfaces if invalid interface
is provided, but it works only in some cases, because the invalid
interface is not remembered and for example consequent change of port
will cause that all interfaces are monitored again. Remember the invalid
interface to prevent monitoring all interfaces even after change of
other properties...

https://bugzilla.gnome.org/show_bug.cgi?id=796349

0008 Properly remove watches when changing server props.patch | (download)

server/vino-server.c | 13 10 + 3 - 0 !
1 file changed, 10 insertions(+), 3 deletions(-)

 properly remove watches when changing server props

vino_server_init_io_channels calls vino_server_deinit_io_channels
at the beginning, however the watches and channels don't have to be
removed respective closed, because it relies on rfbListenSock array,
which can be already modified as a consequence of changing server
properties. Let's call vino_server_deinit_io_channels before changing
server properties in order to prevent the following errors:

rfbCheckFds: accept: Invalid argument

https://bugzilla.gnome.org/show_bug.cgi?id=796349

0009 Return empty string instead of NULL to prevent criti.patch | (download)

server/vino-mdns.c | 7 6 + 1 - 0 !
1 file changed, 6 insertions(+), 1 deletion(-)

 return empty string instead of null to prevent criticals

The code expects that avahi_client_get_host_name_fqdn never return NULL,
but it can happen in some cases. Return empty string instead of NULL to
prevent the following criticals:

GLib-CRITICAL **: 14:29:52.305: g_variant_new_string: assertion 'string != NULL' failed

https://bugzilla.gnome.org/show_bug.cgi?id=796349

0010 Fix various defects reported by covscan.patch | (download)

server/libvncserver/main.c | 2 2 + 0 - 0 !
server/libvncserver/rfbserver.c | 7 7 + 0 - 0 !
server/libvncserver/sockets.c | 6 3 + 3 - 0 !
server/libvncserver/tableinit24.c | 8 4 + 4 - 0 !
server/miniupnp/minissdpc.c | 2 1 + 1 - 0 !
server/miniupnp/miniupnpc.c | 1 1 + 0 - 0 !
server/smclient/eggsmclient-xsmp.c | 1 1 + 0 - 0 !
7 files changed, 19 insertions(+), 8 deletions(-)

 fix various defects reported by covscan

This patch fixes the following important defects reported by covscan:
server/libvncserver/main.c:178: leaked_storage: Variable "i" going out of scope leaks the storage it points to.
server/libvncserver/rfbserver.c:195: leaked_storage: Variable "cl" going out of scope leaks the storage it points to.
server/libvncserver/rfbserver.c:1161: overwrite_var: Overwriting "i" in "i = sraRgnGetIterator(updateRegion)" leaks the storage that "i"
server/libvncserver/rfbserver.c:1232: deref_arg: Calling "sraRgnReleaseIterator" dereferences freed pointer "i".
server/libvncserver/rfbserver.c:1291: leaked_storage: Variable "i" going out of scope leaks the storage it points to.
server/libvncserver/sockets.c:635: leaked_handle: Handle variable "sock" going out of scope leaks the handle.
server/libvncserver/sockets.c:635: leaked_handle: Handle variable "sock6" going out of scope leaks the handle.
server/libvncserver/sockets.c:639: leaked_handle: Handle variable "sock" going out of scope leaks the handle.
server/libvncserver/sockets.c:639: leaked_handle: Handle variable "sock6" going out of scope leaks the handle.
server/libvncserver/sockets.c:663: overwrite_var: Overwriting handle "sock" in "sock = NewSocketListenTCP((struct sockaddr *)s4, 16U)" leaks the handle.
server/libvncserver/sockets.c:677: overwrite_var: Overwriting handle "sock" in "sock = NewSocketListenTCP((struct sockaddr *)s6, 46U)" leaks the handle.
server/libvncserver/sockets.c:691: leaked_handle: Handle variable "sock" going out of scope leaks the handle.
server/libvncserver/tableinit24.c:150:7: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
server/miniupnp/minissdpc.c:43: buffer_size_warning: Calling strncpy with a maximum size argument of 108 bytes on destination array "addr.sun_path" of size 108 bytes might leave the destination string unterminated.
server/miniupnp/miniupnpc.c:405: leaked_handle: Handle variable "sudp" going out of scope leaks the handle.
server/smclient/eggsmclient-xsmp.c:1171: missing_va_end: va_end was not called for "ap".