Summary: Open source remote desktop protocol (RDP) server Name: xrdp Epoch: 1 Version: 0.9.0 Release: %mkrel 2 License: GPLv2+ with exceptions Group: Networking/Remote access URL: http://xrdp.sourceforge.net/ Source0: http://sourceforge.net/projects/xrdp/files/xrdp/%{version}/xrdp-%{version}.tar.gz Source1: xrdp-sesman.pamd Source2: xrdp.sysconfig Source3: xrdp.logrotate Patch0: xrdp-0.9.0-sesman.patch Patch1: xrdp-0.9.0-service.patch Patch2: xrdp-0.9.0-link-errors.patch Patch3: xrdp-0.9.0-xup-zero-payload.patch Patch4: xrdp-0.9.0-mstsc-multimon-fix.patch BuildRequires: pam-devel BuildRequires: openssl-devel BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool Buildrequires: pkgconfig(x11) BuildRequires: pkgconfig(xfixes) BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(glib-2.0) #vnc-server provides Xvnc (tigervnc-server in fedora) Requires: tigervnc-server Requires(post): rpm-helper >= %{rpmhelper_required_version} Requires(preun): rpm-helper >= %{rpmhelper_required_version} %description The goal of this project is to provide a fully functional Linux terminal server, capable of accepting connections from rdesktop and Microsoft's own terminal server / remote desktop clients. %prep %setup -q -n %{name}-%{version} %patch0 -p1 -b .sesman %patch1 -p1 -b .service %patch2 -p1 -b .link-dl %patch3 -p1 -b .zero %patch4 -p1 -b .multimon # never hardcode rpaths %{__sed} -i -e 's/^\(AM_CONDITIONAL(GOT_PREFIX,\).*$/\1 false)/' configure.ac # remove unused modules from xrdp login combobox %{__sed} -i -e '/\[xrdp1\]/,$d' xrdp/xrdp.ini echo " [xrdp1] name=sesman-Xvnc lib=libvnc.so username=ask password=ask ip=127.0.0.1 port=-1 delay_ms=2000 " >> xrdp/xrdp.ini sed -i -e 's|certificate=.*$|certificate=%{_sysconfdir}/pki/certs/%{name}.pem|' -e 's|key_file=.*$|key_file=%{_sysconfdir}/pki/tls/private/%{name}.pem|' xrdp/xrdp.ini #Low is 40 bit key and everything from client to server is encrypted. #Medium is 40 bit key, everything both ways is encrypted. #High is 128 bit key everything both ways is encrypted. # increase encryption to 128 bit's %{__sed} -i 's/crypt_level=low/crypt_level=high/g' xrdp/xrdp.ini # create 'bash -l' based startwm, to pick up PATH etc. echo '#!/bin/bash -l . %{_sysconfdir}/xrdp/startwm.sh' > sesman/startwm-bash.sh %build ./bootstrap %configure %make %install %make_install #remove .la and .a files find %{buildroot} -name '*.a' -exec rm {} \; find %{buildroot} -name '*.la' -exec rm {} \; #install sesman pam config /etc/pam.d/xrdp-sesman %{__install} -Dp -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/pam.d/xrdp-sesman #install xrdp sysconfig /etc/sysconfig/xrdp %{__install} -Dp -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/xrdp #install logrotate /etc/logrotate.d/xrdp %{__install} -Dp -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/xrdp #install log file /var/log/xrdp-sesman.log %{__mkdir} -p %{buildroot}%{_localstatedir}/log/ touch %{buildroot}%{_localstatedir}/log/xrdp-sesman.log #install 'bash -l' startwm script %{__install} -Dp -m 755 sesman/startwm-bash.sh %{buildroot}%{_sysconfdir}/xrdp/startwm-bash.sh #rsakeys.ini touch %{buildroot}%{_sysconfdir}/xrdp/rsakeys.ini %{__chmod} 0600 %{buildroot}%{_sysconfdir}/xrdp/rsakeys.ini %post %_create_ssl_certificate %{name} %_post_service %{name} xrdp-keygen xrdp %{_sysconfdir}/xrdp/rsakeys.ini > /dev/null %{__chmod} 0600 %{_sysconfdir}/xrdp/rsakeys.ini %preun %_preun_service %{name} %files %doc COPYING *.txt %dir %{_libdir}/xrdp %dir %{_sysconfdir}/xrdp %dir %{_sysconfdir}/xrdp/pulse %dir %{_datadir}/xrdp %config(noreplace) %{_sysconfdir}/xrdp/xrdp.ini %config(noreplace) %{_sysconfdir}/pam.d/xrdp-sesman %config(noreplace) %{_sysconfdir}/logrotate.d/xrdp %config(noreplace) %{_sysconfdir}/sysconfig/xrdp %config(noreplace) %{_sysconfdir}/xrdp/sesman.ini %{_sysconfdir}/xrdp/*.sh %{_sysconfdir}/xrdp/km*.ini %{_sysconfdir}/xrdp/xrdp_keyboard.ini %{_bindir}/xrdp-genkeymap %{_bindir}/xrdp-sesadmin %{_bindir}/xrdp-keygen %{_bindir}/xrdp-sesrun # %{_bindir}/xrdp-sestest %{_bindir}/xrdp-dis %{_sbindir}/xrdp-chansrv %{_sbindir}/xrdp %{_sbindir}/xrdp-sesman %{_sbindir}/xrdp-sessvc %{_datadir}/xrdp/ad256.bmp %{_datadir}/xrdp/cursor0.cur %{_datadir}/xrdp/cursor1.cur %{_datadir}/xrdp/xrdp256.bmp %{_datadir}/xrdp/sans-10.fv1 %{_datadir}/xrdp/ad24b.bmp %{_datadir}/xrdp/xrdp24b.bmp %{_datadir}/xrdp/xrdp_logo.bmp %{_mandir}/man5/* %{_mandir}/man8/* %{_mandir}/man1/* %{_libdir}/xrdp/lib*.so.* %{_libdir}/xrdp/libcommon.so %{_libdir}/xrdp/libmc.so %{_libdir}/xrdp/librdp.so %{_libdir}/xrdp/libscp.so %{_libdir}/xrdp/libvnc.so %{_libdir}/xrdp/libxrdp.so %{_libdir}/xrdp/libxup.so %{_libdir}/xrdp/libxrdpapi.so %{_sysconfdir}/xrdp/pulse/default.pa %{_unitdir}/xrdp-sesman.service %{_unitdir}/xrdp.service %ghost %{_localstatedir}/log/xrdp-sesman.log %attr(0600,root,root) %verify(not size md5 mtime) %{_sysconfdir}/xrdp/rsakeys.ini