Update to 1.6.90 (1.7.0 beta)
This commit is contained in:
parent
9f4ad561e6
commit
f3e66b1c19
2
.gitignore
vendored
2
.gitignore
vendored
@ -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
|
||||
|
3
sources
3
sources
@ -1 +1,2 @@
|
||||
78b736445781d86c48e942465a391ccc tigervnc-1.6.0.tar.gz
|
||||
1abcba521de0c2f35f8d5bbcd18e8dcb sources
|
||||
1d653f1a3cdfc2887b7cf38a8b65c89a tigervnc-1.6.90.tar.gz
|
||||
|
@ -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'};
|
@ -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<network::TcpListener*> listeners;
|
||||
std::list<network::TcpListener*> 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");
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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 <jgrulich@redhat.com> - 1.6.90-1
|
||||
- Update to 1.6.90 (1.7.0 beta)
|
||||
|
||||
* Wed Jun 01 2016 Jan Grulich <jgrulich@redhat.com> - 1.6.0-6
|
||||
- Try to pickup upstream fix for compatibility with gtk vnc clients
|
||||
|
||||
|
@ -1,30 +0,0 @@
|
||||
From 1f8aba3147ec13aaa70a44372775b72bb4e59941 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre Ossman <ossman@cendio.se>
|
||||
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<rdr::U8> Security::GetEnabledSecTypes(void)
|
||||
list<rdr::U8> result;
|
||||
list<U32>::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);
|
@ -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;
|
Loading…
Reference in New Issue
Block a user