Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package LibVNCServer for openSUSE:Factory checked in at 2023-06-24 20:13:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/LibVNCServer (Old) and /work/SRC/openSUSE:Factory/.LibVNCServer.new.15902 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "LibVNCServer" Sat Jun 24 20:13:28 2023 rev:47 rq:1094908 version:0.9.14 Changes: -------- --- /work/SRC/openSUSE:Factory/LibVNCServer/LibVNCServer.changes 2022-09-09 18:22:23.700076282 +0200 +++ /work/SRC/openSUSE:Factory/.LibVNCServer.new.15902/LibVNCServer.changes 2023-06-24 20:13:36.372024843 +0200 @@ -1,0 +2,39 @@ +Fri Jun 23 14:44:58 UTC 2023 - pgaj...@suse.com + +- version update to 0.9.14 + ## Overall changes: + * Added more documentation (build system integration, repeater setup) and a legal FAQ. + * Added [contribution guidelines](CONTRIBUTING.md). + * Ported the TravisCI continous integration machinery to GitHub workflows. + ## LibVNCServer/LibVNCClient: + * Added [qemu extended key event]. + * Fixed several potential multiplication overflows. + ## LibVNCClient: + * Fixes of several memory leaks and buffer overflows. + * Added UltraVNC's MSLogonII authentication scheme. + * Fixed TLS interoperability with GnuTLS servers. + * Fixed detection of newer UltraVNC and TightVNC servers. + * Added support for [SetDesktopSize]. + * Added SSH tunneling example using libssh2. + * Added some extensions to VeNCrypt in order to be compatible with a wider range of servers. + ## LibVNCServer: + * Fixes to the multi-threaded server implementation which should be a lot more sound now. + * Fixed TightVNC-filetransfer file upload for 64-bit systems. + * Fixes of crashes in the zlib compression. + * Added support for [UTF8 clipboard data]. + * Fixed visual artifacts in framebuffer on ARM platforms. + * Fixed several WebSockets bugs. + * Fixed the UltraVNC-style repeater example. + * Added support for larger framebuffers (two 4k screens possible now). + * Added support for timeouts for outbound connections (to repeaters for instance). + * Fixed out-of-bounds memory access in Tight encoding. +- modified patches + % 0001-libvncserver-Add-API-to-add-custom-I-O-entry-points.patch (refreshed) + % 0002-libvncserver-Add-channel-security-handlers.patch (refreshed) +- deleted patches + - 0001-libvncserver-don-t-NULL-out-internal-of-the-default-.patch (upstreamed) + - 0003-libvncserver-auth-don-t-keep-security-handlers-from-.patch (upstreamed) + - 0004-zlib-Clear-buffer-pointers-on-cleanup-444.patch (upstreamed) + - LibVNCServer-CVE-2020-29260.patch (upstreamed) + +------------------------------------------------------------------- Old: ---- 0001-libvncserver-don-t-NULL-out-internal-of-the-default-.patch 0003-libvncserver-auth-don-t-keep-security-handlers-from-.patch 0004-zlib-Clear-buffer-pointers-on-cleanup-444.patch LibVNCServer-0.9.13.tar.gz LibVNCServer-CVE-2020-29260.patch New: ---- LibVNCServer-0.9.14.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ LibVNCServer.spec ++++++ --- /var/tmp/diff_new_pack.XAj3VR/_old 2023-06-24 20:13:37.420031031 +0200 +++ /var/tmp/diff_new_pack.XAj3VR/_new 2023-06-24 20:13:37.420031031 +0200 @@ -1,7 +1,7 @@ # # spec file for package LibVNCServer # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %define libnum 1 Name: LibVNCServer -Version: 0.9.13 +Version: 0.9.14 Release: 0 Summary: VNC Development Library License: GPL-2.0-or-later @@ -32,14 +32,6 @@ #PATCH-FEATURE-UPSTREAM TLS security type enablement patches gh#LibVNC/libvncserver!234 Patch10: 0001-libvncserver-Add-API-to-add-custom-I-O-entry-points.patch Patch11: 0002-libvncserver-Add-channel-security-handlers.patch -# https://github.com/LibVNC/libvncserver/commit/87c52ee0551b7c4e76855d270d475b9e3039fe08 -Patch12: 0003-libvncserver-auth-don-t-keep-security-handlers-from-.patch -# PATCH-FIX-UPSTREAM Fix crash on all runs after the first gh#LibVNC/libvncserver!444 rh#1882718 -Patch13: 0004-zlib-Clear-buffer-pointers-on-cleanup-444.patch -# PATCH-FIX-UPSTREAM Fix another crasher glgo#GNOME/gnome-remote-desktop#45 rh#1882718 -Patch14: 0001-libvncserver-don-t-NULL-out-internal-of-the-default-.patch -# CVE-2020-29260 [bsc#1203106], memory leakage via rfbClientCleanup() -Patch15: LibVNCServer-CVE-2020-29260.patch BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: libavahi-devel @@ -146,11 +138,12 @@ %files devel %defattr(-,root,root) -%doc AUTHORS COPYING ChangeLog NEWS.md README.md TODO.md +%doc AUTHORS COPYING ChangeLog NEWS.md README.md %{_includedir}/rfb/* %dir /usr/include/rfb %{_libdir}/libvncclient.so %{_libdir}/libvncserver.so %{_libdir}/pkgconfig/*.pc +%{_libdir}/cmake/LibVNCServer %changelog ++++++ 0001-libvncserver-Add-API-to-add-custom-I-O-entry-points.patch ++++++ --- /var/tmp/diff_new_pack.XAj3VR/_old 2023-06-24 20:13:37.448031197 +0200 +++ /var/tmp/diff_new_pack.XAj3VR/_new 2023-06-24 20:13:37.456031244 +0200 @@ -12,11 +12,11 @@ rfb/rfb.h | 17 +++++++++ 3 files changed, 93 insertions(+), 7 deletions(-) -diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c -index e9eaa5fc..72e9ba79 100644 ---- a/libvncserver/rfbserver.c -+++ b/libvncserver/rfbserver.c -@@ -319,6 +319,10 @@ rfbNewTCPOrUDPClient(rfbScreenInfoPtr rfbScreen, +Index: libvncserver-LibVNCServer-0.9.14/libvncserver/rfbserver.c +=================================================================== +--- libvncserver-LibVNCServer-0.9.14.orig/libvncserver/rfbserver.c ++++ libvncserver-LibVNCServer-0.9.14/libvncserver/rfbserver.c +@@ -321,6 +321,10 @@ rfbNewTCPOrUDPClient(rfbScreenInfoPtr rf cl->screen = rfbScreen; cl->sock = sock; @@ -27,21 +27,21 @@ cl->viewOnly = FALSE; /* setup pseudo scaling */ cl->scaledScreen = rfbScreen; -diff --git a/libvncserver/sockets.c b/libvncserver/sockets.c -index 2c87376b..4bb881ec 100644 ---- a/libvncserver/sockets.c -+++ b/libvncserver/sockets.c -@@ -101,6 +101,9 @@ int deny_severity=LOG_WARNING; - int rfbMaxClientWait = 20000; /* time (ms) after which we decide client has +Index: libvncserver-LibVNCServer-0.9.14/libvncserver/sockets.c +=================================================================== +--- libvncserver-LibVNCServer-0.9.14.orig/libvncserver/sockets.c ++++ libvncserver-LibVNCServer-0.9.14/libvncserver/sockets.c +@@ -102,6 +102,9 @@ int rfbMaxClientWait = 20000; /* time gone away - needed to stop us hanging */ -+static rfbBool + static rfbBool +rfbHasPendingOnSocket(rfbClientPtr cl); + - static rfbBool ++static rfbBool rfbNewConnectionFromSock(rfbScreenInfoPtr rfbScreen, rfbSocket sock) { -@@ -364,16 +367,20 @@ rfbCheckFds(rfbScreenInfoPtr rfbScreen,long usec) + const int one = 1; +@@ -364,16 +367,20 @@ rfbCheckFds(rfbScreenInfoPtr rfbScreen,l tv.tv_usec = usec; nfds = select(rfbScreen->maxFd + 1, &fds, NULL, NULL /* &fds */, &tv); if (nfds == 0) { @@ -63,7 +63,7 @@ } if (nfds < 0) { -@@ -449,9 +456,11 @@ rfbCheckFds(rfbScreenInfoPtr rfbScreen,long usec) +@@ -449,9 +456,11 @@ rfbCheckFds(rfbScreenInfoPtr rfbScreen,l if (cl->onHold) continue; @@ -77,7 +77,7 @@ { #ifdef LIBVNCSERVER_WITH_WEBSOCKETS do { -@@ -614,6 +623,30 @@ rfbConnect(rfbScreenInfoPtr rfbScreen, +@@ -638,6 +647,30 @@ rfbConnect(rfbScreenInfoPtr rfbScreen, return sock; } @@ -108,7 +108,7 @@ /* * ReadExact reads an exact number of bytes from a client. Returns 1 if * those bytes have been read, 0 if the other end has closed, or -1 if an error -@@ -635,10 +668,10 @@ rfbReadExactTimeout(rfbClientPtr cl, char* buf, int len, int timeout) +@@ -659,10 +692,10 @@ rfbReadExactTimeout(rfbClientPtr cl, cha } else if (cl->sslctx) { n = rfbssl_read(cl, buf, len); } else { @@ -121,7 +121,7 @@ #endif if (n > 0) { -@@ -670,6 +703,10 @@ rfbReadExactTimeout(rfbClientPtr cl, char* buf, int len, int timeout) +@@ -694,6 +727,10 @@ rfbReadExactTimeout(rfbClientPtr cl, cha continue; } #endif @@ -132,7 +132,7 @@ FD_ZERO(&fds); FD_SET(sock, &fds); tv.tv_sec = timeout / 1000; -@@ -706,6 +743,18 @@ int rfbReadExact(rfbClientPtr cl,char* buf,int len) +@@ -730,6 +767,18 @@ int rfbReadExact(rfbClientPtr cl,char* b return(rfbReadExactTimeout(cl,buf,len,rfbMaxClientWait)); } @@ -151,7 +151,7 @@ /* * PeekExact peeks at an exact number of bytes from a client. Returns 1 if * those bytes have been read, 0 if the other end has closed, or -1 if an -@@ -726,7 +775,7 @@ rfbPeekExactTimeout(rfbClientPtr cl, char* buf, int len, int timeout) +@@ -750,7 +799,7 @@ rfbPeekExactTimeout(rfbClientPtr cl, cha n = rfbssl_peek(cl, buf, len); else #endif @@ -160,7 +160,7 @@ if (n == len) { -@@ -782,6 +831,22 @@ rfbPeekExactTimeout(rfbClientPtr cl, char* buf, int len, int timeout) +@@ -806,6 +855,22 @@ rfbPeekExactTimeout(rfbClientPtr cl, cha return 1; } @@ -183,7 +183,7 @@ /* * WriteExact writes an exact number of bytes to a client. Returns 1 if * those bytes have been written, or -1 if an error occurred (errno is set to -@@ -826,7 +891,7 @@ rfbWriteExact(rfbClientPtr cl, +@@ -863,7 +928,7 @@ rfbWriteExact(rfbClientPtr cl, n = rfbssl_write(cl, buf, len); else #endif @@ -192,11 +192,11 @@ if (n > 0) { -diff --git a/rfb/rfb.h b/rfb/rfb.h -index 5e9ba86f..3c0b25a3 100644 ---- a/rfb/rfb.h -+++ b/rfb/rfb.h -@@ -387,6 +387,14 @@ typedef struct sraRegion* sraRegionPtr; +Index: libvncserver-LibVNCServer-0.9.14/rfb/rfb.h +=================================================================== +--- libvncserver-LibVNCServer-0.9.14.orig/rfb/rfb.h ++++ libvncserver-LibVNCServer-0.9.14/rfb/rfb.h +@@ -398,6 +398,14 @@ typedef struct sraRegion* sraRegionPtr; typedef void (*ClientGoneHookPtr)(struct _rfbClientRec* cl); typedef void (*ClientFramebufferUpdateRequestHookPtr)(struct _rfbClientRec* cl, rfbFramebufferUpdateRequestMsg* furMsg); @@ -211,10 +211,10 @@ typedef struct _rfbFileTransferData { int fd; int compressionEnabled; -@@ -680,6 +688,11 @@ typedef struct _rfbClientRec { - rfbBool useExtDesktopSize; - int requestedDesktopSizeChange; - int lastDesktopSizeChangeError; +@@ -707,6 +715,11 @@ typedef struct _rfbClientRec { + int tightPngDstDataLen; + #endif + #endif + + ClientReadFromSocket readFromSocket; /* Read data from socket */ + ClientPeekAtSocket peekAtSocket; /* Peek at data from socket */ @@ -223,7 +223,7 @@ } rfbClientRec, *rfbClientPtr; /** -@@ -732,8 +745,12 @@ extern void rfbDisconnectUDPSock(rfbScreenInfoPtr rfbScreen); +@@ -759,8 +772,12 @@ extern void rfbDisconnectUDPSock(rfbScre extern void rfbCloseClient(rfbClientPtr cl); extern int rfbReadExact(rfbClientPtr cl, char *buf, int len); extern int rfbReadExactTimeout(rfbClientPtr cl, char *buf, int len,int timeout); @@ -236,7 +236,4 @@ extern int rfbCheckFds(rfbScreenInfoPtr rfbScreen,long usec); extern rfbSocket rfbConnect(rfbScreenInfoPtr rfbScreen, char* host, int port); extern rfbSocket rfbConnectToTcpAddr(char* host, int port); --- -2.28.0 - ++++++ 0002-libvncserver-Add-channel-security-handlers.patch ++++++ --- /var/tmp/diff_new_pack.XAj3VR/_old 2023-06-24 20:13:37.468031314 +0200 +++ /var/tmp/diff_new_pack.XAj3VR/_new 2023-06-24 20:13:37.472031338 +0200 @@ -18,11 +18,11 @@ rfb/rfb.h | 15 +++- 3 files changed, 142 insertions(+), 38 deletions(-) -diff --git a/libvncserver/auth.c b/libvncserver/auth.c -index 814a8142..55e0b3c9 100644 ---- a/libvncserver/auth.c -+++ b/libvncserver/auth.c -@@ -37,18 +37,17 @@ void rfbClientSendString(rfbClientPtr cl, const char *reason); +Index: libvncserver-LibVNCServer-0.9.14/libvncserver/auth.c +=================================================================== +--- libvncserver-LibVNCServer-0.9.14.orig/libvncserver/auth.c ++++ libvncserver-LibVNCServer-0.9.14/libvncserver/auth.c +@@ -37,18 +37,17 @@ void rfbClientSendString(rfbClientPtr cl * Handle security types */ @@ -48,7 +48,7 @@ if(handler == NULL) return; -@@ -57,39 +56,35 @@ rfbRegisterSecurityHandler(rfbSecurityHandler* handler) +@@ -57,39 +56,35 @@ rfbRegisterSecurityHandler(rfbSecurityHa while(head != NULL) { if(head == handler) { @@ -99,7 +99,7 @@ while(cur) { if(cur == handler) { -@@ -99,7 +94,50 @@ rfbUnregisterSecurityHandler(rfbSecurityHandler* handler) +@@ -99,7 +94,50 @@ rfbUnregisterSecurityHandler(rfbSecurity pre = cur; cur = cur->next; } @@ -151,7 +151,7 @@ } /* -@@ -197,9 +235,22 @@ static rfbSecurityHandler VncSecurityHandlerNone = { +@@ -197,9 +235,22 @@ static rfbSecurityHandler VncSecurityHan NULL }; @@ -176,7 +176,7 @@ { /* The size of the message is the count of security types +1, * since the first byte is the number of types. */ -@@ -207,9 +258,10 @@ rfbSendSecurityTypeList(rfbClientPtr cl, int primaryType) +@@ -207,9 +258,10 @@ rfbSendSecurityTypeList(rfbClientPtr cl, rfbSecurityHandler* handler; #define MAX_SECURITY_TYPES 255 uint8_t buffer[MAX_SECURITY_TYPES+1]; @@ -187,8 +187,8 @@ + primaryType = determinePrimarySecurityType(cl); switch (primaryType) { case rfbSecTypeNone: - rfbRegisterSecurityHandler(&VncSecurityHandlerNone); -@@ -221,6 +273,9 @@ rfbSendSecurityTypeList(rfbClientPtr cl, int primaryType) + rfbUnregisterSecurityHandler(&VncSecurityHandlerVncAuth); +@@ -223,6 +275,9 @@ rfbSendSecurityTypeList(rfbClientPtr cl, for (handler = securityHandlers; handler && size<MAX_SECURITY_TYPES; handler = handler->next) { @@ -198,7 +198,7 @@ buffer[size] = handler->type; size++; } -@@ -249,7 +304,29 @@ rfbSendSecurityTypeList(rfbClientPtr cl, int primaryType) +@@ -251,7 +306,29 @@ rfbSendSecurityTypeList(rfbClientPtr cl, cl->state = RFB_SECURITY_TYPE; } @@ -228,7 +228,7 @@ /* -@@ -297,18 +374,19 @@ rfbSendSecurityType(rfbClientPtr cl, int32_t securityType) +@@ -299,18 +376,19 @@ rfbSendSecurityType(rfbClientPtr cl, int void rfbAuthNewClient(rfbClientPtr cl) { @@ -255,7 +255,7 @@ if (securityType == rfbSecTypeInvalid) { rfbLog("VNC authentication disabled - RFB 3.3 client rejected\n"); rfbClientConnFailed(cl, "Your viewer cannot handle required " -@@ -316,9 +394,13 @@ rfbAuthNewClient(rfbClientPtr cl) +@@ -318,9 +396,13 @@ rfbAuthNewClient(rfbClientPtr cl) return; } rfbSendSecurityType(cl, securityType); @@ -270,7 +270,7 @@ } } -@@ -332,6 +414,7 @@ rfbProcessClientSecurityType(rfbClientPtr cl) +@@ -334,6 +416,7 @@ rfbProcessClientSecurityType(rfbClientPt int n; uint8_t chosenType; rfbSecurityHandler* handler; @@ -278,7 +278,7 @@ /* Read the security type. */ n = rfbReadExact(cl, (char *)&chosenType, 1); -@@ -344,8 +427,17 @@ rfbProcessClientSecurityType(rfbClientPtr cl) +@@ -346,8 +429,17 @@ rfbProcessClientSecurityType(rfbClientPt return; } @@ -297,11 +297,11 @@ if (chosenType == handler->type) { rfbLog("rfbProcessClientSecurityType: executing handler for type %d\n", chosenType); handler->handler(cl); -diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c -index 72e9ba79..48eada64 100644 ---- a/libvncserver/rfbserver.c -+++ b/libvncserver/rfbserver.c -@@ -652,6 +652,7 @@ rfbProcessClientMessage(rfbClientPtr cl) +Index: libvncserver-LibVNCServer-0.9.14/libvncserver/rfbserver.c +=================================================================== +--- libvncserver-LibVNCServer-0.9.14.orig/libvncserver/rfbserver.c ++++ libvncserver-LibVNCServer-0.9.14/libvncserver/rfbserver.c +@@ -670,6 +670,7 @@ rfbProcessClientMessage(rfbClientPtr cl) case RFB_PROTOCOL_VERSION: rfbProcessClientProtocolVersion(cl); return; @@ -309,11 +309,11 @@ case RFB_SECURITY_TYPE: rfbProcessClientSecurityType(cl); return; -diff --git a/rfb/rfb.h b/rfb/rfb.h -index 3c0b25a3..d136f884 100644 ---- a/rfb/rfb.h -+++ b/rfb/rfb.h -@@ -144,6 +144,11 @@ typedef struct { +Index: libvncserver-LibVNCServer-0.9.14/rfb/rfb.h +=================================================================== +--- libvncserver-LibVNCServer-0.9.14.orig/rfb/rfb.h ++++ libvncserver-LibVNCServer-0.9.14/rfb/rfb.h +@@ -147,6 +147,11 @@ typedef struct { } data; /**< there have to be count*3 entries */ } rfbColourMap; @@ -325,7 +325,7 @@ /** * Security handling (RFB protocol version 3.7) */ -@@ -152,6 +157,7 @@ typedef struct _rfbSecurity { +@@ -155,6 +160,7 @@ typedef struct _rfbSecurity { uint8_t type; void (*handler)(struct _rfbClientRec* cl); struct _rfbSecurity* next; @@ -333,7 +333,7 @@ } rfbSecurityHandler; /** -@@ -480,7 +486,7 @@ typedef struct _rfbClientRec { +@@ -491,7 +497,7 @@ typedef struct _rfbClientRec { /** Possible client states: */ enum { RFB_PROTOCOL_VERSION, /**< establishing protocol version */ @@ -342,18 +342,15 @@ RFB_AUTHENTICATION, /**< authenticating */ RFB_INITIALISATION, /**< sending initialisation messages */ RFB_NORMAL, /**< normal protocol messages */ -@@ -488,7 +494,9 @@ typedef struct _rfbClientRec { - /* Ephemeral internal-use states that will never be seen by software +@@ -500,6 +506,7 @@ typedef struct _rfbClientRec { * using LibVNCServer to provide services: */ -- RFB_INITIALISATION_SHARED /**< sending initialisation messages with implicit shared-flag already true */ -+ RFB_INITIALISATION_SHARED, /**< sending initialisation messages with implicit shared-flag already true */ -+ -+ RFB_CHANNEL_SECURITY_TYPE, /**< negotiating security (RFB v.3.7) */ + RFB_INITIALISATION_SHARED, /**< sending initialisation messages with implicit shared-flag already true */ ++ RFB_CHANNEL_SECURITY_TYPE, /**< negotiating security (RFB v.3.7) */ + RFB_SHUTDOWN /**< Client is shutting down */ } state; - rfbBool reverseConnection; -@@ -840,6 +848,9 @@ extern void rfbProcessClientSecurityType(rfbClientPtr cl); +@@ -870,6 +877,9 @@ extern void rfbProcessClientSecurityType extern void rfbAuthProcessClientMessage(rfbClientPtr cl); extern void rfbRegisterSecurityHandler(rfbSecurityHandler* handler); extern void rfbUnregisterSecurityHandler(rfbSecurityHandler* handler); @@ -363,7 +360,4 @@ /* rre.c */ --- -2.28.0 - ++++++ LibVNCServer-0.9.13.tar.gz -> LibVNCServer-0.9.14.tar.gz ++++++ ++++ 6444 lines of diff (skipped)