090aae
090aae
%if 0%{?fedora} || 0%{?rhel} > 5
090aae
%define system_minilzo 1
090aae
%endif
090aae
090aae
Summary: Library to make writing a vnc server easy
090aae
Name:    libvncserver
090aae
Version: 0.9.9
8bed4c
Release: 13%{?dist}
090aae
# NOTE: --with-tightvnc-filetransfer => GPLv2
090aae
License: GPLv2+
090aae
Group:   System Environment/Libraries
090aae
URL:     http://libvncserver.sourceforge.net/
090aae
Source0: http://downloads.sf.net/libvncserver/LibVNCServer-%{version}.tar.gz
090aae
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
090aae
090aae
# workaround there being no x11vnc/ dir in tarball
090aae
Patch0: LibVNCServer-0.9.9-no_x11vnc.patch
090aae
Patch1: LibVNCServer-0.9.9-system_minilzo.patch
090aae
Patch2: libvncserver-0.9.1-multilib.patch
090aae
# pkgconfig love (upstreamable)
090aae
Patch3: LibVNCServer-0.9.9-pkgconfig.patch
090aae
# Fix CVE-2014-6051, bug #1157671
090aae
Patch4: LibVNCServer-0.9.10-CVE-2014-6051.patch
090aae
# Fix CVE-2014-6052, bug #1157671
090aae
Patch5: LibVNCServer-0.9.9-CVE-2014-6052.patch
090aae
# Fix CVE-2014-6053, bug #1157671
090aae
Patch6: LibVNCServer-0.9.10-CVE-2014-6053.patch
090aae
# Fix CVE-2014-6054, bug #1157671
090aae
Patch7: LibVNCServer-0.9.10-CVE-2014-6054.patch
090aae
# Fix CVE-2014-6055, bug #1157671
090aae
Patch8: LibVNCServer-0.9.10-CVE-2014-6055.patch
090aae
# Fix a crash in the VNC server library on connecting an IPv4 client if the
090aae
# server could not start listening on an IPv6 socket, bug #1314814, in upstream
090aae
# after 0.9.9,
090aae
# <https://sourceforge.net/p/libvncserver/mailman/message/29358128/>
090aae
Patch9: LibVNCServer-0.9.9-libvncserver-sockets.c-do-not-segfault-when-listenSo.patch
8bed4c
# 1/2 Fix CVE-2018-7225, bug #1548441
8bed4c
Patch10:    libvncserver-0.9.11-Validate-client-cut-text-length.patch
8bed4c
# 2/2 Fix CVE-2018-7225, bug #1548441
8bed4c
Patch11:    libvncserver-0.9.11-Limit-client-cut-text-length-to-1-MB.patch
8bed4c
# Fix CVE-2018-15127 (Heap out-of-bounds write in
8bed4c
# rfbserver.c:rfbProcessFileTransferReadBuffer()), bug #1662995, upstream bugs
8bed4c
# <https://github.com/LibVNC/libvncserver/issues/243>
8bed4c
# <https://github.com/LibVNC/libvncserver/issues/273>
8bed4c
# <https://github.com/LibVNC/libvncserver/issues/276>
8bed4c
# fixed in upstream after 0.9.12
8bed4c
Patch12:    libvncserver-0.9.11-Fix-CVE-2018-15127-Heap-out-of-bounds-write-in-rfbse.patch
090aae
090aae
# upstream name
090aae
Obsoletes: LibVNCServer < 0.9.1
090aae
Provides:  LibVNCServer = %{version}-%{release}
090aae
090aae
BuildRequires: automake autoconf
090aae
BuildRequires: libgcrypt-devel
090aae
BuildRequires: libjpeg-devel
090aae
%{?system_minilzo:BuildRequires: lzo-minilzo lzo-devel}
090aae
BuildRequires: pkgconfig(gnutls)
090aae
# for %%check
090aae
BuildRequires: xorg-x11-server-Xvfb
090aae
BuildRequires: xorg-x11-xauth
090aae
BuildRequires: zlib-devel
090aae
090aae
%description
090aae
LibVNCServer makes writing a VNC server (or more correctly, a program
090aae
exporting a framebuffer via the Remote Frame Buffer protocol) easy.
090aae
090aae
It hides the programmer from the tedious task of managing clients and
090aae
compression schemata.
090aae
090aae
%package devel
090aae
Summary: Development files for %{name}
090aae
Group: Development/Libraries
090aae
Requires: %{name}%{?_isa} = %{version}-%{release}
090aae
# libvncserver-config deps
090aae
Requires: coreutils
090aae
# upstream name
090aae
#Obsoletes: LibVNCServer-devel < %{version}-%{release}
090aae
Provides:  LibVNCServer-devel = %{version}-%{release}
090aae
%description devel
090aae
%{summary}.
090aae
090aae
090aae
%prep
090aae
%setup -q -n LibVNCServer-%{version}
090aae
090aae
%patch0 -p1 -b .no_x11vnc
090aae
%if 0%{?system_minilzo}
090aae
%patch1 -p1 -b .system_minilzo
090aae
#nuke bundled minilzo
090aae
rm -f common/lzodefs.h common/lzoconf.h commmon/minilzo.h common/minilzo.c
090aae
%endif
090aae
%patch2 -p1 -b .multilib
090aae
%patch3 -p1 -b .pkgconfig
090aae
%patch4 -p1
090aae
%patch5 -p1
090aae
%patch6 -p1
090aae
%patch7 -p1
090aae
%patch8 -p1
090aae
%patch9 -p1
8bed4c
%patch10 -p1
8bed4c
%patch11 -p1
8bed4c
%patch12 -p1
090aae
090aae
# fix encoding
090aae
for file in AUTHORS ChangeLog ; do
090aae
mv ${file} ${file}.OLD && \
090aae
iconv -f ISO_8859-1 -t UTF8 ${file}.OLD > ${file} && \
090aae
touch --reference ${file}.OLD $file 
090aae
done
090aae
090aae
# needed by patch 1 (and to nuke rpath's)
090aae
autoreconf
090aae
090aae
090aae
%build
090aae
%configure \
090aae
  --disable-static \
