0c7016
Name:           freerdp
0c7016
Version:        1.0.2
c45e68
Release:        15%{?dist}.1
0c7016
Summary:        Remote Desktop Protocol client
0c7016
0c7016
Group:          Applications/Communications
0c7016
License:        ASL 2.0
0c7016
URL:            http://www.freerdp.com/
0c7016
Source0:        http://pub.freerdp.com/releases/%{name}-%{version}.tar.gz
0c7016
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
0c7016
0c7016
BuildRequires:  cmake
0c7016
BuildRequires:  xmlto
0c7016
BuildRequires:  openssl-devel
0c7016
BuildRequires:  libX11-devel
0c7016
BuildRequires:  libXext-devel
0c7016
BuildRequires:  libXinerama-devel
0c7016
BuildRequires:  libXcursor-devel
0c7016
BuildRequires:  libXdamage-devel
0c7016
BuildRequires:  libXv-devel
0c7016
BuildRequires:  libxkbfile-devel
0c7016
BuildRequires:  pulseaudio-libs-devel
0c7016
BuildRequires:  cups-devel
0c7016
BuildRequires:  pcsc-lite-devel
0c7016
BuildRequires:  desktop-file-utils
0c7016
0c7016
Provides:       xfreerdp = %{version}-%{release}
0c7016
Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
0c7016
Requires:       %{name}-plugins%{?_isa} = %{version}-%{release}
0c7016
0c7016
Patch0: 0001-xfreerdp.1.xml-Don-t-claim-to-support-multiple-conne.patch
0c7016
Patch1: 0002-Replace-itemizedlist-s-with-variablelist-s.patch
0c7016
0c7016
# https://bugzilla.redhat.com/show_bug.cgi?id=1186916
0c7016
Patch3: libfreerdp-core-fix-issue-436.patch
0c7016
0c7016
# https://bugzilla.redhat.com/show_bug.cgi?id=1296654
0c7016
Patch4: fix-crashes-in-pulseaudio.patch
0c7016
0c7016
# Fix crash if pulseaudio device isn't specified
0c7016
# https://bugzilla.redhat.com/show_bug.cgi?id=1067543
0c7016
Patch5: rdpsnd-pulse-Fix-crash-if-device-isn-t-specified.patch
0c7016
0c7016
# Fix crash if requested bitmap isn't in cache
0c7016
# https://bugzilla.redhat.com/show_bug.cgi?id=1311164
0c7016
Patch6: cover-the-case-of-servers-asking-for-cached-bitmaps-.patch
0c7016
0c7016
# Add support for wildcard certificates
0c7016
# https://bugzilla.redhat.com/show_bug.cgi?id=1275241
0c7016
Patch7: libfreerdp-core-verify-TLS-certificate-with-both-TLS.patch
0c7016
Patch8: fix-issue-530-NLA-password-asked-after-certificate-r.patch
0c7016
Patch9: 1-Add-support-for-Wildcard-Certificates-2-For-Gatewa.patch
0c7016
Patch10: Using-the-more-efficient-code-for-comparing-host-nam.patch
0c7016
Patch11: Fixed-a-possible-buffer-overflow-issue.patch
0c7016
0c7016
# Prevent stucked keys on focus out and unmap events
0c7016
# https://bugzilla.redhat.com/show_bug.cgi?id=1415069
0c7016
Patch12: x11-release-all-pressed-keys-when-window-is-unmapped.patch
0c7016
Patch13: release-keys-when-xfreerdp-is-unfocused-to-prevent-s.patch
0c7016
0c7016
# Fix crashes when copying images
0c7016
# https://bugzilla.redhat.com/show_bug.cgi?id=1417536
0c7016
Patch14: remove-unncessary-NULL-ptr-check.patch
0c7016
0c7016
# Enable TLS 1.1 connections and later
0c7016
# https://bugzilla.redhat.com/show_bug.cgi?id=1312967
0c7016
Patch15: tls-enable-tls-1.patch
0c7016
0c7016
# Add description for available plugins
0c7016
# https://bugzilla.redhat.com/show_bug.cgi?id=1428041
0c7016
Patch16: Add-description-for-available-plugins.patch
0c7016
Patch20: Fix-smartcard-usage-in-manpage.patch
0c7016
0c7016
# Fix NTLM on big endian
0c7016
# https://bugzilla.redhat.com/show_bug.cgi?id=1204742
0c7016
Patch17: Fix-NTLM-on-big-endian.patch
0c7016
0c7016
# Fix colors on big endian
0c7016
# https://bugzilla.redhat.com/show_bug.cgi?id=1308810
0c7016
Patch18: Fix-colors-on-big-endian.patch
0c7016
0c7016
# Add FIPS mode support
0c7016
# https://bugzilla.redhat.com/show_bug.cgi?id=1363811
0c7016
Patch19: FIPS-mode-support.patch
0c7016
c45e68
# Fix CVE-2018-8786
c45e68
# https://bugzilla.redhat.com/show_bug.cgi?id=1684152
c45e68
Patch21: CVE-2018-8786.patch
c45e68
c45e68
# Fix CVE-2018-8787
c45e68
# https://bugzilla.redhat.com/show_bug.cgi?id=1684156
c45e68
Patch22: CVE-2018-8787.patch
c45e68
c45e68
# Fix CVE-2018-8788
c45e68
# https://bugzilla.redhat.com/show_bug.cgi?id=1684163
c45e68
Patch23: CVE-2018-8788.patch
c45e68
0c7016
%description
0c7016
The xfreerdp Remote Desktop Protocol (RDP) client from the FreeRDP
0c7016
project.
0c7016
0c7016
xfreerdp can connect to RDP servers such as Microsoft Windows
0c7016
machines, xrdp and VirtualBox.
0c7016
0c7016
0c7016
%package        libs
0c7016
Summary:        Core libraries implementing the RDP protocol
0c7016
Group:          Applications/Communications
0c7016
%description    libs
0c7016
libfreerdp-core can be embedded in applications.
0c7016
0c7016
libfreerdp-channels and libfreerdp-kbd might be convenient to use in X
0c7016
applications together with libfreerdp-core.
0c7016
0c7016
libfreerdp-core can be extended with plugins handling RDP channels.
0c7016
0c7016
0c7016
%package        plugins
0c7016
Summary:        Plugins for handling the standard RDP channels
0c7016
Group:          Applications/Communications
0c7016
Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
0c7016
%description    plugins
0c7016
A set of plugins to the channel manager implementing the standard virtual
0c7016
channels extending RDP core functionality. For instance, sounds, clipboard
0c7016
sync, disk/printer redirection, etc.
0c7016
0c7016
0c7016
%package        devel
0c7016
Summary:        Development files for %{name}
0c7016
Group:          Development/Libraries
0c7016
Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
0c7016
Requires:       pkgconfig
0c7016
0c7016
%description    devel
0c7016
The %{name}-devel package contains libraries and header files for
0c7016
developing applications that use %{name}-libs.
0c7016
0c7016
0c7016
%prep
0c7016
0c7016
%setup -q
0c7016
0c7016
%patch0 -p1
0c7016
%patch1 -p1
0c7016
%patch3 -p1 -b .fix-invalid-dereference
0c7016
%patch4 -p1 -b .fix-crashes-in-pulseaudio
0c7016
%patch5 -p1 -b .rdpsnd-pulse-fix-crash-if-device-isn-t-specified
0c7016
%patch6 -p1 -b .cover-the-case-of-servers-asking-for-cached-bitmaps-.patch
0c7016
%patch7 -p1 -b .libfreerdp-core-verify-TLS-certificate-with-both-TLS
0c7016
%patch8 -p1 -b .fix-issue-530-NLA-password-asked-after-certificate-r
0c7016
%patch9 -p1 -b .1-Add-support-for-Wildcard-Certificates-2-For-Gatewa
0c7016
%patch10 -p1 -b .Using-the-more-efficient-code-for-comparing-host-nam
0c7016
%patch11 -p1 -b .Fixed-a-possible-buffer-overflow-issue
0c7016
%patch12 -p1 -b .x11-release-all-pressed-keys-when-window-is-unmapped
0c7016
%patch13 -p1 -b .release-keys-when-xfreerdp-is-unfocused-to-prevent-s
0c7016
%patch14 -p1 -b .remove-unncessary-NULL-ptr-check
0c7016
%patch15 -p1 -b .tls-enable-tls-1
0c7016
%patch16 -p1 -b .Add-description-for-available-plugins
0c7016
%patch17 -p1 -b .Fix-NTLM-on-big-endian
0c7016
%patch18 -p1 -b .Fix-colors-on-big-endian
0c7016
%patch19 -p1 -b .FIPS-mode-support
0c7016
%patch20 -p1 -b .Fix-smartcard-usage-in-manpage
c45e68
%patch21 -p1 -b .CVE-2018-8786
c45e68
%patch22 -p1 -b .CVE-2018-8787
c45e68
%patch23 -p1 -b .CVE-2018-8788
0c7016
0c7016
cat << EOF > xfreerdp.desktop 
0c7016
[Desktop Entry]
0c7016
Type=Application
0c7016
Name=X FreeRDP
0c7016
NoDisplay=true
0c7016
Comment=Connect to RDP server and display remote desktop
0c7016
Icon=%{name}
0c7016
Exec=/usr/bin/xfreerdp
0c7016
Terminal=false
0c7016
Categories=Network;RemoteAccess;
0c7016
EOF
0c7016
0c7016
0c7016
%build
0c7016
0c7016
%cmake \
0c7016
        -DWITH_CUPS=ON \
