forked from pool/tigervnc
Accepting request 280582 from home:michalsrb:branches:X11:XOrg
- Update to tigervnc 1.4.1 on xorg-server 1.16.1. OBS-URL: https://build.opensuse.org/request/show/280582 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/tigervnc?expand=0&rev=46
This commit is contained in:
parent
4aa15ef254
commit
b854932e02
@ -1,40 +1,54 @@
|
|||||||
--- tigervnc-1.3.1.orig/unix/xserver/hw/vnc/buildtime.c
|
Index: tigervnc-1.4.1/unix/xserver/hw/vnc/buildtime.c
|
||||||
+++ tigervnc-1.3.1/unix/xserver/hw/vnc/buildtime.c
|
===================================================================
|
||||||
|
--- tigervnc-1.4.1.orig/unix/xserver/hw/vnc/buildtime.c
|
||||||
|
+++ tigervnc-1.4.1/unix/xserver/hw/vnc/buildtime.c
|
||||||
@@ -15,4 +15,4 @@
|
@@ -15,4 +15,4 @@
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||||
* USA.
|
* USA.
|
||||||
*/
|
*/
|
||||||
-char buildtime[] = __DATE__ " " __TIME__;
|
-char buildtime[] = __DATE__ " " __TIME__;
|
||||||
+char buildtime[] = "??? ?? ???? ??:??:??";
|
+char buildtime[] = "??? ?? ???? ??:??:??";
|
||||||
--- tigervnc-1.3.1.orig/unix/vncconfig/buildtime.c
|
Index: tigervnc-1.4.1/unix/vncconfig/buildtime.c
|
||||||
+++ tigervnc-1.3.1/unix/vncconfig/buildtime.c
|
===================================================================
|
||||||
|
--- tigervnc-1.4.1.orig/unix/vncconfig/buildtime.c
|
||||||
|
+++ tigervnc-1.4.1/unix/vncconfig/buildtime.c
|
||||||
@@ -15,4 +15,4 @@
|
@@ -15,4 +15,4 @@
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||||
* USA.
|
* USA.
|
||||||
*/
|
*/
|
||||||
-char buildtime[] = __DATE__ " " __TIME__;
|
-char buildtime[] = __DATE__ " " __TIME__;
|
||||||
+char buildtime[] = "??? ?? ???? ??:??:??";
|
+char buildtime[] = "??? ?? ???? ??:??:??";
|
||||||
--- tigervnc-1.3.1.orig/unix/x0vncserver/buildtime.c
|
Index: tigervnc-1.4.1/unix/x0vncserver/buildtime.c
|
||||||
+++ tigervnc-1.3.1/unix/x0vncserver/buildtime.c
|
===================================================================
|
||||||
|
--- tigervnc-1.4.1.orig/unix/x0vncserver/buildtime.c
|
||||||
|
+++ tigervnc-1.4.1/unix/x0vncserver/buildtime.c
|
||||||
@@ -15,4 +15,4 @@
|
@@ -15,4 +15,4 @@
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||||
* USA.
|
* USA.
|
||||||
*/
|
*/
|
||||||
-char buildtime[] = __DATE__ " " __TIME__;
|
-char buildtime[] = __DATE__ " " __TIME__;
|
||||||
+char buildtime[] = "??? ?? ???? ??:??:??";
|
+char buildtime[] = "??? ?? ???? ??:??:??";
|
||||||
--- tigervnc-1.3.1.orig/vncviewer/buildTime.cxx
|
Index: tigervnc-1.4.1/win/winvnc/buildTime.cxx
|
||||||
+++ tigervnc-1.3.1/vncviewer/buildTime.cxx
|
===================================================================
|
||||||
@@ -15,4 +15,4 @@
|
--- tigervnc-1.4.1.orig/win/winvnc/buildTime.cxx
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
+++ tigervnc-1.4.1/win/winvnc/buildTime.cxx
|
||||||
* USA.
|
|
||||||
*/
|
|
||||||
-const char* buildTime = "Built on " __DATE__ " at " __TIME__;
|
|
||||||
+const char* buildTime = "Built on ??? ?? ???? at ??:??:??";
|
|
||||||
--- tigervnc-1.3.1.orig/win/winvnc/buildTime.cxx
|
|
||||||
+++ tigervnc-1.3.1/win/winvnc/buildTime.cxx
|
|
||||||
@@ -15,4 +15,4 @@
|
@@ -15,4 +15,4 @@
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||||
* USA.
|
* USA.
|
||||||
*/
|
*/
|
||||||
-const char* buildTime = "Built on " __DATE__ " at " __TIME__;
|
-const char* buildTime = "Built on " __DATE__ " at " __TIME__;
|
||||||
+const char* buildTime = "Built on ??? ?? ???? at ??:??:??";
|
+const char* buildTime = "Built on ??? ?? ???? at ??:??:??";
|
||||||
|
Index: tigervnc-1.4.1/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- tigervnc-1.4.1.orig/CMakeLists.txt
|
||||||
|
+++ tigervnc-1.4.1/CMakeLists.txt
|
||||||
|
@@ -39,8 +39,7 @@ if(MSVC)
|
||||||
|
message(FATAL_ERROR "TigerVNC cannot be built with Visual Studio. Please use MinGW")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
-set(BUILD_TIMESTAMP "")
|
||||||
|
-execute_process(COMMAND "date" "+%Y-%m-%d %H:%M" OUTPUT_VARIABLE BUILD_TIMESTAMP)
|
||||||
|
+set(BUILD_TIMESTAMP "??-??-?? ??:??")
|
||||||
|
|
||||||
|
if(NOT BUILD_TIMESTAMP)
|
||||||
|
set(BUILD_TIMESTAMP "")
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
Index: unix/xserver/hw/vnc/vncExtInit.cc
|
|
||||||
===================================================================
|
|
||||||
--- xserver/hw/vnc/vncExtInit.cc (revision 5122)
|
|
||||||
+++ xserver/hw/vnc/vncExtInit.cc (working copy)
|
|
||||||
@@ -1068,7 +1068,7 @@
|
|
||||||
{
|
|
||||||
REQUEST(xVncExtApproveConnectReq);
|
|
||||||
REQUEST_SIZE_MATCH(xVncExtApproveConnectReq);
|
|
||||||
- if (queryConnectId == (void*)stuff->opaqueId) {
|
|
||||||
+ if ((CARD32)(long)queryConnectId == stuff->opaqueId) {
|
|
||||||
for (int scr = 0; scr < screenInfo.numScreens; scr++) {
|
|
||||||
if (desktop[scr]) {
|
|
||||||
desktop[scr]->approveConnection(queryConnectId, stuff->approve,
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:a5fca05898394847f2d2876d471622443acb7c648a896978d195e41f010ded51
|
|
||||||
size 1077474
|
|
3
tigervnc-1.4.1.tar.gz
Normal file
3
tigervnc-1.4.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:5cffd87707fff8e89b9236bc18925729485dd607872833f3a433fea744809ddd
|
||||||
|
size 1369531
|
@ -1,8 +1,8 @@
|
|||||||
diff --git a/vncviewer/DesktopWindow.cxx b/vncviewer/DesktopWindow.cxx
|
Index: tigervnc-1.4.1/vncviewer/DesktopWindow.cxx
|
||||||
index 40d08ae..7a571ec 100644
|
===================================================================
|
||||||
--- a/vncviewer/DesktopWindow.cxx
|
--- tigervnc-1.4.1.orig/vncviewer/DesktopWindow.cxx
|
||||||
+++ b/vncviewer/DesktopWindow.cxx
|
+++ tigervnc-1.4.1/vncviewer/DesktopWindow.cxx
|
||||||
@@ -186,6 +186,8 @@ DesktopWindow::~DesktopWindow()
|
@@ -188,6 +188,8 @@ DesktopWindow::~DesktopWindow()
|
||||||
|
|
||||||
OptionsDialog::removeCallback(handleOptions);
|
OptionsDialog::removeCallback(handleOptions);
|
||||||
|
|
||||||
@ -11,11 +11,11 @@ index 40d08ae..7a571ec 100644
|
|||||||
// FLTK automatically deletes all child widgets, so we shouldn't touch
|
// FLTK automatically deletes all child widgets, so we shouldn't touch
|
||||||
// them ourselves here
|
// them ourselves here
|
||||||
}
|
}
|
||||||
diff --git a/vncviewer/Viewport.cxx b/vncviewer/Viewport.cxx
|
Index: tigervnc-1.4.1/vncviewer/Viewport.cxx
|
||||||
index e308a63..41733f9 100644
|
===================================================================
|
||||||
--- a/vncviewer/Viewport.cxx
|
--- tigervnc-1.4.1.orig/vncviewer/Viewport.cxx
|
||||||
+++ b/vncviewer/Viewport.cxx
|
+++ tigervnc-1.4.1/vncviewer/Viewport.cxx
|
||||||
@@ -112,6 +112,11 @@ Viewport::Viewport(int w, int h, const rfb::PixelFormat& serverPF, CConn* cc_)
|
@@ -144,6 +144,11 @@ Viewport::Viewport(int w, int h, const r
|
||||||
|
|
||||||
Viewport::~Viewport()
|
Viewport::~Viewport()
|
||||||
{
|
{
|
||||||
@ -26,12 +26,12 @@ index e308a63..41733f9 100644
|
|||||||
+
|
+
|
||||||
// Unregister all timeouts in case they get a change tro trigger
|
// Unregister all timeouts in case they get a change tro trigger
|
||||||
// again later when this object is already gone.
|
// again later when this object is already gone.
|
||||||
Fl::remove_timeout(handleUpdateTimeout, this);
|
Fl::remove_timeout(handlePointerTimeout, this);
|
||||||
diff --git a/vncviewer/vncviewer.cxx b/vncviewer/vncviewer.cxx
|
Index: tigervnc-1.4.1/vncviewer/vncviewer.cxx
|
||||||
index 37d63a6..5bb811d 100644
|
===================================================================
|
||||||
--- a/vncviewer/vncviewer.cxx
|
--- tigervnc-1.4.1.orig/vncviewer/vncviewer.cxx
|
||||||
+++ b/vncviewer/vncviewer.cxx
|
+++ tigervnc-1.4.1/vncviewer/vncviewer.cxx
|
||||||
@@ -83,6 +83,8 @@ char vncServerName[VNCSERVERNAMELEN] = { '\0' };
|
@@ -88,6 +88,8 @@ char vncServerName[VNCSERVERNAMELEN] = {
|
||||||
static bool exitMainloop = false;
|
static bool exitMainloop = false;
|
||||||
static const char *exitError = NULL;
|
static const char *exitError = NULL;
|
||||||
|
|
||||||
@ -40,10 +40,10 @@ index 37d63a6..5bb811d 100644
|
|||||||
void exit_vncviewer(const char *error)
|
void exit_vncviewer(const char *error)
|
||||||
{
|
{
|
||||||
// Prioritise the first error we get as that is probably the most
|
// Prioritise the first error we get as that is probably the most
|
||||||
@@ -110,6 +112,16 @@ static void CleanupSignalHandler(int sig)
|
@@ -114,6 +116,16 @@ static void CleanupSignalHandler(int sig
|
||||||
// CleanupSignalHandler allows C++ object cleanup to happen because it calls
|
// CleanupSignalHandler allows C++ object cleanup to happen because it calls
|
||||||
// exit() rather than the default which is to abort.
|
// exit() rather than the default which is to abort.
|
||||||
vlog.info("CleanupSignalHandler called");
|
vlog.info(_("CleanupSignalHandler called"));
|
||||||
+ delete cc;
|
+ delete cc;
|
||||||
+ exit(1);
|
+ exit(1);
|
||||||
+}
|
+}
|
||||||
@ -57,10 +57,19 @@ index 37d63a6..5bb811d 100644
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -384,6 +396,10 @@ int main(int argc, char** argv)
|
@@ -392,11 +404,19 @@ int main(int argc, char** argv)
|
||||||
|
|
||||||
init_fltk();
|
init_fltk();
|
||||||
|
|
||||||
|
+ fl_open_display();
|
||||||
|
+
|
||||||
|
+ XSetIOErrorHandler(CleanupXIOErrorHandler);
|
||||||
|
+
|
||||||
|
#if !defined(WIN32) && !defined(__APPLE__)
|
||||||
|
fl_open_display();
|
||||||
|
XkbSetDetectableAutoRepeat(fl_display, True, NULL);
|
||||||
|
#endif
|
||||||
|
|
||||||
+ fl_open_display();
|
+ fl_open_display();
|
||||||
+
|
+
|
||||||
+ XSetIOErrorHandler(CleanupXIOErrorHandler);
|
+ XSetIOErrorHandler(CleanupXIOErrorHandler);
|
||||||
@ -68,7 +77,7 @@ index 37d63a6..5bb811d 100644
|
|||||||
Configuration::enableViewerParams();
|
Configuration::enableViewerParams();
|
||||||
|
|
||||||
/* Load the default parameter settings */
|
/* Load the default parameter settings */
|
||||||
@@ -484,7 +500,7 @@ int main(int argc, char** argv)
|
@@ -497,7 +517,7 @@ int main(int argc, char** argv)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
diff -up a/vncviewer/CConn.cxx.newfbsize b/vncviewer/CConn.cxx
|
Index: tigervnc-1.4.1/vncviewer/CConn.cxx
|
||||||
--- a/vncviewer/CConn.cxx.newfbsize 2008-10-23 13:00:59.000000000 +0200
|
===================================================================
|
||||||
+++ b/vncviewer/CConn.cxx 2008-10-23 13:01:11.000000000 +0200
|
--- tigervnc-1.4.1.orig/vncviewer/CConn.cxx
|
||||||
@@ -327,6 +327,8 @@ void CConn::beginRect(const Rect& r, uns
|
+++ tigervnc-1.4.1/vncviewer/CConn.cxx
|
||||||
if (encoding != encodingCopyRect) {
|
@@ -424,6 +424,8 @@ void CConn::dataRect(const Rect& r, int
|
||||||
|
|
||||||
|
if (encoding != encodingCopyRect)
|
||||||
lastServerEncoding = encoding;
|
lastServerEncoding = encoding;
|
||||||
}
|
|
||||||
+ if (encoding == pseudoEncodingDesktopSize)
|
+ if (encoding == pseudoEncodingDesktopSize)
|
||||||
+ setDesktopSize( r.width(), r.height() );
|
+ setDesktopSize( r.width(), r.height() );
|
||||||
}
|
|
||||||
|
|
||||||
void CConn::endRect(const Rect& r, int encoding)
|
if (!Decoder::supported(encoding)) {
|
||||||
|
vlog.error(_("Unknown rect encoding %d"), encoding);
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
diff -aur o/doc/rfbtight.tex n/doc/rfbtight.tex
|
|
||||||
--- o/doc/rfbtight.tex 2011-08-09 23:16:48.000000000 +0200
|
|
||||||
+++ n/doc/rfbtight.tex 2012-02-23 19:45:07.473906253 +0100
|
|
||||||
@@ -4,8 +4,9 @@
|
|
||||||
\setlength{\parindent}{0pt}
|
|
||||||
\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
|
|
||||||
|
|
||||||
-\newcommand{\typestr}[1]{\textit{#1}}
|
|
||||||
-\newcommand{\literal}[1]{\textit{\textbf{#1}}}
|
|
||||||
+\newcommand\standout{\hspace{0pt plus4em}}
|
|
||||||
+\newcommand{\typestr}[1]{\standout\hspace*{0pt}\textbf{#1}\standout}
|
|
||||||
+\newcommand{\literal}[1]{\standout\hspace*{0pt}\textit{\textbf{#1}}\standout}
|
|
||||||
|
|
||||||
\begin{document}
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jan 9 12:50:45 UTC 2015 - msrb@suse.com
|
||||||
|
|
||||||
|
- Update to tigervnc 1.4.1 on xorg-server 1.16.1.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sun Nov 16 09:33:04 UTC 2014 - oscar@naiandei.net
|
Sun Nov 16 09:33:04 UTC 2014 - oscar@naiandei.net
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package tigervnc
|
# spec file for package tigervnc
|
||||||
#
|
#
|
||||||
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: tigervnc
|
Name: tigervnc
|
||||||
Version: 1.3.1
|
Version: 1.4.1
|
||||||
Release: 0
|
Release: 0
|
||||||
Provides: tightvnc = 1.3.9
|
Provides: tightvnc = 1.3.9
|
||||||
Obsoletes: tightvnc < 1.3.9
|
Obsoletes: tightvnc < 1.3.9
|
||||||
@ -90,8 +90,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|||||||
Summary: A high-performance, platform-neutral implementation of VNC
|
Summary: A high-performance, platform-neutral implementation of VNC
|
||||||
License: GPL-2.0 and MIT
|
License: GPL-2.0 and MIT
|
||||||
Group: System/X11/Servers/XF86_4
|
Group: System/X11/Servers/XF86_4
|
||||||
Source1: tigervnc-1.3.1.tar.bz2
|
Source1: tigervnc-1.4.1.tar.gz
|
||||||
Source2: xorg-server-1.14.0.tar.bz2
|
Source2: xorg-server-1.16.1.tar.bz2
|
||||||
Source3: vnc.xinetd
|
Source3: vnc.xinetd
|
||||||
Source4: 10-libvnc.conf
|
Source4: 10-libvnc.conf
|
||||||
Source5: vnc-server.firewall
|
Source5: vnc-server.firewall
|
||||||
@ -102,25 +102,19 @@ Source9: vncpasswd.arg
|
|||||||
Source10: index.vnc
|
Source10: index.vnc
|
||||||
|
|
||||||
# Tiger vnc patches
|
# Tiger vnc patches
|
||||||
Patch1: u_tigervnc-1.3.0-fix-use-after-free.patch
|
Patch1: tigervnc-newfbsize.patch
|
||||||
Patch2: tigervnc-newfbsize.patch
|
Patch2: tigervnc-clean-pressed-key-on-exit.patch
|
||||||
Patch3: tigervnc-clean-pressed-key-on-exit.patch
|
Patch3: tigervnc-sf3495623.patch
|
||||||
Patch4: tigervnc-sf3492352.diff
|
Patch4: u_tigervnc-dont-send-ascii-control-characters.patch
|
||||||
Patch5: tigervnc-sf3495623.patch
|
Patch5: u_tigervnc-ignore-epipe-on-write.patch
|
||||||
Patch6: u_tigervnc-dont-send-ascii-control-characters.patch
|
Patch6: n_tigervnc-date-time.patch
|
||||||
Patch7: u_tigervnc-ignore-epipe-on-write.patch
|
Patch7: U_include-vencrypt-only-if-any-subtype-present.patch
|
||||||
Patch8: n_tigervnc-date-time.patch
|
Patch8: u_tigervnc-use_preferred_mode.patch
|
||||||
Patch9: U_include-vencrypt-only-if-any-subtype-present.patch
|
Patch9: u_tigervnc-cve-2014-8240.patch
|
||||||
Patch10: u_tigervnc-check-shm-harder.patch
|
|
||||||
Patch11: u_tigervnc-use_preferred_mode.patch
|
|
||||||
Patch12: u_tigervnc-cve-2014-8240.patch
|
|
||||||
|
|
||||||
# Xserver patches
|
# Xserver patches
|
||||||
Patch20: tigervnc-1.2.80-fix-int-to-pointer.patch
|
Patch20: N_xorg-server-xdmcp.patch
|
||||||
Patch21: u_aarch64-support.patch
|
Patch21: n_tigervnc-dont-build-gtf.patch
|
||||||
Patch22: N_xorg-server-xdmcp.patch
|
|
||||||
Patch23: n_tigervnc-dont-build-gtf.patch
|
|
||||||
Patch24: u_arch-Fix-image-and-bitmap-byte-order-for-ppc64le.patch
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
TigerVNC is a high-performance, platform-neutral implementation of VNC (Virtual Network Computing),
|
TigerVNC is a high-performance, platform-neutral implementation of VNC (Virtual Network Computing),
|
||||||
@ -150,23 +144,17 @@ fi
|
|||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
%patch4 -p1
|
%patch4 -p0
|
||||||
%patch5 -p1
|
%patch5 -p0
|
||||||
%patch6 -p0
|
%patch6 -p1
|
||||||
%patch7 -p0
|
%patch7 -p0
|
||||||
%patch8 -p1
|
%patch8 -p0
|
||||||
%patch9 -p0
|
%patch9 -p1
|
||||||
%patch10 -p0
|
|
||||||
%patch11 -p0
|
|
||||||
%patch12 -p1
|
|
||||||
|
|
||||||
pushd unix/xserver
|
pushd unix/xserver
|
||||||
patch -p1 < ../xserver114.patch
|
patch -p1 < ../xserver116.patch
|
||||||
%patch20 -p1
|
%patch20 -p1
|
||||||
%patch21 -p1
|
%patch21 -p1
|
||||||
%patch22 -p1
|
|
||||||
%patch23 -p1
|
|
||||||
%patch24 -p1
|
|
||||||
popd
|
popd
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -254,7 +242,7 @@ fi
|
|||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%ghost %{_bindir}/vncviewer
|
%ghost %{_bindir}/vncviewer
|
||||||
%{_bindir}/vncviewer-tigervnc
|
%{_bindir}/vncviewer-tigervnc
|
||||||
%exclude /usr/share/doc/tigervnc-1.3.1
|
%exclude /usr/share/doc/tigervnc-1.4.1
|
||||||
%doc LICENCE.TXT
|
%doc LICENCE.TXT
|
||||||
%doc README.txt
|
%doc README.txt
|
||||||
%ghost %_mandir/man1/vncviewer.1.gz
|
%ghost %_mandir/man1/vncviewer.1.gz
|
||||||
|
@ -1,42 +0,0 @@
|
|||||||
Subject: Basic support for aarch64
|
|
||||||
Author: Andreas Schwab <schwab@suse.de>
|
|
||||||
|
|
||||||
Index: xorg-server-1.13.2/hw/xfree86/os-support/linux/lnx_video.c
|
|
||||||
===================================================================
|
|
||||||
--- xorg-server-1.13.2.orig/hw/xfree86/os-support/linux/lnx_video.c
|
|
||||||
+++ xorg-server-1.13.2/hw/xfree86/os-support/linux/lnx_video.c
|
|
||||||
@@ -58,7 +58,8 @@ static Bool ExtendedEnabled = FALSE;
|
|
||||||
!defined(__sparc__) && \
|
|
||||||
!defined(__mips__) && \
|
|
||||||
!defined(__nds32__) && \
|
|
||||||
- !defined(__arm__)
|
|
||||||
+ !defined(__arm__) && \
|
|
||||||
+ !defined(__aarch64__)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Due to conflicts with "compiler.h", don't rely on <sys/io.h> to declare
|
|
||||||
Index: xorg-server-1.13.2/include/servermd.h
|
|
||||||
===================================================================
|
|
||||||
--- xorg-server-1.13.2.orig/include/servermd.h
|
|
||||||
+++ xorg-server-1.13.2/include/servermd.h
|
|
||||||
@@ -286,6 +286,20 @@ SOFTWARE.
|
|
||||||
#define GLYPHPADBYTES 4
|
|
||||||
#endif /* linux/s390 */
|
|
||||||
|
|
||||||
+#ifdef __aarch64__
|
|
||||||
+
|
|
||||||
+#ifdef __AARCH64EL__
|
|
||||||
+#define IMAGE_BYTE_ORDER LSBFirst
|
|
||||||
+#define BITMAP_BIT_ORDER LSBFirst
|
|
||||||
+#endif
|
|
||||||
+#ifdef __AARCH64EB__
|
|
||||||
+#define IMAGE_BYTE_ORDER MSBFirst
|
|
||||||
+#define BITMAP_BIT_ORDER MSBFirst
|
|
||||||
+#endif
|
|
||||||
+#define GLYPHPADBYTES 4
|
|
||||||
+
|
|
||||||
+#endif /* __aarch64__ */
|
|
||||||
+
|
|
||||||
/* size of buffer to use with GetImage, measured in bytes. There's obviously
|
|
||||||
* a trade-off between the amount of heap used and the number of times the
|
|
||||||
* ddx routine has to be called.
|
|
@ -1,38 +0,0 @@
|
|||||||
From: Dinar Valeev <dvaleev@suse.com>
|
|
||||||
Date: Mon Feb 24 10:48:22 2014 +0100
|
|
||||||
Subject: [PATCH]arch: Fix image and bitmap byte order for ppc64le
|
|
||||||
Patch-Mainline: to be upstreamed
|
|
||||||
Git-commit: 3874826e84151917a443f8efb46ea7414c990243
|
|
||||||
Git-repo: git://anongit.freedesktop.org/git/xorg/xserver
|
|
||||||
References: bnc#865069
|
|
||||||
Signed-off-by: Egbert Eich <eich@suse.com>
|
|
||||||
|
|
||||||
So far PPC was big endian for sure. For ppc64le this is no longer
|
|
||||||
true.
|
|
||||||
|
|
||||||
Signed-off-by: Egbert Eich <eich@freedesktop.org>
|
|
||||||
---
|
|
||||||
include/servermd.h | 9 +++++++--
|
|
||||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/include/servermd.h b/include/servermd.h
|
|
||||||
index 11f6c10..256d84b 100644
|
|
||||||
--- a/include/servermd.h
|
|
||||||
+++ b/include/servermd.h
|
|
||||||
@@ -114,8 +114,13 @@ SOFTWARE.
|
|
||||||
|
|
||||||
#if defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__)
|
|
||||||
|
|
||||||
-#define IMAGE_BYTE_ORDER MSBFirst
|
|
||||||
-#define BITMAP_BIT_ORDER MSBFirst
|
|
||||||
+#if defined(__LITTLE_ENDIAN__)
|
|
||||||
+#define IMAGE_BYTE_ORDER LSBFirst
|
|
||||||
+#define BITMAP_BIT_ORDER LSBFirst
|
|
||||||
+#else
|
|
||||||
+#define IMAGE_BYTE_ORDER MSBFirst
|
|
||||||
+#define BITMAP_BIT_ORDER MSBFirst
|
|
||||||
+#endif
|
|
||||||
#define GLYPHPADBYTES 4
|
|
||||||
|
|
||||||
#endif /* PowerPC */
|
|
||||||
|
|
@ -1,115 +0,0 @@
|
|||||||
Author: Michal Srb <msrb@suse.com>
|
|
||||||
Subject: Fix use after free in ZRLEEncoder.
|
|
||||||
Patch-Mainline: To be upstreamed
|
|
||||||
References: bnc#840433
|
|
||||||
|
|
||||||
There is use after free crash when client using zrle disconnects:
|
|
||||||
ZRLEEncoder contains zos variable (rdr::ZlibOutStream) and mos variable (pointer to rdr::MemOutStream).
|
|
||||||
mos is always allocated in constructor (it could be a copy of static sharedMos pointer if sharedMos != 0, but it is always 0).
|
|
||||||
When ZRLEEncoder::writeRect is called, any of zrleEncode* functions sets mos as an underlying stream of zos.
|
|
||||||
When ZRLEEncoder is destructed, mos is deleted (sharedMos is always 0), then zos is implicitly destructed, but zos accesses it's underlying stream in it's destructor!
|
|
||||||
|
|
||||||
We need to destruct mos first and zos second when ZRLEEncoder is destructed.
|
|
||||||
As sharedMos is never used, we can remove that, simplify ZRLEEncoder and turn zos into a member variable same as mos. They will be both implicitly destructed in reverse order of declaration.
|
|
||||||
|
|
||||||
diff -ur tigervnc-1.3.0-orig/common/rfb/ZRLEEncoder.cxx tigervnc-1.3.0/common/rfb/ZRLEEncoder.cxx
|
|
||||||
--- tigervnc-1.3.0-orig/common/rfb/ZRLEEncoder.cxx 2013-09-17 00:18:28.557911306 +0300
|
|
||||||
+++ tigervnc-1.3.0/common/rfb/ZRLEEncoder.cxx 2013-09-17 00:19:57.487915741 +0300
|
|
||||||
@@ -26,7 +26,6 @@
|
|
||||||
|
|
||||||
using namespace rfb;
|
|
||||||
|
|
||||||
-rdr::MemOutStream* ZRLEEncoder::sharedMos = 0;
|
|
||||||
int ZRLEEncoder::maxLen = 4097 * 1024; // enough for width 16384 32-bit pixels
|
|
||||||
|
|
||||||
IntParameter zlibLevel("ZlibLevel","Zlib compression level",-1);
|
|
||||||
@@ -55,33 +54,27 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
ZRLEEncoder::ZRLEEncoder(SMsgWriter* writer_)
|
|
||||||
- : writer(writer_), zos(0,0,zlibLevel)
|
|
||||||
+ : writer(writer_), zos(0,0,zlibLevel), mos(129*1024)
|
|
||||||
{
|
|
||||||
- if (sharedMos)
|
|
||||||
- mos = sharedMos;
|
|
||||||
- else
|
|
||||||
- mos = new rdr::MemOutStream(129*1024);
|
|
||||||
}
|
|
||||||
|
|
||||||
ZRLEEncoder::~ZRLEEncoder()
|
|
||||||
{
|
|
||||||
- if (!sharedMos)
|
|
||||||
- delete mos;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ZRLEEncoder::writeRect(const Rect& r, TransImageGetter* ig, Rect* actual)
|
|
||||||
{
|
|
||||||
rdr::U8* imageBuf = writer->getImageBuf(64 * 64 * 4 + 4);
|
|
||||||
- mos->clear();
|
|
||||||
+ mos.clear();
|
|
||||||
bool wroteAll = true;
|
|
||||||
*actual = r;
|
|
||||||
|
|
||||||
switch (writer->bpp()) {
|
|
||||||
case 8:
|
|
||||||
- wroteAll = zrleEncode8(r, mos, &zos, imageBuf, maxLen, actual, ig);
|
|
||||||
+ wroteAll = zrleEncode8(r, &mos, &zos, imageBuf, maxLen, actual, ig);
|
|
||||||
break;
|
|
||||||
case 16:
|
|
||||||
- wroteAll = zrleEncode16(r, mos, &zos, imageBuf, maxLen, actual, ig);
|
|
||||||
+ wroteAll = zrleEncode16(r, &mos, &zos, imageBuf, maxLen, actual, ig);
|
|
||||||
break;
|
|
||||||
case 32:
|
|
||||||
{
|
|
||||||
@@ -94,16 +87,16 @@
|
|
||||||
if ((fitsInLS3Bytes && pf.isLittleEndian()) ||
|
|
||||||
(fitsInMS3Bytes && pf.isBigEndian()))
|
|
||||||
{
|
|
||||||
- wroteAll = zrleEncode24A(r, mos, &zos, imageBuf, maxLen, actual, ig);
|
|
||||||
+ wroteAll = zrleEncode24A(r, &mos, &zos, imageBuf, maxLen, actual, ig);
|
|
||||||
}
|
|
||||||
else if ((fitsInLS3Bytes && pf.isBigEndian()) ||
|
|
||||||
(fitsInMS3Bytes && pf.isLittleEndian()))
|
|
||||||
{
|
|
||||||
- wroteAll = zrleEncode24B(r, mos, &zos, imageBuf, maxLen, actual, ig);
|
|
||||||
+ wroteAll = zrleEncode24B(r, &mos, &zos, imageBuf, maxLen, actual, ig);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- wroteAll = zrleEncode32(r, mos, &zos, imageBuf, maxLen, actual, ig);
|
|
||||||
+ wroteAll = zrleEncode32(r, &mos, &zos, imageBuf, maxLen, actual, ig);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
@@ -111,8 +104,8 @@
|
|
||||||
|
|
||||||
writer->startRect(*actual, encodingZRLE);
|
|
||||||
rdr::OutStream* os = writer->getOutStream();
|
|
||||||
- os->writeU32(mos->length());
|
|
||||||
- os->writeBytes(mos->data(), mos->length());
|
|
||||||
+ os->writeU32(mos.length());
|
|
||||||
+ os->writeBytes(mos.data(), mos.length());
|
|
||||||
writer->endRect();
|
|
||||||
return wroteAll;
|
|
||||||
}
|
|
||||||
diff -ur tigervnc-1.3.0-orig/common/rfb/ZRLEEncoder.h tigervnc-1.3.0/common/rfb/ZRLEEncoder.h
|
|
||||||
--- tigervnc-1.3.0-orig/common/rfb/ZRLEEncoder.h 2013-09-17 00:18:28.558911306 +0300
|
|
||||||
+++ tigervnc-1.3.0/common/rfb/ZRLEEncoder.h 2013-09-17 00:20:34.372917581 +0300
|
|
||||||
@@ -38,16 +38,11 @@
|
|
||||||
// width, in this example about 128 bytes).
|
|
||||||
static void setMaxLen(int m) { maxLen = m; }
|
|
||||||
|
|
||||||
- // setSharedMos() sets a MemOutStream to be shared amongst all
|
|
||||||
- // ZRLEEncoders. Should be called before any ZRLEEncoders are created.
|
|
||||||
- static void setSharedMos(rdr::MemOutStream* mos_) { sharedMos = mos_; }
|
|
||||||
-
|
|
||||||
private:
|
|
||||||
ZRLEEncoder(SMsgWriter* writer);
|
|
||||||
SMsgWriter* writer;
|
|
||||||
+ rdr::MemOutStream mos;
|
|
||||||
rdr::ZlibOutStream zos;
|
|
||||||
- rdr::MemOutStream* mos;
|
|
||||||
- static rdr::MemOutStream* sharedMos;
|
|
||||||
static int maxLen;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,26 +0,0 @@
|
|||||||
Index: vncviewer/X11PixelBuffer.cxx
|
|
||||||
===================================================================
|
|
||||||
--- vncviewer/X11PixelBuffer.cxx (revision 5186)
|
|
||||||
+++ vncviewer/X11PixelBuffer.cxx (working copy)
|
|
||||||
@@ -158,6 +158,8 @@
|
|
||||||
Bool pixmaps;
|
|
||||||
XErrorHandler old_handler;
|
|
||||||
Status status;
|
|
||||||
+ Window test_window;
|
|
||||||
+ GC test_gc;
|
|
||||||
|
|
||||||
if (!XShmQueryVersion(fl_display, &major, &minor, &pixmaps))
|
|
||||||
return 0;
|
|
||||||
@@ -187,6 +189,12 @@
|
|
||||||
old_handler = XSetErrorHandler(XShmAttachErrorHandler);
|
|
||||||
|
|
||||||
XShmAttach(fl_display, shminfo);
|
|
||||||
+ test_window = XCreateSimpleWindow(fl_display, XDefaultRootWindow(fl_display), 0, 0, width(), height(), 0, 0, 0);
|
|
||||||
+ test_gc = XCreateGC(fl_display, test_window, 0, 0);
|
|
||||||
+ XShmPutImage(fl_display, test_window, test_gc, xim, 0, 0, 0, 0, width(), height(), False);
|
|
||||||
+ XFreeGC(fl_display, test_gc);
|
|
||||||
+ XDestroyWindow(fl_display, test_window);
|
|
||||||
+
|
|
||||||
XSync(fl_display, False);
|
|
||||||
|
|
||||||
XSetErrorHandler(old_handler);
|
|
@ -2,9 +2,10 @@ Patch-Mainline: To be upstreamed
|
|||||||
References: bnc#900896 CVE-2014-8240
|
References: bnc#900896 CVE-2014-8240
|
||||||
Signed-off-by: Michal Srb <msrb@suse.com>
|
Signed-off-by: Michal Srb <msrb@suse.com>
|
||||||
|
|
||||||
diff -up tigervnc-1.3.1/unix/x0vncserver/Image.cxx.CVE-2014-8240 tigervnc-1.3.1/unix/x0vncserver/Image.cxx
|
Index: tigervnc-1.4.1/unix/x0vncserver/Image.cxx
|
||||||
--- tigervnc-1.3.1/unix/x0vncserver/Image.cxx.CVE-2014-8240 2008-03-19 16:14:48.000000000 +0000
|
===================================================================
|
||||||
+++ tigervnc-1.3.1/unix/x0vncserver/Image.cxx 2014-10-16 12:23:08.013339234 +0100
|
--- tigervnc-1.4.1.orig/unix/x0vncserver/Image.cxx
|
||||||
|
+++ tigervnc-1.4.1/unix/x0vncserver/Image.cxx
|
||||||
@@ -80,6 +80,14 @@ void Image::Init(int width, int height)
|
@@ -80,6 +80,14 @@ void Image::Init(int width, int height)
|
||||||
xim = XCreateImage(dpy, vis, DefaultDepth(dpy, DefaultScreen(dpy)),
|
xim = XCreateImage(dpy, vis, DefaultDepth(dpy, DefaultScreen(dpy)),
|
||||||
ZPixmap, 0, 0, width, height, BitmapPad(dpy), 0);
|
ZPixmap, 0, 0, width, height, BitmapPad(dpy), 0);
|
||||||
@ -38,12 +39,13 @@ diff -up tigervnc-1.3.1/unix/x0vncserver/Image.cxx.CVE-2014-8240 tigervnc-1.3.1/
|
|||||||
}
|
}
|
||||||
|
|
||||||
shminfo->shmid = shmget(IPC_PRIVATE,
|
shminfo->shmid = shmget(IPC_PRIVATE,
|
||||||
diff -up tigervnc-1.3.1/vncviewer/X11PixelBuffer.cxx.CVE-2014-8240 tigervnc-1.3.1/vncviewer/X11PixelBuffer.cxx
|
Index: tigervnc-1.4.1/vncviewer/X11PixelBuffer.cxx
|
||||||
--- tigervnc-1.3.1/vncviewer/X11PixelBuffer.cxx.CVE-2014-8240 2011-08-23 13:04:46.000000000 +0100
|
===================================================================
|
||||||
+++ tigervnc-1.3.1/vncviewer/X11PixelBuffer.cxx 2014-10-16 12:22:53.053261132 +0100
|
--- tigervnc-1.4.1.orig/vncviewer/X11PixelBuffer.cxx
|
||||||
@@ -105,6 +105,15 @@ PlatformPixelBuffer::PlatformPixelBuffer
|
+++ tigervnc-1.4.1/vncviewer/X11PixelBuffer.cxx
|
||||||
ZPixmap, 0, 0, width, height, BitmapPad(fl_display), 0);
|
@@ -106,6 +106,15 @@ X11PixelBuffer::X11PixelBuffer(int width
|
||||||
assert(xim);
|
if (!xim)
|
||||||
|
throw rfb::Exception(_("Could not create framebuffer image"));
|
||||||
|
|
||||||
+ if (xim->bytes_per_line <= 0 ||
|
+ if (xim->bytes_per_line <= 0 ||
|
||||||
+ xim->height <= 0 ||
|
+ xim->height <= 0 ||
|
||||||
@ -55,9 +57,9 @@ diff -up tigervnc-1.3.1/vncviewer/X11PixelBuffer.cxx.CVE-2014-8240 tigervnc-1.3.
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
xim->data = (char*)malloc(xim->bytes_per_line * xim->height);
|
xim->data = (char*)malloc(xim->bytes_per_line * xim->height);
|
||||||
assert(xim->data);
|
if (!xim->data)
|
||||||
}
|
throw rfb::Exception(_("Not enough memory for framebuffer"));
|
||||||
@@ -169,6 +178,16 @@ int PlatformPixelBuffer::setupShm()
|
@@ -172,6 +181,16 @@ int X11PixelBuffer::setupShm()
|
||||||
if (!xim)
|
if (!xim)
|
||||||
goto free_shminfo;
|
goto free_shminfo;
|
||||||
|
|
||||||
|
@ -5,10 +5,10 @@ References: bnc#864666
|
|||||||
|
|
||||||
Index: vncviewer/Viewport.cxx
|
Index: vncviewer/Viewport.cxx
|
||||||
===================================================================
|
===================================================================
|
||||||
--- vncviewer/Viewport.cxx (revision 5162)
|
--- vncviewer/Viewport.cxx.orig
|
||||||
+++ vncviewer/Viewport.cxx (working copy)
|
+++ vncviewer/Viewport.cxx
|
||||||
@@ -753,7 +753,13 @@
|
@@ -1044,7 +1044,13 @@ rdr::U32 Viewport::translateKeyEvent(voi
|
||||||
return XK_VoidSymbol;
|
return NoSymbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
- ucs = fl_utf8decode(keyText, NULL, NULL);
|
- ucs = fl_utf8decode(keyText, NULL, NULL);
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:f7adfa5c1dd5cf228bb54794016d9e11ef389c1a70f91c33d72691c52e8a0f2b
|
|
||||||
size 5530988
|
|
3
xorg-server-1.16.1.tar.bz2
Normal file
3
xorg-server-1.16.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ad7fa80413feeba7855ba2ec5d72bfbc3e191b7ec56c81291e7c9c0a3a9f881e
|
||||||
|
size 5829838
|
Loading…
Reference in New Issue
Block a user