090aae
  --without-tightvnc-filetransfer \
090aae
  --with-gcrypt \
090aae
  --without-png
090aae
090aae
# hack to omit unused-direct-shlib-dependencies
090aae
sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool
090aae
090aae
make V=1 %{?_smp_mflags}
090aae
090aae
090aae
%install
090aae
rm -rf %{buildroot}
090aae
090aae
make install DESTDIR=%{buildroot}
090aae
090aae
# unpackaged files
090aae
rm -fv %{buildroot}%{_bindir}/linuxvnc
090aae
rm -fv %{buildroot}%{_libdir}/lib*.a
090aae
rm -fv %{buildroot}%{_libdir}/lib*.la
090aae
090aae
090aae
%check
090aae
unset DISPLAY
090aae
# Run a fake X session 
090aae
# rawhide/koji seems to have some some unreproducible errors atm -- rex
090aae
# there's also selinux :( https://bugzilla.redhat.com/843603
090aae
xvfb-run -a make -C test test ||:
090aae
090aae
090aae
%clean
090aae
rm -rf %{buildroot}
090aae
090aae
090aae
%post -p /sbin/ldconfig
090aae
%postun -p /sbin/ldconfig
090aae
090aae
%files
090aae
%defattr(-,root,root,-)
090aae
%doc AUTHORS ChangeLog COPYING NEWS README TODO
090aae
%{_libdir}/libvncclient.so.0*
090aae
%{_libdir}/libvncserver.so.0*
090aae
090aae
%files devel
090aae
%defattr(-,root,root,-)
090aae
%{_bindir}/libvncserver-config
090aae
%{_includedir}/rfb/
090aae
%{_libdir}/libvncclient.so
090aae
%{_libdir}/libvncserver.so
090aae
%{_libdir}/pkgconfig/libvncclient.pc
090aae
%{_libdir}/pkgconfig/libvncserver.pc
090aae
090aae
090aae
%changelog
8bed4c
* Thu Jan 10 2019 Petr Pisar <ppisar@redhat.com> - 0.9.9-13
8bed4c
- Fix CVE-2018-15127 (Heap out-of-bounds write in
8bed4c
  rfbserver.c:rfbProcessFileTransferReadBuffer()) (bug #1662995)
8bed4c
8bed4c
* Mon Feb 26 2018 Petr Pisar <ppisar@redhat.com> - 0.9.9-12
8bed4c
- Fix CVE-2018-7225 (improper client cut text length sanitization) (bug #1548441)
8bed4c
090aae
* Fri Sep 15 2017 Petr Pisar <ppisar@redhat.com> - 0.9.9-11
090aae
- Fix a crash in the VNC server library on connecting an IPv4 client if the
090aae
  server could not start listening on an IPv6 socket (bug #1314814)
090aae
090aae
* Fri Oct 31 2014 Petr Pisar <ppisar@redhat.com> - 0.9.9-10
090aae
- Fix CVE-2014-6051 (integer overflow in screen size handling) (bug #1157671)
090aae
- Fix CVE-2014-6052 (NULL pointer dereference in framebuffer setup)
090aae
  (bug #1157671)
090aae
- Fix CVE-2014-6053 (NULL pointer dereference in ClientCutText message
090aae
  handling) (bug #1157671)
090aae
- Fix CVE-2014-6054 (server divide-by-zero in scaling factor handling)
090aae
  (bug #1157671)
090aae
- Fix CVE-2014-6055 (server stacked-based buffer overflow in file transfer
090aae
  handling) (bug #1157671)
090aae
090aae
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 0.9.9-9
090aae
- Mass rebuild 2014-01-24
090aae
090aae
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 0.9.9-8
090aae
- Mass rebuild 2013-12-27
090aae
090aae
* Tue Jul 23 2013 Petr Pisar <ppisar@redhat.com> - 0.9.9-7.2
090aae
- Specify dependencies on libpng and libgcrypt (bug #852660)
090aae
090aae
* Mon Apr 08 2013 Daniel Mach <dmach@redhat.com> - 0.9.9-7.1
090aae
- Rebuild for gnutls
090aae
090aae
* Thu Feb 14 2013 Rex Dieter <rdieter@fedoraproject.org> 0.9.9-7
090aae
- pkgconfig love (#854111)
090aae
090aae
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.9-6
090aae
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
090aae
090aae
* Fri Jan 18 2013 Adam Tkac <atkac redhat com> - 0.9.9-5
090aae
- rebuild due to "jpeg8-ABI" feature drop
090aae
090aae
* Fri Dec 21 2012 Adam Tkac <atkac redhat com> - 0.9.9-4
090aae
- rebuild against new libjpeg
090aae
090aae
* Thu Jul 26 2012 Rex Dieter <rdieter@fedoraproject.org> 0.9.9-3
090aae
- libvncserver fails to build in mock with selinux enabled (#843603)
090aae
090aae
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.9-2
090aae
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
090aae
090aae
* Mon May 07 2012 Rex Dieter <rdieter@fedoraproject.org> 0.9.9-1
090aae
- 0.9.9
090aae
090aae
* Wed Apr 18 2012 Petr Pisar <ppisar@redhat.com> 0.9.8.2-4
090aae
- Enable system lzo library on rhel >= 6 (#813764)
090aae
090aae
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.8.2-3
090aae
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
090aae
090aae
* Sat Dec 31 2011 Christoph Wickert <cwickert@fedoraproject.org> - 0.9.8.2-2
090aae
- On F15, %%check needs xorg-x11-xauth, too
090aae
090aae
* Tue Dec 13 2011 Rex Dieter <rdieter@fedoraproject.org> 0.9.8.2-1
090aae
- 0.9.8.2 (#694975)
090aae
- new %%check section (yay for xvfb-run)
090aae
090aae
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.7-5
090aae
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
090aae
090aae
* Thu Feb 18 2010 Stepan Kasal <skasal@redhat.com> - 0.9.7-4
090aae
- repack the tarball, there are .jar files without any source
090aae
- do not BR findutils, they are guaranteed in Fedora mock
090aae
- fix obsolete, so that it covers only packages created before this
090aae
  spec was added to Fedora
090aae
090aae
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.7-3
090aae
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
090aae
090aae
* Sat May 23 2009 Rex Dieter <rdieter@fedoraproject.org> - 0.9.7-3
090aae
- Socket is not closed when disconnecting from server (#501895)
090aae
090aae
* Mon May 04 2009 Rex Dieter <rdieter@fedoraproject.org> - 0.9.7-2
090aae
- fix detection of LINUX platform/define
090aae
090aae
* Mon May 04 2009 Rex Dieter <rdieter@fedoraproject.org> - 0.9.7-1
090aae
- LibVNCServer-0.9.7
090aae
090aae
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.1-4
090aae
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
090aae
090aae
* Thu Apr 10 2008 Manuel Wolfshant <wolfy@fedoraproject.org> 0.9.1-3
090aae
- do not use bundled copy of minilzo (#439979)
090aae
090aae
* Sun Jan 27 2008 Rex Dieter <rdieter@fedoraproject.org> 0.9.1-2
090aae
- hack libtool to omit unused shlib dependencies
090aae
- fix AUTHORS encoding
090aae
- fix src perms
090aae
090aae
* Mon Jan 21 2008 Rex Dieter <rdieter@fedoraproject.org> 0.9.1-1
090aae
- 0.9.1