0c7016
        -DWITH_PCSC=ON \
0c7016
        -DWITH_PULSEAUDIO=ON \
0c7016
        -DWITH_X11=ON \
0c7016
        -DWITH_XCURSOR=ON \
0c7016
        -DWITH_XEXT=ON \
0c7016
        -DWITH_XINERAMA=ON \
0c7016
        -DWITH_XKBFILE=ON \
0c7016
        -DWITH_XV=ON \
0c7016
        -DWITH_ALSA=OFF \
0c7016
        -DWITH_CUNIT=OFF \
0c7016
        -DWITH_DIRECTFB=OFF \
0c7016
        -DWITH_FFMPEG=OFF \
0c7016
        -DWITH_SSE2=OFF \
0c7016
        -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \
0c7016
        .
0c7016
0c7016
make %{?_smp_mflags}
0c7016
0c7016
0c7016
%install
0c7016
rm -rf $RPM_BUILD_ROOT
0c7016
0c7016
make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p'
0c7016
0c7016
# No need for keymap files when using xkbfile
0c7016
rm -rf $RPM_BUILD_ROOT/usr/share/freerdp
0c7016
0c7016
desktop-file-install --dir=$RPM_BUILD_ROOT%{_datadir}/applications xfreerdp.desktop
0c7016
install -p -D resources/FreeRDP_Icon_256px.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
0c7016
0c7016
0c7016
%clean
0c7016
rm -rf $RPM_BUILD_ROOT
0c7016
0c7016
0c7016
%post
0c7016
# This is no gtk application, but try to integrate nicely with GNOME if it is available
0c7016
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
0c7016
0c7016
0c7016
%post libs -p /sbin/ldconfig
0c7016
0c7016
0c7016
%postun libs -p /sbin/ldconfig
0c7016
0c7016
0c7016
%files
0c7016
%defattr(-,root,root,-)
0c7016
%{_bindir}/xfreerdp
0c7016
%{_mandir}/man1/xfreerdp.*
0c7016
%{_datadir}/applications/xfreerdp.desktop
0c7016
%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
0c7016
0c7016
%files libs
0c7016
%defattr(-,root,root,-)
0c7016
%doc LICENSE README ChangeLog
0c7016
%{_libdir}/lib%{name}-*.so.*
0c7016
%dir %{_libdir}/%{name}/
0c7016
0c7016
%files plugins
0c7016
%defattr(-,root,root,-)
0c7016
%{_libdir}/%{name}/*
0c7016
0c7016
%files devel
0c7016
%defattr(-,root,root,-)
0c7016
%{_includedir}/%{name}/
0c7016
%{_libdir}/lib%{name}-*.so
0c7016
%{_libdir}/pkgconfig/%{name}.pc
0c7016
0c7016
0c7016
%changelog
c45e68
* Fri Mar 8 2019 Ondrej Holy <oholy@redhat.com> - 1.0.2-15.1
c45e68
- Fix CVE-2018-8786 (#1684152)
c45e68
- Fix CVE-2018-8787 (#1684156)
c45e68
- Fix CVE-2018-8788 (#1684163)
c45e68
0c7016
* Wed Jan 31 2018 Ondrej Holy <oholy@redhat.com> - 1.0.2-15
0c7016
- Fix smartcard usage in manpage (#1428041)
0c7016
0c7016
* Thu Nov 23 2017 Ondrej Holy <oholy@redhat.com> - 1.0.2-14
0c7016
- Add FIPS mode support (#1363811)
0c7016
0c7016
* Thu Oct 5 2017 Ondrej Holy <oholy@redhat.com> - 1.0.2-13
0c7016
- Fix NTLM on big endian (#1204742)
0c7016
- Fix colors on big endian (#1308810)
0c7016
0c7016
* Thu Sep 21 2017 Ondrej Holy <oholy@redhat.com> - 1.0.2-12
0c7016
- Add description for available plugins (#1428041)
0c7016
0c7016
* Thu Sep 7 2017 Ondrej Holy <oholy@redhat.com> - 1.0.2-11
0c7016
- Use boolean types defined stdbool.h (#1404575)
0c7016
- Prevent stucked keys on focus out and unmap events (#1415069)
0c7016
- Fix crashes when copying images (#1417536)
0c7016
- Enable TLS 1.1 connections and later (#1312967)
0c7016
0c7016
* Mon Apr 18 2016 Ondrej Holy <oholy@redhat.com> - 1.0.2-10
0c7016
- Add support for wildcard certificates (#1275241)
0c7016
0c7016
* Wed Apr 6 2016 Ondrej Holy <oholy@redhat.com> - 1.0.2-9
0c7016
- Fix crash if requested bitmap isn't in cache (#1311164)
0c7016
0c7016
* Wed Apr 6 2016 Ondrej Holy <oholy@redhat.com> - 1.0.2-8
0c7016
- Fix crash if pulseaudio device isn't specified (#1067543)
0c7016
0c7016
* Fri Jan 15 2016 Ondrej Holy <oholy@redhat.com> - 1.0.2-7
0c7016
- Fix crashes in pulseaudio
0c7016
- Resolves: #1210049
0c7016
0c7016
* Thu Mar 19 2015 Ondrej Holy <oholy@redhat.com> - 1.0.2-6
0c7016
- Fix crash during CA verification caused by invalid pointer dereference
0c7016
- Resolves: #1186916
0c7016
0c7016
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 1.0.2-5
0c7016
- Mass rebuild 2014-01-24
0c7016
0c7016
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 1.0.2-4
0c7016
- Mass rebuild 2013-12-27
0c7016
0c7016
* Thu Dec 19 2013 Soren Sandmann <ssp@redhat.com> - 1.0.2-3
0c7016
- Man page fixes
0c7016
  - Document that multiple connections don't work (988294)
0c7016
  - Document the list of plugins (988307, 988308)
0c7016
0c7016
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.2-2
0c7016
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
0c7016
0c7016
* Wed Jan 02 2013 Mads Kiilerich <mads@kiilerich.com> - 1.0.2-1
0c7016
- freerdp-1.0.2
0c7016
0c7016
* Sun Sep 30 2012 Mads Kiilerich <mads@kiilerich.com> - 1.0.1-7
0c7016
- merge f17 1.0.1-6 - Backport fix for bug 816692
0c7016
0c7016
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.1-6
0c7016
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
0c7016
0c7016
* Wed Feb 29 2012 Mads Kiilerich <mads@kiilerich.com> - 1.0.1-5
0c7016
- Use new upstream tar with standard naming
0c7016
- Use _isa for subpackage dependencies
0c7016
0c7016
* Tue Feb 28 2012 Mads Kiilerich <mads@kiilerich.com> - 1.0.1-4
0c7016
- Include patch for sending invalid extra data
0c7016
0c7016
* Tue Feb 28 2012 Mads Kiilerich <mads@kiilerich.com> - 1.0.1-3
0c7016
- Install a freedesktop .desktop file and a high-res icon instead of relying on
0c7016
  _NET_WM_ICON
0c7016
0c7016
* Sat Feb 25 2012 Mads Kiilerich <mads@kiilerich.com> - 1.0.1-2
0c7016
- Explicit build requirement for xmlto - needed for EL6
0c7016
0c7016
* Wed Feb 22 2012 Mads Kiilerich <mads@kiilerich.com> - 1.0.1-1
0c7016
- FreeRDP-1.0.1 - major upstream rewrite and relicensing under Apache license
0c7016
0c7016
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.2-4
0c7016
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
0c7016
0c7016
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.2-3
0c7016
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
0c7016
0c7016
* Fri Jan 28 2011 Mads Kiilerich <mads@kiilerich.com> - 0.8.2-2
0c7016
- rebuild on rawhide because of broken dependencies
0c7016
0c7016
* Tue Nov 16 2010 Mads Kiilerich <mads@kiilerich.com> - 0.8.2-1
0c7016
- freerdp-0.8.2
0c7016
0c7016
* Mon Nov 08 2010 Mads Kiilerich <mads@kiilerich.com> - 0.8.1-2
0c7016
- make -devel require pkgconfig
0c7016
- first official Fedora package
0c7016
0c7016
* Sun Nov 07 2010 Mads Kiilerich <mads@kiilerich.com> - 0.8.1-1
0c7016
- freerdp-0.8.1
0c7016
0c7016
* Sat Sep 25 2010 Mads Kiilerich <mads@kiilerich.com> - 0.7.4-2
0c7016
- hack the generated libtool to not set rpath on x86_64
0c7016
- configure with alsa explicitly
0c7016
0c7016
* Tue Aug 24 2010 Mads Kiilerich <mads@kiilerich.com> - 0.7.4-1
0c7016
- freerdp-0.7.4
0c7016
- cleanup of packaging structure
0c7016
0c7016
* Wed Jul 28 2010 Mads Kiilerich <mads@kiilerich.com> - 0.7.3-1
0c7016
- 0.7.3
0c7016
- fix some minor pylint warnings
0c7016
0c7016
* Fri Jul 23 2010 Mads Kiilerich <mads@kiilerich.com> - 0.7.2-2
0c7016
- 0.7.2
0c7016
- Address many comments from cwickert:
0c7016
- - cleanup of old formatting, alignment with spectemplate-lib.spec and
0c7016
    cwickert spec from #616193
0c7016
- - add alsa as build requirement
0c7016
- - remove superfluous configure options and disable static libs
0c7016
- - add missing rpm groups
0c7016
0c7016
* Sun Jun 13 2010 Mads Kiilerich <mads@kiilerich.com> - 0.7.0-1
0c7016
- First official release, first review request