-# _without_mysql - disable MySQL auth but disables PAM auth
-# _without_ldap - disable LDAP auth
-# _without_pgsql - disable PostgreSQL support
-# _without_tls - support SSL/TLS
+%bcond_with extra # with additional, maybe useful, but unmaintained features
+%bcond_without ldap # disable LDAP auth
+%bcond_without longusername # with username length = 128 (default 32)
+%bcond_without mysql # disable MySQL auth but disables PAM auth
+%bcond_without pgsql # disable PostgreSQL support
+%bcond_without puredb # disable pure-db support
+%bcond_without tls # disable SSL/TLS support
#
Summary: Small, fast and secure FTP server
Summary(pl): Ma³y, szybki i bezpieczny serwer FTP
Name: pure-ftpd
#
Summary: Small, fast and secure FTP server
Summary(pl): Ma³y, szybki i bezpieczny serwer FTP
Name: pure-ftpd
+Source4: http://twittner.host.sk/files/pure-config/pure-config-20041201.tar.gz
+# Source4-md5: 3f2ff6b00b5c38ee11ce588ee5af6cf6
+Patch0: %{name}-config.patch
+Patch1: %{name}-path_to_ssl_cert_in_config.patch
+Patch2: %{name}-pure-pw_passwd.patch
+Patch3: %{name}-userlength.patch
+Patch4: %{name}-mysql_config.patch
+Patch5: %{name}-nosymlinks-hideuidmismatch.patch
-%{!?_without_mysql:BuildRequires: mysql-devel}
-%{!?_without_ldap:BuildRequires: openldap-devel}
-%{!?_without_tls:BuildRequires: openssl-devel}
-%{!?_without_pgsql:BuildRequires: postgresql-devel}
+%{?with_extra:BuildRequires: libcfg+-devel >= 0.6.2}
+%{?with_ldap:BuildRequires: openldap-devel}
+%{?with_mysql:BuildRequires: mysql-devel}
+%{?with_pgsql:BuildRequires: postgresql-devel}
+%{?with_tls:BuildRequires: openssl-devel}
FTP bazuj±cy na Troll-FTPd. W przeciwieñstwie do innych serwerów FTP
nie ma znanych luk w bezpieczeñstwie. Ponadto jest trywialny w
konfiguracji i specjalnie zaprojektowany dla nowych kerneli Linuksa
FTP bazuj±cy na Troll-FTPd. W przeciwieñstwie do innych serwerów FTP
nie ma znanych luk w bezpieczeñstwie. Ponadto jest trywialny w
konfiguracji i specjalnie zaprojektowany dla nowych kerneli Linuksa
-(setfsuid, sendfile, capabilibies). Mo¿liwo¶ci to wsparcie dla PAMa,
+(setfsuid, sendfile, capabilibies). Mo¿liwo¶ci to wsparcie dla PAM-a,
IPv6, chroot()owanych katalogów domowych, virtualne domeny, wbudowany
LS, system anty-warezowy, ograniczanie portów dla pasywnych
po³±czeñ...
%prep
IPv6, chroot()owanych katalogów domowych, virtualne domeny, wbudowany
LS, system anty-warezowy, ograniczanie portów dla pasywnych
po³±czeñ...
%prep
+ %{?with_ldap:--with-ldap} \
+ %{?with_mysql:CPPFLAGS="-I%{_includedir}/mysql" --with-mysql} \
+ --with-pam \
+ --with-peruserlimits \
+ %{?with_pgsql:--with-pgsql} \
+ --with-privsep \
+ %{?with_puredb:--with-puredb} \
+ --with-quotas \
+ --with-ratios \
+ --with-throttling \
+ %{?with_tls:--with-tls --with-certfile=%{_sharedstatedir}/openssl/certs/ftpd.pem} \
- --with-diraliases \
- --with-peruserlimits \
- %{!?_without_mysql:CPPFLAGS="-I%{_includedir}/mysql" --with-mysql} \
- %{!?_without_pgsql:--with-pgsql} \
- %{!?_without_ldap:--with-ldap} \
- %{!?_without_tls: --with-tls} \
- --with-language=english \
- --with-privsep
-
-echo '#define TLS_CERTIFICATE_PATH "%{_sysconfdir}/ssl/pure-ftpd.pem"' >> config.h
+ --with-virtualhosts
+
+%if %{with extra}
+cd pure-config
+%{__aclocal}
+%{__autoconf}
+%{__autoheader}
+%{__automake}
+%configure
+%{__make}
+%endif
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/etc/{pam.d,sysconfig,security,rc.d/init.d} \
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/etc/{pam.d,sysconfig,security,rc.d/init.d} \
install %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/%{name}
install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
install %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/%{name}
install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
-%{!?_without_ldap:install pureftpd-ldap.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-ldap.conf}
-%{!?_without_mysql:install pureftpd-mysql.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-mysql.conf}
-%{!?_without_pgsql:install pureftpd-pgsql.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-pgsql.conf}
+%{?with_ldap:install pureftpd-ldap.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-ldap.conf}
+%{?with_mysql:install pureftpd-mysql.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-mysql.conf}
+%{?with_pgsql:install pureftpd-pgsql.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-pgsql.conf}
touch $RPM_BUILD_ROOT/etc/security/blacklist.ftp
ln -s vhosts $RPM_BUILD_ROOT%{_sysconfdir}/pure-ftpd
bzip2 -dc %{SOURCE3} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
touch $RPM_BUILD_ROOT/etc/security/blacklist.ftp
ln -s vhosts $RPM_BUILD_ROOT%{_sysconfdir}/pure-ftpd
bzip2 -dc %{SOURCE3} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
%files
%defattr(644,root,root,755)
%files
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/*
%attr(755,root,root) %{_sbindir}/*
%attr(754,root,root) /etc/rc.d/init.d/%{name}
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
%attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/security/blacklist.ftp
%attr(755,root,root) %{_bindir}/*
%attr(755,root,root) %{_sbindir}/*
%attr(754,root,root) /etc/rc.d/init.d/%{name}
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
%attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/security/blacklist.ftp
-%{!?_without_ldap:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-ldap.conf}
-%{!?_without_mysql:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-mysql.conf}
-%{!?_without_pgsql:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-pgsql.conf}
+%{?with_ldap:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-ldap.conf}
+%{?with_mysql:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-mysql.conf}
+%{?with_pgsql:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-pgsql.conf}
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd.conf
%attr(710,root,ftp) %dir %{_sysconfdir}
%dir %{_sysconfdir}/vhosts
%dir %{_sysconfdir}/pure-ftpd
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd.conf
%attr(710,root,ftp) %dir %{_sysconfdir}
%dir %{_sysconfdir}/vhosts
%dir %{_sysconfdir}/pure-ftpd