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