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)

Reply via email to