+# TODO:
+# - default config does not work with inetd configuration
#
+# Conditional build:
+%bcond_with clamav #ClamAV scanning support
+
%define _ftpdir /home/services/ftp
-#
Summary: vsftpd - Very Secure FTP Daemon
-Summary(pl): Bardzo Bezpieczny Demon FTP
-Summary(pt_BR): vsftpd - Daemon FTP Muito Seguro
+Summary(pl.UTF-8): Bardzo Bezpieczny Demon FTP
+Summary(pt_BR.UTF-8): vsftpd - Daemon FTP Muito Seguro
Name: vsftpd
-Version: 2.0.3
-Release: 2
+Version: 2.3.4
+Release: 1
License: GPL v2
Group: Daemons
Source0: ftp://vsftpd.beasts.org/users/cevans/%{name}-%{version}.tar.gz
-# Source0-md5: 74936cbd8e8251deb1cd99c5fb18b6f8
+# Source0-md5: 2ea5d19978710527bb7444d93b67767a
Source1: %{name}.inetd
Source2: %{name}.pamd
Source3: %{name}-ftpusers
Source5: %{name}.init
Patch0: %{name}-builddefs.patch
Patch1: %{name}-amd64-findlibs.patch
+Patch2: %{name}-clamav.patch
+Patch3: %{name}-switch_sha256_to_sha1.patch
URL: http://vsftpd.beasts.org/
BuildRequires: libcap-devel
BuildRequires: libwrap-devel
+%if "%{pld_release}" == "ac"
BuildRequires: openssl-devel >= 0.9.7d
-Requires: FHS >= 2.3
-Requires: pam >= 0.77.3
+%else
+BuildRequires: openssl-devel >= 0.9.8
+%endif
+BuildRequires: rpmbuild(macros) >= 1.268
Requires: %{name}-init = %{version}-%{release}
+Requires: filesystem >= 3.0-11
+Requires: pam >= 0.77.3
Provides: ftpserver
-Obsoletes: ftpserver
-Obsoletes: anonftp
-Obsoletes: bftpd
-Obsoletes: ftpd-BSD
-Obsoletes: glftpd
-Obsoletes: heimdal-ftpd
-Obsoletes: linux-ftpd
-Obsoletes: muddleftpd
-Obsoletes: proftpd
-Obsoletes: proftpd-common
-Obsoletes: proftpd-inetd
-Obsoletes: proftpd-standalone
-Obsoletes: pure-ftpd
-Obsoletes: troll-ftpd
-Obsoletes: wu-ftpd
Conflicts: man-pages < 1.51
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
A Very Secure FTP Daemon - written from scratch - by Chris "One Man
Security Audit Team" Evans.
-%description -l pl
+%description -l pl.UTF-8
Bardzo Bezpieczny Demon FTP - napisany od zera przez Chrisa "One Man
Security Audit Team" Evansa.
-%description -l pt_BR
+%description -l pt_BR.UTF-8
A Very Secure FTP Daemon (vsftpd) - escrito do zero - por Chris "One
Man Security Audit Team" Evans.
%package inetd
Summary: vsftpd - Very Secure FTP Daemon
-Summary(pl): Bardzo Bezpieczny Demon FTP
-Summary(pt_BR): vsftpd - Daemon FTP Muito Seguro
+Summary(pl.UTF-8): Bardzo Bezpieczny Demon FTP
+Summary(pt_BR.UTF-8): vsftpd - Daemon FTP Muito Seguro
Group: Networking/Daemons
Requires: %{name} = %{version}-%{release}
Requires: rc-inetd
Provides: %{name}-init = %{version}-%{release}
-Obsoletes: %{name}-standalone
+Obsoletes: vsftpd-standalone
Conflicts: %{name} <= 2.0.3-1
%description inetd
This package allows to start vsftpd as inetd service.
-%description inetd -l pl
-Ten pakiet pozwala na wystartowanie vsftpd jako us³ugi inetd.
+%description inetd -l pl.UTF-8
+Ten pakiet pozwala na wystartowanie vsftpd jako usługi inetd.
%package standalone
Summary: vsftpd - Very Secure FTP Daemon
-Summary(pl): Bardzo Bezpieczny Demon FTP
-Summary(pt_BR): vsftpd - Daemon FTP Muito Seguro
+Summary(pl.UTF-8): Bardzo Bezpieczny Demon FTP
+Summary(pt_BR.UTF-8): vsftpd - Daemon FTP Muito Seguro
Group: Networking/Daemons
Requires(post,preun): /sbin/chkconfig
Requires: %{name} = %{version}-%{release}
Requires: rc-scripts
Provides: %{name}-init = %{version}-%{release}
-Obsoletes: %{name}-inetd
+Obsoletes: vsftpd-inetd
Conflicts: %{name} <= 2.0.3-1
%description standalone
This package allows to start vsftpd as standalone daemon.
-%description standalone -l pl
+%description standalone -l pl.UTF-8
Ten pakiet pozwala na wystartowanie vsftpd jako samodzielnego demona.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
+%if %{with clamav}
+%patch2 -p1
+%endif
+%if "%{pld_release}" == "ac"
+%patch3 -p1
+%endif
%build
%{__make} \
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sbindir},%{_datadir}/empty,%{_mandir}/man{5,8}} \
+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{%{_ftpdir}/pub/incoming,/var/log}
> $RPM_BUILD_ROOT/var/log/vsftpd.log
bzip2 -dc %{SOURCE4} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
+rm -f $RPM_BUILD_ROOT/usr/share/man/ftpusers-path.diff
%clean
rm -rf $RPM_BUILD_ROOT
chmod 640 /var/log/vsftpd.log
%post inetd
-if [ -f /var/lock/subsys/rc-inetd ]; then
- /etc/rc.d/init.d/rc-inetd reload 1>&2
-else
- echo "Type \"/etc/rc.d/init.d/rc-inetd start\" to start inet server" 1>&2
-fi
+%service -q rc-inetd reload
%postun inetd
-if [ "$1" = "0" -a -f /var/lock/subsys/rc-inetd ]; then
- /etc/rc.d/init.d/rc-inetd reload 1>&2
+if [ "$1" = "0" ]; then
+ %service -q rc-inetd reload
fi
%post standalone
/sbin/chkconfig --add %{name}
-if [ -f /var/lock/subsys/vsftpd ]; then
- /etc/rc.d/init.d/vsftpd restart 1>&2
-else
- echo "Type \"/etc/rc.d/init.d/vsftpd start\" to start vsftpd server" 1>&2
-fi
+%service vsftpd restart "vsftpd server"
%preun standalone
if [ "$1" = "0" ]; then
- if [ -f /var/lock/subsys/vsftpd ]; then
- /etc/rc.d/init.d/vsftpd stop >&2
- fi
+ %service vsftpd stop
/sbin/chkconfig --del %{name}
fi
%files
%defattr(644,root,root,755)
-%doc AUDIT BENCHMARKS BUGS Changelog FAQ README REWARD SIZE SPEED TODO TUNING EXAMPLE SECURITY
+%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
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/ftp