From f76d2e2c012e9216a1b00dee15c4ce6528422161 Mon Sep 17 00:00:00 2001 From: Paul Howarth Date: Aug 03 2009 12:46:15 +0000 Subject: Sync with devel --- diff --git a/.cvsignore b/.cvsignore index 56ab944..421c8fc 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -proftpd-1.3.2.tar.bz2 +proftpd-1.3.2a.tar.bz2 diff --git a/proftpd-1.3.1-find-umode_t.patch b/proftpd-1.3.1-find-umode_t.patch deleted file mode 100644 index d54bbfe..0000000 --- a/proftpd-1.3.1-find-umode_t.patch +++ /dev/null @@ -1,191 +0,0 @@ ---- proftpd-1.3.1/configure.in 2007-05-22 21:54:09.000000000 +0100 -+++ proftpd-1.3.1/configure.in 2007-12-10 15:33:27.000000000 +0000 -@@ -1067,6 +1067,7 @@ - AC_CHECK_HEADERS(regex.h) - AC_CHECK_HEADER(syslog.h,have_syslog_h="yes",) - AC_CHECK_HEADERS(curses.h ncurses.h) -+AC_CHECK_HEADERS(signal.h) - - dnl Check for the presence of the tzname, timezone, and daylight global - dnl variables. ---- proftpd-1.3.1/configure 2007-05-22 22:01:32.000000000 +0100 -+++ proftpd-1.3.1/configure 2007-12-10 16:07:30.000000000 +0000 -@@ -26922,6 +26922,155 @@ - done - - -+for ac_header in signal.h -+do -+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -+if eval "test \"\${$as_ac_Header+set}\" = set"; then -+ echo "$as_me:$LINENO: checking for $ac_header" >&5 -+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -+if eval "test \"\${$as_ac_Header+set}\" = set"; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+fi -+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -+else -+ # Is the header compilable? -+echo "$as_me:$LINENO: checking $ac_header usability" >&5 -+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+$ac_includes_default -+#include <$ac_header> -+_ACEOF -+rm -f conftest.$ac_objext -+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_header_compiler=yes -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ac_header_compiler=no -+fi -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -+echo "${ECHO_T}$ac_header_compiler" >&6 -+ -+# Is the header present? -+echo "$as_me:$LINENO: checking $ac_header presence" >&5 -+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+#include <$ac_header> -+_ACEOF -+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 -+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null; then -+ if test -s conftest.err; then -+ ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag -+ else -+ ac_cpp_err= -+ fi -+else -+ ac_cpp_err=yes -+fi -+if test -z "$ac_cpp_err"; then -+ ac_header_preproc=yes -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_header_preproc=no -+fi -+rm -f conftest.err conftest.$ac_ext -+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -+echo "${ECHO_T}$ac_header_preproc" >&6 -+ -+# So? What about this header? -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) -+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes -+ ;; -+ no:yes:* ) -+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} -+ ( -+ cat <<\_ASBOX -+## ------------------------------------------ ## -+## Report this to the AC_PACKAGE_NAME lists. ## -+## ------------------------------------------ ## -+_ASBOX -+ ) | -+ sed "s/^/$as_me: WARNING: /" >&2 -+ ;; -+esac -+echo "$as_me:$LINENO: checking for $ac_header" >&5 -+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -+if eval "test \"\${$as_ac_Header+set}\" = set"; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ eval "$as_ac_Header=\$ac_header_preproc" -+fi -+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -+ -+fi -+if test `eval echo '${'$as_ac_Header'}'` = yes; then -+ cat >>confdefs.h <<_ACEOF -+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -+_ACEOF -+ -+fi -+ -+done -+ - echo "$as_me:$LINENO: checking for tzname global variable" >&5 - echo $ECHO_N "checking for tzname global variable... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -@@ -30643,6 +30792,9 @@ - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ - $ac_includes_default -+#if HAVE_SIGNAL_H -+#include -+#endif - int - main () - { ---- proftpd-1.3.1/include/conf.h 2007-01-18 02:48:32.000000000 +0000 -+++ proftpd-1.3.1/include/conf.h 2007-12-10 15:34:29.000000000 +0000 -@@ -71,6 +71,10 @@ - # include - #endif - -+#ifdef HAVE_SIGNAL_H -+# include -+#endif -+ - #ifdef HAVE_LIMITS_H - # include - #endif diff --git a/proftpd-1.3.2-parallel-build.patch b/proftpd-1.3.2-parallel-build.patch new file mode 100644 index 0000000..cea1c40 --- /dev/null +++ b/proftpd-1.3.2-parallel-build.patch @@ -0,0 +1,20 @@ +diff -ru proftpd-1.3.2-orig/Makefile.in proftpd-1.3.2/Makefile.in +--- proftpd-1.3.2-orig/Makefile.in 2008-11-19 04:51:38.000000000 +0100 ++++ proftpd-1.3.2/Makefile.in 2009-02-16 14:28:43.000000000 +0100 +@@ -54,13 +54,13 @@ + proftpd$(EXEEXT): lib src modules dirs locale + $(LIBTOOL) --mode=link --tag=CC $(CC) $(LDFLAGS) $(MAIN_LDFLAGS) -o $@ $(BUILD_PROFTPD_OBJS) $(BUILD_PROFTPD_ARCHIVES) $(LIBS) $(MAIN_LIBS) + +-ftpcount$(EXEEXT): utils ++ftpcount$(EXEEXT): lib utils + $(CC) $(LDFLAGS) -o $@ $(BUILD_FTPCOUNT_OBJS) $(UTILS_LIBS) + +-ftpdctl$(EXEEXT): src ++ftpdctl$(EXEEXT): lib src + $(CC) $(LDFLAGS) -o $@ $(BUILD_FTPDCTL_OBJS) $(LIBS) + +-ftpshut$(EXEEXT): utils ++ftpshut$(EXEEXT): lib utils + $(CC) $(LDFLAGS) -o $@ $(BUILD_FTPSHUT_OBJS) $(UTILS_LIBS) + + ftptop$(EXEEXT): lib utils diff --git a/proftpd-1.3.2a-defines.patch b/proftpd-1.3.2a-defines.patch new file mode 100644 index 0000000..a293e05 --- /dev/null +++ b/proftpd-1.3.2a-defines.patch @@ -0,0 +1,22 @@ +http://bugs.proftpd.org/show_bug.cgi?id=3221 + +--- proftpd-1.3.2a/src/dirtree.c 2009-04-28 23:33:57.000000000 +0100 ++++ proftpd-1.3.2a/src/dirtree.c 2009-07-06 12:06:51.000000000 +0100 +@@ -575,6 +575,17 @@ + } + } + ++ if (defines_perm_list) { ++ char **defines = defines_perm_list->elts; ++ register unsigned int i = 0; ++ ++ for (i = 0; i < defines_perm_list->nelts; i++) { ++ if (defines[i] && ++ strcmp(defines[i], definition) == 0) ++ return TRUE; ++ } ++ } ++ + errno = ENOENT; + return FALSE; + } diff --git a/proftpd-1.3.2rc3-nostrip.patch b/proftpd-1.3.2rc3-nostrip.patch new file mode 100644 index 0000000..0a75de4 --- /dev/null +++ b/proftpd-1.3.2rc3-nostrip.patch @@ -0,0 +1,36 @@ +Removing @INSTALL_STRIP@ prevents stripping of debuginfo at %install time + +Cleaning up top_srcdir prevents debuginfo package creation fails like this: +/usr/lib/rpm/debugedit: canonicalization unexpectedly shrank by one character + +--- proftpd-1.3.2rc3/Make.rules.in 2009-01-08 16:54:26.000000000 +0000 ++++ proftpd-1.3.2rc3/Make.rules.in 2009-01-08 16:54:48.000000000 +0000 +@@ -29,8 +29,8 @@ + INSTALL=@INSTALL@ + INSTALL_USER=@install_user@ + INSTALL_GROUP=@install_group@ +-INSTALL_BIN=$(INSTALL) @INSTALL_STRIP@ -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 +-INSTALL_SBIN=$(INSTALL) @INSTALL_STRIP@ -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 ++INSTALL_BIN=$(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 ++INSTALL_SBIN=$(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 + INSTALL_MAN=$(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0644 + + RM=rm -f +--- proftpd-1.3.2rc3/contrib/mod_load/Makefile.in 2008-09-08 21:56:02.000000000 +0100 ++++ proftpd-1.3.2rc3/contrib/mod_load/Makefile.in 2009-01-08 20:37:26.000000000 +0000 +@@ -1,5 +1,5 @@ + top_builddir=../.. +-top_srcdir=../../ ++top_srcdir=../.. + srcdir=@srcdir@ + + include $(top_srcdir)/Make.rules +--- proftpd-1.3.2rc3/contrib/mod_wrap2/Makefile.in 2008-09-08 21:56:02.000000000 +0100 ++++ proftpd-1.3.2rc3/contrib/mod_wrap2/Makefile.in 2009-07-03 17:00:41.000000000 +0100 +@@ -1,5 +1,5 @@ + top_builddir=../.. +-top_srcdir=../../ ++top_srcdir=../.. + srcdir=@srcdir@ + + include $(top_srcdir)/Make.rules diff --git a/proftpd.conf b/proftpd.conf index e6c8f11..4ab3e6c 100644 --- a/proftpd.conf +++ b/proftpd.conf @@ -1,169 +1,239 @@ # This is the ProFTPD configuration file +# +# See: http://www.proftpd.org/docs/directives/linked/by-name.html + +# Server Config - config used for anything outside a or context +# See: http://www.proftpd.org/docs/howto/Vhost.html ServerName "ProFTPD server" ServerIdent on "FTP Server ready." ServerAdmin root@localhost -ServerType standalone -#ServerType inetd DefaultServer on -AccessGrantMsg "User %u logged in." -#DisplayConnect /etc/ftpissue -#DisplayLogin /etc/ftpmotd -#DisplayGoAway /etc/ftpgoaway -DeferWelcome off -# Use this to excude users from the chroot +# Cause every FTP user except adm to be chrooted into their home directory DefaultRoot ~ !adm # Use pam to authenticate (default) and be authoritative AuthPAMConfig proftpd AuthOrder mod_auth_pam.c* mod_auth_unix.c +# If you use NIS/YP/LDAP you may need to disable PersistentPasswd +#PersistentPasswd off -# Do not perform ident nor DNS lookups (hangs when the port is filtered) -IdentLookups off +# Don't do reverse DNS lookups (hangs on DNS problems) UseReverseDNS off -# Port 21 is the standard FTP port. -Port 21 - -# Umask 022 is a good standard umask to prevent new dirs and files -# from being group and world writable. -Umask 022 - -# Default to show dot files in directory listings -ListOptions "-a" - -# See Configuration.html for these (here are the default values) -#MultilineRFC2228 off -#RootLogin off -#LoginPasswordPrompt on -#MaxLoginAttempts 3 -#MaxClientsPerHost none -#AllowForeignAddress off # For FXP - -# Allow to resume not only the downloads but the uploads too -AllowRetrieveRestart on -AllowStoreRestart on +# Set the user and group that the server runs as +User nobody +Group nobody # To prevent DoS attacks, set the maximum number of child processes -# to 30. If you need to allow more than 30 concurrent connections +# to 20. If you need to allow more than 20 concurrent connections # at once, simply increase this value. Note that this ONLY works -# in standalone mode, in inetd mode you should use an inetd server +# in standalone mode; in inetd mode you should use an inetd server # that allows you to limit maximum number of processes per service # (such as xinetd) MaxInstances 20 -# Set the user and group that the server normally runs at. -User nobody -Group nobody - # Disable sendfile by default since it breaks displaying the download speeds in # ftptop and ftpwho -UseSendfile no - -# This is where we want to put the pid file -ScoreboardFile /var/run/proftpd.score - -# Normally, we want users to do a few things. - - AllowOverwrite yes - - AllowAll - - +UseSendfile off # Define the log formats LogFormat default "%h %l %u %t \"%r\" %s %b" LogFormat auth "%v [%P] %h %t \"%r\" %s" -# TLS -# Explained at http://www.castaglia.org/proftpd/modules/mod_tls.html -#TLSEngine on -#TLSRequired on -#TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem -#TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem -#TLSCipherSuite ALL:!ADH:!DES -#TLSOptions NoCertRequest -#TLSVerifyClient off -##TLSRenegotiate ctrl 3600 data 512000 required off timeout 300 -#TLSLog /var/log/proftpd/tls.log - -# SQL authentication Dynamic Shared Object (DSO) loading -# See README.DSO and howto/DSO.html for more details. -# -# LoadModule mod_ban.c -# LoadModule mod_ifsession.c -# LoadModule mod_quotatab.c -# LoadModule mod_quotatab_file.c -# LoadModule mod_sql.c -# LoadModule mod_sql_mysql.c -# LoadModule mod_sql_postgres.c -# - -# A basic anonymous configuration, with an upload directory. -# -# User ftp -# Group ftp -# AccessGrantMsg "Anonymous login ok, restrictions apply." -# -# # We want clients to be able to login with "anonymous" as well as "ftp" -# UserAlias anonymous ftp -# -# # Limit the maximum number of anonymous logins -# MaxClients 10 "Sorry, max %m users -- try again later" -# -# # Put the user into /pub right after login -# #DefaultChdir /pub -# -# # We want 'welcome.msg' displayed at login, '.message' displayed in -# # each newly chdired directory and tell users to read README* files. -# DisplayLogin /welcome.msg -# DisplayFirstChdir .message -# DisplayReadme README* -# -# # Some more cosmetic and not vital stuff -# DirFakeUser on ftp -# DirFakeGroup on ftp -# -# # Limit WRITE everywhere in the anonymous chroot -# -# DenyAll -# -# -# # An upload directory that allows storing files but not retrieving -# # or creating directories. -# -# AllowOverwrite no -# -# DenyAll -# -# -# -# AllowAll -# -# -# -# # Don't write anonymous accesses to the system wtmp file (good idea!) -# WtmpLog off -# -# # Logging for the anonymous transfers -# ExtendedLog /var/log/proftpd/access.log WRITE,READ default -# ExtendedLog /var/log/proftpd/auth.log AUTH auth -# -# - -# Configuration for mod_ban - - BanEngine on - BanLog /var/log/proftpd/ban.log - BanTable /var/run/proftpd/ban.tab +# Dynamic Shared Object (DSO) loading +# See README.DSO and howto/DSO.html for more details +# +# General database support (http://www.proftpd.org/docs/contrib/mod_sql.html) +# LoadModule mod_sql.c +# +# Mysql support (requires proftpd-mysql package) +# (http://www.proftpd.org/docs/contrib/mod_sql.html) +# LoadModule mod_sql_mysql.c +# +# Postgresql support (requires proftpd-postgresql package) +# (http://www.proftpd.org/docs/contrib/mod_sql.html) +# LoadModule mod_sql_postgres.c +# +# Quota support (http://www.proftpd.org/docs/contrib/mod_quotatab.html) +# LoadModule mod_quotatab.c +# +# File-specific "driver" for storing quota table information in files +# (http://www.proftpd.org/docs/contrib/mod_quotatab_file.html) +# LoadModule mod_quotatab_file.c +# +# SQL database "driver" for storing quota table information in SQL tables +# (http://www.proftpd.org/docs/contrib/mod_quotatab_sql.html) +# LoadModule mod_quotatab_sql.c +# +# LDAP support (requires proftpd-ldap package) +# (http://www.proftpd.org/docs/directives/linked/config_ref_mod_ldap.html) +# LoadModule mod_ldap.c +# +# LDAP quota support (requires proftpd-ldap package) +# (http://www.proftpd.org/docs/contrib/mod_quotatab_ldap.html) +# LoadModule mod_quotatab_ldap.c +# +# Support for authenticating users using the RADIUS protocol +# (http://www.proftpd.org/docs/contrib/mod_radius.html) +# LoadModule mod_radius.c +# +# Retrieve quota limit table information from a RADIUS server +# (http://www.proftpd.org/docs/contrib/mod_quotatab_radius.html) +# LoadModule mod_quotatab_radius.c +# +# Administrative control actions for the ftpdctl program +# (http://www.proftpd.org/docs/contrib/mod_ctrls_admin.html) +# LoadModule mod_ctrls_admin.c +# +# Support for POSIX ACLs +# (http://www.proftpd.org/docs/modules/mod_facl.html) +# LoadModule mod_facl.c +# +# Configure server availability based on system load +# (http://www.proftpd.org/docs/contrib/mod_load.html) +# LoadModule mod_load.c +# +# Limit downloads to a multiple of upload volume (see README.ratio) +# LoadModule mod_ratio.c +# +# Rewrite FTP commands sent by clients on-the-fly, +# using regular expression matching and substitution +# (http://www.proftpd.org/docs/contrib/mod_rewrite.html) +# LoadModule mod_rewrite.c +# +# Support for miscellaneous SITE commands such as SITE MKDIR, SITE SYMLINK, +# and SITE UTIME (http://www.proftpd.org/docs/contrib/mod_site_misc.html) +# LoadModule mod_site_misc.c +# +# Use the /etc/hosts.allow and /etc/hosts.deny files, or other allow/deny +# files, for IP-based access control +# (http://www.proftpd.org/docs/contrib/mod_wrap.html) +# LoadModule mod_wrap.c +# +# Use the /etc/hosts.allow and /etc/hosts.deny files, or other allow/deny +# files, as well as SQL-based access rules, for IP-based access control +# (http://www.proftpd.org/docs/contrib/mod_wrap2.html) +# LoadModule mod_wrap2.c +# +# Support module for mod_wrap2 that handles access rules stored in specially +# formatted files on disk +# (http://www.proftpd.org/docs/contrib/mod_wrap2_file.html) +# LoadModule mod_wrap2_file.c +# +# Support module for mod_wrap2 that handles access rules stored in SQL +# database tables (http://www.proftpd.org/docs/contrib/mod_wrap2_sql.html) +# LoadModule mod_wrap2_sql.c +# +# Provide a flexible way of specifying that certain configuration directives +# only apply to certain sessions, based on credentials such as connection +# class, user, or group membership +# (http://www.proftpd.org/docs/contrib/mod_ifsession.html) +# LoadModule mod_ifsession.c + +# TLS (http://www.castaglia.org/proftpd/modules/mod_tls.html) + + LoadModule mod_tls.c + TLSEngine on + TLSRequired on + TLSRSACertificateFile @PKIDIR@/certs/proftpd.pem + TLSRSACertificateKeyFile @PKIDIR@/certs/proftpd.pem + TLSCipherSuite ALL:!ADH:!DES + TLSOptions NoCertRequest + TLSVerifyClient off + #TLSRenegotiate ctrl 3600 data 512000 required off timeout 300 + TLSLog /var/log/proftpd/tls.log + + +# Dynamic ban lists (http://www.proftpd.org/docs/contrib/mod_ban.html) +# Enable this with PROFTPD_OPTIONS=-DDYNAMIC_BAN_LISTS in /etc/sysconfig/proftpd + + LoadModule mod_ban.c + BanEngine on + BanLog /var/log/proftpd/ban.log + BanTable /var/run/proftpd/ban.tab # If the same client reaches the MaxLoginAttempts limit 2 times # within 10 minutes, automatically add a ban for that client that # will expire after one hour. - BanOnEvent MaxLoginAttempts 2/00:10:00 01:00:00 + BanOnEvent MaxLoginAttempts 2/00:10:00 01:00:00 # Allow the FTP admin to manually add/remove bans - BanControlsACLs all allow user ftpadm - + BanControlsACLs all allow user ftpadm + + +# Global Config - config common to Server Config and all virtual hosts +# See: http://www.proftpd.org/docs/howto/Vhost.html + + + # Umask 022 is a good standard umask to prevent new dirs and files + # from being group and world writable + Umask 022 + + # Don't do ident queries (hangs when the port is filtered) + IdentLookups off + + # Allow users to overwrite files and change permissions + AllowOverwrite yes + + AllowAll + + + + +# A basic anonymous configuration, with an upload directory +# Enable this with PROFTPD_OPTIONS=-DANONYMOUS_FTP in /etc/sysconfig/proftpd + + + User ftp + Group ftp + AccessGrantMsg "Anonymous login ok, restrictions apply." + + # We want clients to be able to login with "anonymous" as well as "ftp" + UserAlias anonymous ftp + + # Limit the maximum number of anonymous logins + MaxClients 10 "Sorry, max %m users -- try again later" + + # Put the user into /pub right after login + #DefaultChdir /pub + + # We want 'welcome.msg' displayed at login, '.message' displayed in + # each newly chdired directory and tell users to read README* files. + DisplayLogin /welcome.msg + DisplayChdir .message + DisplayReadme README* + + # Cosmetic option to make all files appear to be owned by user "ftp" + DirFakeUser on ftp + DirFakeGroup on ftp + + # Limit WRITE everywhere in the anonymous chroot + + DenyAll + + + # An upload directory that allows storing files but not retrieving + # or creating directories. + + AllowOverwrite no + + DenyAll + + + + AllowAll + + + + # Don't write anonymous accesses to the system wtmp file (good idea!) + WtmpLog off + + # Logging for the anonymous transfers + ExtendedLog /var/log/proftpd/access.log WRITE,READ default + ExtendedLog /var/log/proftpd/auth.log AUTH auth + + + diff --git a/proftpd.init b/proftpd.init index 9bd3a50..11bb674 100755 --- a/proftpd.init +++ b/proftpd.init @@ -33,10 +33,16 @@ # Source networking configuration. . /etc/sysconfig/network +# Source ProFTPD configuration. +PROFTPD_OPTIONS="" +if [ -f /etc/sysconfig/proftpd ]; then + . /etc/sysconfig/proftpd +fi + # Check that networking is up. -[ ${NETWORKING} = "no" ] && exit 0 +[ ${NETWORKING} = "no" ] && exit 1 -[ -x /usr/sbin/proftpd ] || exit 0 +[ -x /usr/sbin/proftpd ] || exit 5 RETVAL=0 @@ -44,7 +50,7 @@ prog="proftpd" start() { echo -n $"Starting $prog: " - daemon proftpd 2>/dev/null + daemon proftpd $PROFTPD_OPTIONS 2>/dev/null RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd diff --git a/proftpd.pam b/proftpd.pam index e10220f..9623bb9 100644 --- a/proftpd.pam +++ b/proftpd.pam @@ -1,6 +1,9 @@ #%PAM-1.0 +session optional pam_keyinit.so force revoke auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed -auth required pam_stack.so service=system-auth auth required pam_shells.so -account required pam_stack.so service=system-auth -session required pam_stack.so service=system-auth +auth include system-auth +account include system-auth +# Comment the following line if you are having PAM issues with chrooted users +session include system-auth +session required pam_loginuid.so diff --git a/proftpd.spec b/proftpd.spec index b8ffe2b..3bcf498 100644 --- a/proftpd.spec +++ b/proftpd.spec @@ -1,39 +1,42 @@ -#define prever rc3 - -Summary: Flexible, stable and highly-configurable FTP server -Name: proftpd -Version: 1.3.2 -Release: 1%{?prever:.%{prever}}%{?dist} -License: GPLv2+ -Group: System Environment/Daemons -URL: http://www.proftpd.org/ -Source0: ftp://ftp.proftpd.org/distrib/source/proftpd-%{version}%{?prever}.tar.bz2 -Source1: proftpd.conf -Source2: proftpd.init -Source3: proftpd-xinetd -Source4: proftpd.logrotate -Source5: proftpd-welcome.msg -Source6: proftpd.pam -Source7: proftpd-mod_quotatab_ldap.ldif -Source8: proftpd-mod_quotatab_ldap.schema -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root -Requires: pam >= 0.59 -Requires(post): /sbin/chkconfig -Requires(preun): /sbin/service, /sbin/chkconfig -Requires(postun): /sbin/service -BuildRequires: pam-devel, ncurses-devel, pkgconfig -BuildRequires: openssl-devel, krb5-devel, libacl-devel -BuildRequires: zlib-devel -# On RHEL (up to 5 included), the devel part was still in tcp_wrappers -%if 0%{?rhel} <= 5 -BuildRequires: tcp_wrappers +# Use certs in %{_sysconfdir}/pki/tls/certs if available (FC4, RHEL5 onwards) +%global use_pki %(if [ -d %{_sysconfdir}/pki/tls/certs ]; then echo 1; else echo 0; fi) +%if %{use_pki} +%global pkidir %{_sysconfdir}/pki/tls %else -BuildRequires: tcp_wrappers-devel +%global pkidir %{_datadir}/ssl %endif -BuildRequires: openldap-devel -BuildRequires: mysql-devel -BuildRequires: postgresql-devel -Provides: ftpserver + +#global prever rc3 +%global rpmrel 2 + +Summary: Flexible, stable and highly-configurable FTP server +Name: proftpd +Version: 1.3.2a +Release: %{?prever:0.}%{rpmrel}%{?prever:.%{prever}}%{?dist} +License: GPLv2+ +Group: System Environment/Daemons +URL: http://www.proftpd.org/ +Source0: ftp://ftp.proftpd.org/distrib/source/proftpd-%{version}%{?prever}.tar.bz2 +Source1: proftpd.conf +Source2: proftpd.init +Source3: proftpd-xinetd +Source4: proftpd.logrotate +Source5: proftpd-welcome.msg +Source6: proftpd.pam +Source7: proftpd-mod_quotatab_ldap.ldif +Source8: proftpd-mod_quotatab_ldap.schema +Source9: proftpd.sysconfig +Patch0: proftpd-1.3.2rc3-nostrip.patch +Patch1: proftpd-1.3.2a-defines.patch +Patch2: proftpd-1.3.2-parallel-build.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +Requires(post): /sbin/chkconfig +Requires(preun): /sbin/service, /sbin/chkconfig, coreutils, findutils +Requires(postun): /sbin/service +BuildRequires: pam-devel, ncurses-devel, pkgconfig, gettext, zlib-devel +BuildRequires: openssl-devel, libacl-devel, libcap-devel, /usr/include/tcpd.h +BuildRequires: openldap-devel, mysql-devel, postgresql-devel +Provides: ftpserver %description ProFTPD is an enhanced FTP server with a focus toward simplicity, security, @@ -47,27 +50,27 @@ needed scripts to have it run by xinetd instead are included. %package ldap -Summary: Module to add LDAP support to the ProFTPD FTP server -Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Summary: Module to add LDAP support to the ProFTPD FTP server +Group: System Environment/Daemons +Requires: %{name} = %{version}-%{release} %description ldap Module to add LDAP support to the ProFTPD FTP server. %package mysql -Summary: Module to add MySQL support to the ProFTPD FTP server -Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Summary: Module to add MySQL support to the ProFTPD FTP server +Group: System Environment/Daemons +Requires: %{name} = %{version}-%{release} %description mysql Module to add MySQL support to the ProFTPD FTP server. %package postgresql -Summary: Module to add PostgreSQL support to the ProFTPD FTP server -Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Summary: Module to add PostgreSQL support to the ProFTPD FTP server +Group: System Environment/Daemons +Requires: %{name} = %{version}-%{release} %description postgresql Module to add PostgreSQL support to the ProFTPD FTP server. @@ -76,52 +79,94 @@ Module to add PostgreSQL support to the ProFTPD FTP server. %prep %setup -q -n %{name}-%{version}%{?prever} +# Don't strip binaries - needed for useful debuginfo +%patch0 -p1 -b .nostrip + +# Reinstate command-line defines (http://bugs.proftpd.org/3221) +%patch1 -p1 -b .defines + +# Fix parallel build (http://bugs.proftpd.org/3189) +%patch2 -p1 -b .parallel + +# Avoid documentation name conflicts +%{__mv} contrib/README contrib/README.contrib + +# Set up directory names in config file +%{__sed} -e 's#@PKIDIR@#%{pkidir}#g' \ + %{SOURCE1} > proftpd.conf + +# Avoid docfile dependencies +%{__chmod} -x contrib/xferstats.holger-preiss + +# Copy in LDAP schema/LDIF +%{__cp} -p %{SOURCE7} 70proftpd-quota.ldif +%{__cp} -p %{SOURCE8} proftpd-quota.schema + +# PAM Configuration: +# The "include" syntax used in our PAM configuration file was introduced in +# PAM 0.78 and is therefore supported in FC-5 and EL-5 onwards; older +# distributions such as EL-4 (PAM 0.77) need to fall back to using the +# now-deprecated pam_stack module. Since the pam-devel package doesn't +# include a pkgconfig file from whice we could check the version number, we +# instead check for the absence of the file /etc/pam.d/config-util, which is +# present in all PAM packages from 0.80 onwards and acts as a useful +# indicator of the need to fall back to pam_stack. +%{__cp} -p %{SOURCE6} . +[ ! -f /etc/pam.d/config-util ] && %{__sed} -i -e \ + 's/include[[:space:]]*system-auth/required'\ \ \ \ \ 'pam_stack.so service=system-auth/' \ + proftpd.pam + +# Fix character encoding in docs +for f in ChangeLog; do + /usr/bin/iconv -f iso-8859-1 -t utf-8 < ${f} > ${f}.utf-8 + %{__mv} -f ${f}.utf-8 ${f} +done %build -# Disable stripping in order to get useful debuginfo packages -%{__perl} -pi -e 's|"-s"|""|g' configure + +# Modules to be built as DSO's (excluding mod_ifsession, always specified last) +SMOD1=mod_sql:mod_sql_mysql:mod_sql_postgres +SMOD2=mod_quotatab:mod_quotatab_file:mod_quotatab_ldap:mod_quotatab_radius:mod_quotatab_sql +SMOD3=mod_ldap:mod_ban:mod_wrap:mod_ctrls_admin:mod_facl:mod_load +SMOD4=mod_radius:mod_ratio:mod_rewrite:mod_site_misc +SMOD5=mod_wrap2:mod_wrap2_file:mod_wrap2_sql %configure \ - --libexecdir="%{_libexecdir}/proftpd" \ - --localstatedir="%{_var}/run" \ - --enable-ctrls \ - --enable-facl \ - --enable-dso \ - --enable-ipv6 \ - --enable-shadow \ - --enable-openssl \ - --with-libraries="%{_libdir}/mysql" \ - --with-includes="%{_includedir}/mysql" \ - --with-modules=mod_readme:mod_auth_pam:mod_tls \ - --with-shared=mod_ldap:mod_sql:mod_sql_mysql:mod_sql_postgres:mod_quotatab:mod_quotatab_file:mod_quotatab_ldap:mod_quotatab_sql:mod_ifsession:mod_ban:mod_wrap - -# It seems that with _smp_mflags -lsupp tries to get linked before being built -# (as of 1.3.0a-4 F7/devel with koji, happened on F8 x86_64 and F7 ppc64) -%{__make} + --libexecdir="%{_libexecdir}/proftpd" \ + --localstatedir="%{_localstatedir}/run" \ + --enable-ctrls \ + --enable-dso \ + --enable-facl \ + --enable-ipv6 \ + --enable-nls \ + --enable-openssl \ + --enable-shadow \ + --with-libraries="%{_libdir}/mysql" \ + --with-includes="%{_includedir}/mysql" \ + --with-modules=mod_readme:mod_auth_pam:mod_tls \ + --with-shared=${SMOD1}:${SMOD2}:${SMOD3}:${SMOD4}:${SMOD5}:mod_ifsession + +%{__make} %{?_smp_mflags} %install %{__rm} -rf %{buildroot} %{__make} install DESTDIR=%{buildroot} \ - rundir="%{_var}/run/proftpd" \ - INSTALL_USER=`id -un` \ - INSTALL_GROUP=`id -gn` -%{__install} -D -p -m 0640 %{SOURCE1} \ - %{buildroot}%{_sysconfdir}/proftpd.conf -%{__install} -D -p -m 0755 %{SOURCE2} \ - %{buildroot}%{_sysconfdir}/rc.d/init.d/proftpd -%{__install} -D -p -m 0640 %{SOURCE3} \ - %{buildroot}%{_sysconfdir}/xinetd.d/xproftpd -%{__install} -D -p -m 0644 %{SOURCE4} \ - %{buildroot}%{_sysconfdir}/logrotate.d/proftpd -%{__install} -D -p -m 0644 %{SOURCE5} %{buildroot}/var/ftp/welcome.msg -%{__install} -D -p -m 0644 %{SOURCE6} %{buildroot}%{_sysconfdir}/pam.d/proftpd -%{__install} -D -p -m 0644 %{SOURCE7} 70proftpd-quota.ldif -%{__install} -D -p -m 0644 %{SOURCE8} proftpd-quota.schema -%{__mkdir_p} %{buildroot}/var/ftp/uploads -%{__mkdir_p} %{buildroot}/var/ftp/pub -%{__mkdir_p} %{buildroot}/var/log/proftpd -touch %{buildroot}%{_sysconfdir}/ftpusers + rundir="%{_localstatedir}/run/proftpd" \ + INSTALL_USER=`%{__id} -un` \ + INSTALL_GROUP=`%{__id} -gn` +%{__install} -D -p -m 640 proftpd.conf %{buildroot}%{_sysconfdir}/proftpd.conf +%{__install} -D -p -m 644 proftpd.pam %{buildroot}%{_sysconfdir}/pam.d/proftpd +%{__install} -D -p -m 755 %{SOURCE2} %{buildroot}%{_sysconfdir}/rc.d/init.d/proftpd +%{__install} -D -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/xinetd.d/xproftpd +%{__install} -D -p -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/logrotate.d/proftpd +%{__install} -D -p -m 644 %{SOURCE5} %{buildroot}%{_localstatedir}/ftp/welcome.msg +%{__install} -D -p -m 644 %{SOURCE9} %{buildroot}%{_sysconfdir}/sysconfig/proftpd +%{__mkdir_p} %{buildroot}%{_localstatedir}/{ftp/{pub,uploads},log/proftpd} +/bin/touch %{buildroot}%{_sysconfdir}/ftpusers + +# Find translations +%find_lang proftpd %clean @@ -130,83 +175,163 @@ touch %{buildroot}%{_sysconfdir}/ftpusers %post if [ $1 -eq 1 ]; then - /sbin/chkconfig --add proftpd - IFS=":"; cat /etc/passwd | \ - while { read username nu nu gid nu nu nu nu; }; do \ - if [ $gid -lt 100 -a "$username" != "ftp" ]; then - echo $username >> %{_sysconfdir}/ftpusers - fi - done + /sbin/chkconfig --add proftpd + IFS=":"; %{__cat} /etc/passwd | \ + while { read username nu nu gid nu nu nu nu; }; do \ + if [ $gid -lt 100 -a "$username" != "ftp" ]; then + echo $username >> %{_sysconfdir}/ftpusers + fi + done fi %preun if [ $1 -eq 0 ]; then - /sbin/service proftpd stop &>/dev/null || : - /sbin/chkconfig --del proftpd - /sbin/service xinetd reload &>/dev/null || : - if [ -d %{_var}/run/proftpd ]; then - rm -rf %{_var}/run/proftpd/* - fi + /sbin/service proftpd stop &>/dev/null || : + /sbin/chkconfig --del proftpd || : + /sbin/service xinetd reload &>/dev/null || : + /usr/bin/find %{_localstatedir}/run/proftpd -depth -mindepth 1 | + /usr/bin/xargs %{__rm} -rf &>/dev/null || : fi %postun if [ $1 -ge 1 ]; then - /sbin/service proftpd condrestart &>/dev/null || : + /sbin/service proftpd condrestart &>/dev/null || : fi -%files +%files -f proftpd.lang %defattr(-,root,root,-) -%doc COPYING CREDITS ChangeLog NEWS README* -%doc doc/* sample-configurations/ +%doc COPYING CREDITS ChangeLog NEWS README +%doc README.DSO README.modules README.IPv6 README.PAM +%doc README.capabilities README.classes README.controls README.facl +%doc contrib/README.contrib contrib/README.ratio +%doc doc/* sample-configurations/ contrib/xferstats.holger-preiss +%dir %{_localstatedir}/ftp/ +%dir %{_localstatedir}/ftp/pub/ %dir %{_localstatedir}/run/proftpd/ +%config(noreplace) %{_localstatedir}/ftp/welcome.msg +%config(noreplace) %{_sysconfdir}/ftpusers +%config(noreplace) %{_sysconfdir}/logrotate.d/proftpd +%config(noreplace) %{_sysconfdir}/pam.d/proftpd %config(noreplace) %{_sysconfdir}/proftpd.conf +%config(noreplace) %{_sysconfdir}/sysconfig/proftpd %config(noreplace) %{_sysconfdir}/xinetd.d/xproftpd -%config %{_sysconfdir}/ftpusers -%config(noreplace) %{_sysconfdir}/pam.d/proftpd -%config(noreplace) %{_sysconfdir}/logrotate.d/proftpd %{_sysconfdir}/rc.d/init.d/proftpd -%{_mandir}/man?/* -%{_bindir}/* +%{_bindir}/ftpcount +%{_bindir}/ftpdctl +%{_bindir}/ftptop +%{_bindir}/ftpwho +%exclude %{_bindir}/prxs +%{_sbindir}/ftpshut +%{_sbindir}/in.proftpd +%{_sbindir}/proftpd +%{_mandir}/man1/ftpcount.1* +%{_mandir}/man1/ftptop.1* +%{_mandir}/man1/ftpwho.1* +%{_mandir}/man5/xferlog.5* +%{_mandir}/man8/ftpdctl.8* +%{_mandir}/man8/ftpshut.8* +%{_mandir}/man8/proftpd.8* %exclude %{_includedir}/proftpd/ %exclude %{_libdir}/pkgconfig/ %dir %{_libexecdir}/proftpd/ %{_libexecdir}/proftpd/mod_ban.so +%{_libexecdir}/proftpd/mod_ctrls_admin.so +%{_libexecdir}/proftpd/mod_facl.so %{_libexecdir}/proftpd/mod_ifsession.so +%{_libexecdir}/proftpd/mod_load.so %{_libexecdir}/proftpd/mod_quotatab.so %{_libexecdir}/proftpd/mod_quotatab_file.so +%{_libexecdir}/proftpd/mod_quotatab_radius.so +%{_libexecdir}/proftpd/mod_quotatab_sql.so +%{_libexecdir}/proftpd/mod_radius.so +%{_libexecdir}/proftpd/mod_ratio.so +%{_libexecdir}/proftpd/mod_rewrite.so +%{_libexecdir}/proftpd/mod_site_misc.so %{_libexecdir}/proftpd/mod_sql.so %{_libexecdir}/proftpd/mod_wrap.so +%{_libexecdir}/proftpd/mod_wrap2.so +%{_libexecdir}/proftpd/mod_wrap2_file.so +%{_libexecdir}/proftpd/mod_wrap2_sql.so %exclude %{_libexecdir}/proftpd/*.a %exclude %{_libexecdir}/proftpd/*.la -%{_sbindir}/* -%dir /var/ftp/ -%attr(331, ftp, ftp) %dir /var/ftp/uploads/ -%dir /var/ftp/pub/ -%config(noreplace) /var/ftp/welcome.msg -%attr(750, root, root) %dir /var/log/proftpd/ +%attr(331, ftp, ftp) %dir %{_localstatedir}/ftp/uploads/ +%attr(750, root, root) %dir %{_localstatedir}/log/proftpd/ %files ldap %defattr(-,root,root,-) -%doc 70proftpd-quota.ldif proftpd-quota.schema -%dir %{_libexecdir}/proftpd/ +%doc README.LDAP 70proftpd-quota.ldif proftpd-quota.schema %{_libexecdir}/proftpd/mod_ldap.so %{_libexecdir}/proftpd/mod_quotatab_ldap.so %files mysql %defattr(-,root,root,-) -%dir %{_libexecdir}/proftpd/ %{_libexecdir}/proftpd/mod_sql_mysql.so -%{_libexecdir}/proftpd/mod_quotatab_sql.so %files postgresql %defattr(-,root,root,-) -%dir %{_libexecdir}/proftpd/ %{_libexecdir}/proftpd/mod_sql_postgres.so -%{_libexecdir}/proftpd/mod_quotatab_sql.so %changelog +* Fri Jul 31 2009 Paul Howarth 1.3.2a-2 +- Add upstream patch to fix parallel build (http://bugs.proftpd.org/3189) + +* Mon Jul 27 2009 Paul Howarth 1.3.2a-1 +- Update to 1.3.2a +- Add patch to reinstate support for -DPARAMETER (http://bugs.proftpd.org/3221) +- Retain CAP_AUDIT_WRITE, needed for pam_loginuid (#506735, fixed upstream) +- Remove ScoreboardFile directive from configuration file - default value + works better with SELinux (#498375) +- Ship mod_quotatab_sql.so in the main package rather than the SQL backend + subpackages +- New DSO modules: + - mod_ctrls_admin + - mod_facl + - mod_load + - mod_quotatab_radius + - mod_radius + - mod_ratio + - mod_rewrite + - mod_site_misc + - mod_wrap2 + - mod_wrap2_file + - mod_wrap2_sql +- Enable mod_lang/nls support for RFC 2640 (and buildreq gettext) +- Add /etc/sysconfig/proftpd to set PROFTPD_OPTIONS and update initscript to + use this value so we can use a define to enable (e.g.) anonymous FTP support + rather than having a huge commented-out section in the config file +- Rewrite config file to remove most settings that don't change upstream + defaults, and add brief descriptions for all available loadable modules +- Move Umask and IdentLookups settings from server config to context + so that they apply to all servers, including virtual hosts (#509251) +- Ensure mod_ifsession is always the last one specified, which makes sure that + mod_ifsession's changes are seen properly by other modules +- Drop pam version requirement - all targets have sufficiently recent version +- Drop redundant explicit dependency on pam +- Subpackages don't need to own %%{_libexecdir}/proftpd directory +- Drop redundant krb5-devel buildreq +- Make SRPM back-compatible with EPEL-4 (TLS cert dirs, PAM config) +- Don't include README files for non-Linux platforms +- Recode ChangeLog as UTF-8 +- Don't ship the prxs tool for building custom DSO's since we don't ship the + headers either +- Prevent stripping of binaries in a slightly more robust way +- Fix release tag to be ready for future beta/rc versions +- Define RPM macros in global scope +- BuildRequire libcap-devel so that we use the system library rather than the + bundled one, and eliminate log messages like: + kernel: warning: `proftpd' uses 32-bit capabilities (legacy support in use) + +* Sun Jul 26 2009 Fedora Release Engineering - 1.3.2-3.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Apr 9 2009 Matthias Saou 1.3.2-2.1 +- Update the tcp_wrappers BR to be just /usr/include/tcpd.h instead. + +* Thu Apr 9 2009 Matthias Saou 1.3.2-2 +- Fix tcp_wrappers-devel BR conditional. + * Mon Apr 6 2009 Matthias Saou 1.3.2-1 - Update to 1.3.2. - Include mod_wrap (#479813). @@ -216,7 +341,7 @@ fi - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Sat Jan 24 2009 Caolán McNamara 1.3.2-0.3.rc3 -- rebuild for dependencies +- Rebuild for dependencies * Fri Jan 2 2009 Matthias Saou 1.3.2-0.2.rc3 - Update default configuration to have a lit of available modules and more diff --git a/proftpd.sysconfig b/proftpd.sysconfig new file mode 100644 index 0000000..aa7ac11 --- /dev/null +++ b/proftpd.sysconfig @@ -0,0 +1,11 @@ +# Set PROFTPD_OPTIONS to add command-line options for proftpd. +# See proftpd(8) for a comprehensive list of what can be used. +# +# The following "Defines" can be used with the default configuration file: +# -DANONYMOUS_FTP : Enable anonymous FTP +# -DDYNAMIC_BAN_LISTS : Enable dynamic ban lists (mod_ban) +# -DTLS : Enable TLS (mod_tls) +# +# For example, for anonymous FTP and dynamic ban list support: +# PROFTPD_OPTIONS="-DANONYMOUS_FTP -DDYNAMIC_BAN_LISTS" +PROFTPD_OPTIONS="" diff --git a/sources b/sources index df40c72..08e23d8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -89f5e31fc3d3e02b66424dfc6cc5892d proftpd-1.3.2.tar.bz2 +ad3cbb5db30c5ae39e09b308892392b3 proftpd-1.3.2a.tar.bz2