%bcond_with clamav # ClamAV scanning support
%define _ftpdir /home/services/ftp
+
Summary: vsftpd - Very Secure FTP Daemon
Summary(pl.UTF-8): Bardzo Bezpieczny Demon FTP
Summary(pt_BR.UTF-8): vsftpd - Daemon FTP Muito Seguro
Name: vsftpd
Version: 3.0.3
-Release: 1
+Release: 2
License: GPL v2
Group: Daemons
Source0: https://security.appspot.com/downloads/%{name}-%{version}.tar.gz
Patch0: %{name}-builddefs.patch
Patch1: %{name}-amd64-findlibs.patch
Patch2: %{name}-clamav.patch
-Patch3: %{name}-switch_sha256_to_sha1.patch
-Patch4: %{name}-findlibs-egrep.patch
+Patch3: %{name}-findlibs-egrep.patch
+Patch4: %{name}-configdir.patch
URL: https://security.appspot.com/vsftpd.html
BuildRequires: libcap-devel
BuildRequires: libwrap-devel
-%if "%{pld_release}" == "ac"
-BuildRequires: openssl-devel >= 0.9.7d
-%else
BuildRequires: openssl-devel >= 0.9.8
-%endif
BuildRequires: rpmbuild(macros) >= 1.268
Requires: %{name}-init = %{version}-%{release}
Requires: filesystem >= 3.0-11
%if %{with clamav}
%patch2 -p1
%endif
-%if "%{pld_release}" == "ac"
%patch3 -p1
-%endif
%patch4 -p1
%build
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man{5,8}} \
- $RPM_BUILD_ROOT/etc/{pam.d,sysconfig/rc-inetd,logrotate.d,ftpd,rc.d/init.d} \
+ $RPM_BUILD_ROOT/etc/{pam.d,sysconfig/rc-inetd,logrotate.d,vsftpd,rc.d/init.d} \
$RPM_BUILD_ROOT{%{_ftpdir}/pub/incoming,/var/log}
install -p vsftpd $RPM_BUILD_ROOT%{_sbindir}/vsftpd
-cp -p vsftpd.conf $RPM_BUILD_ROOT%{_sysconfdir}/vsftpd.conf
+cp -p vsftpd.conf $RPM_BUILD_ROOT%{_sysconfdir}/vsftpd/vsftpd.conf
cp -p vsftpd.conf.5 $RPM_BUILD_ROOT%{_mandir}/man5/vsftpd.conf.5
cp -p vsftpd.8 $RPM_BUILD_ROOT%{_mandir}/man8/vsftpd.8
cp -p RedHat/vsftpd.log $RPM_BUILD_ROOT/etc/logrotate.d/vsftpd
install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/vsftpd
cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/ftp
-cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/ftpd/ftpusers
+cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/vsftpd/ftpusers
install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vsftpd
> $RPM_BUILD_ROOT/var/log/vsftpd.log
%service -q vsftpd restart
fi
+%triggerun -- %{name} < 3.0.3-2
+if [ $1 -le 1 ]; then
+ exit 0
+fi
+[ -d /etc/vsftpd ] || mkdir /etc/vsftpd 2>/dev/null || :
+for f in /etc/{vsftpd.{conf,banned_emails,chroot_list,email_passwords,user_list},ftpd/ftpusers}; do
+ [ -f "$f" ] && mv "$f" /etc/vsftpd 2>/dev/null || :
+done
+find /etc/vsftpd -type f 2>/dev/null | xargs sed -i -e 's|/etc/ftpd|/etc/vsftpd|g' 2>/dev/null
+[ -n "$(find /etc/ftpd -type d -empty 2>/dev/null)" ] && rmdir /etc/ftpd 2>/dev/null || :
+
+%triggerpostun -- %{name} < 3.0.3-2
+echo
+echo "Warning! Configuration has been migrated to /etc/vsftpd."
+echo
+
%files
%defattr(644,root,root,755)
%doc AUDIT BENCHMARKS BUGS Changelog FAQ README README.ssl REWARD SIZE SPEED TODO TUNING EXAMPLE SECURITY
%attr(755,root,root) %{_sbindir}/vsftpd
-%dir %attr(750,root,ftp) %dir %{_sysconfdir}/ftpd
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vsftpd.conf
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ftpd/ftpusers
+%dir %attr(750,root,ftp) %dir %{_sysconfdir}/vsftpd
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vsftpd/vsftpd.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vsftpd/ftpusers
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/ftp
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/vsftpd
%attr(640,root,root) %ghost /var/log/vsftpd.log