diff --git a/.gitignore b/.gitignore index 513879e..b7940b3 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,5 @@ tigervnc-1.0.90-20100721svn4113.tar.bz2 /tigervnc-1.5.0.tar.gz /tigervnc-1.5.90.tar.gz /tigervnc-1.6.0.tar.gz +/sources +/tigervnc-1.6.90.tar.gz diff --git a/sources b/sources index ec41f45..83ebaa9 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -78b736445781d86c48e942465a391ccc tigervnc-1.6.0.tar.gz +1abcba521de0c2f35f8d5bbcd18e8dcb sources +1d653f1a3cdfc2887b7cf38a8b65c89a tigervnc-1.6.90.tar.gz diff --git a/tigervnc-cookie.patch b/tigervnc-cookie.patch deleted file mode 100644 index c066a5f..0000000 --- a/tigervnc-cookie.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff -up tigervnc-1.0.90-20091221svn3929/unix/vncserver.cookie tigervnc-1.0.90-20091221svn3929/unix/vncserver ---- tigervnc-1.0.90-20091221svn3929/unix/vncserver.cookie 2009-11-12 11:39:54.000000000 +0100 -+++ tigervnc-1.0.90-20091221svn3929/unix/vncserver 2009-12-21 16:15:01.907799091 +0100 -@@ -189,27 +189,12 @@ $vncPort = 5900 + $displayNumber; - $desktopLog = "$vncUserDir/$host:$displayNumber.log"; - unlink($desktopLog); - --# Make an X server cookie - use /dev/urandom on systems that have it, --# otherwise use perl's random number generator, seeded with the sum --# of the current time, our PID and part of the encrypted form of the password. -- --my $cookie = ""; --if (open(URANDOM, '<', '/dev/urandom')) { -- my $randata; -- if (sysread(URANDOM, $randata, 16) == 16) { -- $cookie = unpack 'h*', $randata; -- } -- close(URANDOM); --} --if ($cookie eq "") { -- srand(time+$$+unpack("L",`cat $vncUserDir/passwd`)); -- for (1..16) { -- $cookie .= sprintf("%02x", int(rand(256)) % 256); -- } --} -- --system("xauth -f $xauthorityFile add $host:$displayNumber . $cookie"); --system("xauth -f $xauthorityFile add $host/unix:$displayNumber . $cookie"); -+# Make an X server cookie - use mcookie -+$cookie = `/usr/bin/mcookie`; -+open (XAUTH, "|xauth -f $xauthorityFile source -"); -+print XAUTH "add $host:$displayNumber . $cookie\n"; -+print XAUTH "add $host/unix:$displayNumber . $cookie\n"; -+close XAUTH; - - if ($opt{'-name'}) { - $desktopName = $opt{'-name'}; diff --git a/tigervnc-inetd-nowait.patch b/tigervnc-inetd-nowait.patch deleted file mode 100644 index b158e19..0000000 --- a/tigervnc-inetd-nowait.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff --git a/common/network/TcpSocket.cxx b/common/network/TcpSocket.cxx -index 5a8f75d..6ef8f2e 100644 ---- a/common/network/TcpSocket.cxx -+++ b/common/network/TcpSocket.cxx -@@ -360,18 +360,12 @@ bool TcpSocket::cork(int sock, bool enable) { - #endif - } - --bool TcpSocket::isSocket(int sock) -+bool TcpSocket::isListening(int sock) - { -- vnc_sockaddr_t sa; -- socklen_t sa_size = sizeof(sa); -- return getsockname(sock, &sa.u.sa, &sa_size) >= 0; --} -- --bool TcpSocket::isConnected(int sock) --{ -- vnc_sockaddr_t sa; -- socklen_t sa_size = sizeof(sa); -- return getpeername(sock, &sa.u.sa, &sa_size) >= 0; -+ int listening = 0; -+ socklen_t listening_size = sizeof(listening); -+ return getsockopt(sock, SOL_SOCKET, SO_ACCEPTCONN, &listening, -+ &listening_size) >= 0 && listening; - } - - int TcpSocket::getSockPort(int sock) -diff --git a/common/network/TcpSocket.h b/common/network/TcpSocket.h -index 02f04c9..a97e683 100644 ---- a/common/network/TcpSocket.h -+++ b/common/network/TcpSocket.h -@@ -65,8 +65,7 @@ namespace network { - - static bool enableNagles(int sock, bool enable); - static bool cork(int sock, bool enable); -- static bool isSocket(int sock); -- static bool isConnected(int sock); -+ static bool isListening(int sock); - static int getSockPort(int sock); - private: - bool closeFd; -diff --git a/unix/xserver/hw/vnc/vncExtInit.cc b/unix/xserver/hw/vnc/vncExtInit.cc -index 2d918b0..863cd36 100644 ---- a/unix/xserver/hw/vnc/vncExtInit.cc -+++ b/unix/xserver/hw/vnc/vncExtInit.cc -@@ -137,8 +137,7 @@ void vncExtensionInit(void) - std::list listeners; - std::list httpListeners; - if (scr == 0 && vncInetdSock != -1) { -- if (network::TcpSocket::isSocket(vncInetdSock) && -- !network::TcpSocket::isConnected(vncInetdSock)) -+ if (network::TcpSocket::isListening(vncInetdSock)) - { - listeners.push_back(new network::TcpListener(vncInetdSock)); - vlog.info("inetd wait"); diff --git a/tigervnc-xorg118-QueueKeyboardEvents.patch b/tigervnc-xorg118-QueueKeyboardEvents.patch deleted file mode 100644 index 4eb738b..0000000 --- a/tigervnc-xorg118-QueueKeyboardEvents.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/unix/xserver/hw/vnc/Input.c b/unix/xserver/hw/vnc/Input.c ---- a/unix/xserver/hw/vnc/Input.c -+++ b/unix/xserver/hw/vnc/Input.c -@@ -301,7 +301,7 @@ static inline void pressKey(DeviceIntPtr dev, int kc, Bool down, const char *msg - n = GetKeyboardEvents(eventq, dev, action, kc); - enqueueEvents(dev, n); - #else -- QueueKeyboardEvents(dev, action, kc, NULL); -+ QueueKeyboardEvents(dev, action, kc); - #endif - } - diff --git a/tigervnc-xserver118.patch b/tigervnc-xserver118.patch deleted file mode 100644 index b751067..0000000 --- a/tigervnc-xserver118.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -Nur tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e.orig/unix/xserver/hw/vnc/xorg-version.h tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e/unix/xserver/hw/vnc/xorg-version.h ---- tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e.orig/unix/xserver/hw/vnc/xorg-version.h 2015-03-01 12:58:35.000000000 -0700 -+++ tigervnc-49d0629dd87c0eb695d72dec7481e9169f55ae9e/unix/xserver/hw/vnc/xorg-version.h 2015-08-04 09:46:14.796336147 -0600 -@@ -48,8 +48,10 @@ - #define XORG 116 - #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (17 * 100000) + (99 * 1000)) - #define XORG 117 -+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (18 * 100000) + (99 * 1000)) -+#define XORG 118 - #else --#error "X.Org newer than 1.17 is not supported" -+#error "X.Org newer than 1.18 is not supported" - #endif - - #endif - diff --git a/tigervnc.spec b/tigervnc.spec index d7a12f7..49bfaf4 100644 --- a/tigervnc.spec +++ b/tigervnc.spec @@ -1,6 +1,6 @@ Name: tigervnc -Version: 1.6.0 -Release: 6%{?dist} +Version: 1.6.90 +Release: 1%{?dist} Summary: A TigerVNC remote display system %global _hardened_build 1 @@ -45,16 +45,11 @@ Obsoletes: vnc < 4.1.3-2, vnc-libs < 4.1.3-2 Provides: tightvnc = 1.5.0-0.15.20090204svn3586 Obsoletes: tightvnc < 1.5.0-0.15.20090204svn3586 -Patch1: tigervnc-cookie.patch Patch3: tigervnc-libvnc-os.patch -Patch4: tigervnc11-rh692048.patch -Patch5: tigervnc-inetd-nowait.patch Patch7: tigervnc-manpages.patch Patch8: tigervnc-getmaster.patch Patch9: tigervnc-shebang.patch Patch14: tigervnc-xstartup.patch -Patch15: tigervnc-xserver118.patch -Patch17: tigervnc-xorg118-QueueKeyboardEvents.patch Patch18: tigervnc-utilize-system-crypto-policies.patch # This is tigervnc-%%{version}/unix/xserver116.patch rebased on the latest xorg @@ -153,9 +148,7 @@ This package contains icons for TigerVNC viewer %prep %setup -q -%patch1 -p1 -b .cookie %patch3 -p1 -b .libvnc-os -%patch4 -p1 -b .rh692048 cp -r /usr/share/xorg-x11-server-source/* unix/xserver pushd unix/xserver @@ -165,10 +158,6 @@ done %patch100 -p1 -b .xserver116-rebased popd -# Applied Debian patch to fix busy loop when run from inetd in nowait -# mode (bug #920373). -%patch5 -p1 -b .inetd-nowait - # Synchronise manpages and --help output (bug #980870). %patch7 -p1 -b .manpages @@ -181,13 +170,6 @@ popd # Clearer xstartup file (bug #923655). %patch14 -p1 -b .xstartup -# Allow build against xorg-x11-server-1.18. -%patch15 -p1 -b .xserver118 - -%if 0%{?fedora} >= 23 -%patch17 -p1 -b .xorg118-QueueKeyboardEvents -%endif - # Utilize system-wide crypto policies %patch18 -p1 -b .utilize-system-crypto-policies.patch @@ -359,6 +341,9 @@ fi %{_datadir}/icons/hicolor/*/apps/* %changelog +* Mon Jul 18 2016 Jan Grulich - 1.6.90-1 +- Update to 1.6.90 (1.7.0 beta) + * Wed Jun 01 2016 Jan Grulich - 1.6.0-6 - Try to pickup upstream fix for compatibility with gtk vnc clients diff --git a/tigervnc11-rh692048.patch b/tigervnc11-rh692048.patch deleted file mode 100644 index 7d0d487..0000000 --- a/tigervnc11-rh692048.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 1f8aba3147ec13aaa70a44372775b72bb4e59941 Mon Sep 17 00:00:00 2001 -From: Pierre Ossman -Date: Tue, 29 Dec 2015 15:02:11 +0100 -Subject: Add workaround for Vino's VeNCrypt implementation - - -diff --git a/common/rfb/Security.cxx b/common/rfb/Security.cxx -index e623ab5..0666041 100644 ---- a/common/rfb/Security.cxx -+++ b/common/rfb/Security.cxx -@@ -74,7 +74,18 @@ const std::list Security::GetEnabledSecTypes(void) - list result; - list::iterator i; - -- result.push_back(secTypeVeNCrypt); -+ /* Partial workaround for Vino's stupid behaviour. It doesn't allow -+ * the basic authentication types as part of the VeNCrypt handshake, -+ * making it impossible for a client to do opportunistic encryption. -+ * At least make it possible to connect when encryption is explicitly -+ * disabled. */ -+ for (i = enabledSecTypes.begin(); i != enabledSecTypes.end(); i++) { -+ if (*i >= 0x100) { -+ result.push_back(secTypeVeNCrypt); -+ break; -+ } -+ } -+ - for (i = enabledSecTypes.begin(); i != enabledSecTypes.end(); i++) - if (*i < 0x100) - result.push_back(*i); diff --git a/vncviewer.desktop b/vncviewer.desktop deleted file mode 100644 index fab46f0..0000000 --- a/vncviewer.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Name=TigerVNC Viewer -Name[fr]=Visionneur TigerVNC -Comment=Connect to VNC server and display remote desktop -Comment[fr]=Se connecter à un serveur VNC et afficher le bureau distant -Exec=/usr/bin/vncviewer -Icon=tigervnc -Terminal=false -Type=Application -StartupWMClass=TigerVNC Viewer: Connection Details -Categories=Network;RemoteAccess;