diff options
Diffstat (limited to 'net-ftp/vsftpd')
-rw-r--r-- | net-ftp/vsftpd/ChangeLog | 9 | ||||
-rw-r--r-- | net-ftp/vsftpd/files/vsftpd-2.1.0-caps.patch | 15 | ||||
-rw-r--r-- | net-ftp/vsftpd/files/vsftpd-2.1.0-dont-link-caps.patch | 18 | ||||
-rw-r--r-- | net-ftp/vsftpd/files/vsftpd-2.1.0-gentoo.patch | 193 | ||||
-rw-r--r-- | net-ftp/vsftpd/vsftpd-2.1.0.ebuild | 105 |
5 files changed, 339 insertions, 1 deletions
diff --git a/net-ftp/vsftpd/ChangeLog b/net-ftp/vsftpd/ChangeLog index a9d06c1139e4..464f4236be3f 100644 --- a/net-ftp/vsftpd/ChangeLog +++ b/net-ftp/vsftpd/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-ftp/vsftpd # Copyright 2002-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-ftp/vsftpd/ChangeLog,v 1.109 2009/02/09 09:33:14 angelos Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-ftp/vsftpd/ChangeLog,v 1.110 2009/02/23 17:41:05 armin76 Exp $ + +*vsftpd-2.1.0 (23 Feb 2009) + + 23 Feb 2009; Raúl Porcel <armin76@gentoo.org> + +files/vsftpd-2.1.0-caps.patch, +files/vsftpd-2.1.0-dont-link-caps.patch, + +files/vsftpd-2.1.0-gentoo.patch, +vsftpd-2.1.0.ebuild: + Version bump 09 Feb 2009; Christoph Mende <angelos@gentoo.org> vsftpd-2.0.7-r1.ebuild: QA: Removed logrotate USE flag, the logrotate.d file is installed diff --git a/net-ftp/vsftpd/files/vsftpd-2.1.0-caps.patch b/net-ftp/vsftpd/files/vsftpd-2.1.0-caps.patch new file mode 100644 index 000000000000..bd29762e9f48 --- /dev/null +++ b/net-ftp/vsftpd/files/vsftpd-2.1.0-caps.patch @@ -0,0 +1,15 @@ +diff -ur vsftpd-2.1.0.orig/sysdeputil.c vsftpd-2.1.0/sysdeputil.c +--- vsftpd-2.1.0.orig/sysdeputil.c 2009-02-23 18:23:26.000000000 +0100 ++++ vsftpd-2.1.0/sysdeputil.c 2009-02-23 18:23:51.000000000 +0100 +@@ -160,10 +160,8 @@ + #include <sys/capability.h> + + #if defined(VSF_SYSDEP_HAVE_CAPABILITIES) && !defined(VSF_SYSDEP_HAVE_LIBCAP) +-#include <linux/unistd.h> + #include <linux/capability.h> +-#include <errno.h> +-#include <syscall.h> ++#include <sys/syscall.h> + int capset(cap_user_header_t header, const cap_user_data_t data) + { + return syscall(__NR_capset, header, data); diff --git a/net-ftp/vsftpd/files/vsftpd-2.1.0-dont-link-caps.patch b/net-ftp/vsftpd/files/vsftpd-2.1.0-dont-link-caps.patch new file mode 100644 index 000000000000..41ebba6ee3ff --- /dev/null +++ b/net-ftp/vsftpd/files/vsftpd-2.1.0-dont-link-caps.patch @@ -0,0 +1,18 @@ +diff -ur vsftpd-2.1.0.orig/vsf_findlibs.sh vsftpd-2.1.0/vsf_findlibs.sh +--- vsftpd-2.1.0.orig/vsf_findlibs.sh 2009-02-23 18:32:17.000000000 +0100 ++++ vsftpd-2.1.0/vsf_findlibs.sh 2009-02-23 18:32:23.000000000 +0100 +@@ -42,14 +42,6 @@ + # For older HP-UX... + locate_library /usr/lib/libsec.sl && echo "-lsec"; + +-# Look for libcap (capabilities) +-if locate_library /lib/libcap.so.1; then +- echo "/lib/libcap.so.1"; +-else +- locate_library /usr/lib/libcap.so && echo "-lcap"; +- locate_library /lib/libcap.so && echo "-lcap"; +-fi +- + # Solaris needs this for nanosleep().. + locate_library /lib/libposix4.so && echo "-lposix4"; + locate_library /usr/lib/libposix4.so && echo "-lposix4"; diff --git a/net-ftp/vsftpd/files/vsftpd-2.1.0-gentoo.patch b/net-ftp/vsftpd/files/vsftpd-2.1.0-gentoo.patch new file mode 100644 index 000000000000..f428fb41beca --- /dev/null +++ b/net-ftp/vsftpd/files/vsftpd-2.1.0-gentoo.patch @@ -0,0 +1,193 @@ +diff -ur vsftpd-2.1.0.orig/defs.h vsftpd-2.1.0/defs.h +--- vsftpd-2.1.0.orig/defs.h 2009-02-23 17:57:17.000000000 +0100 ++++ vsftpd-2.1.0/defs.h 2009-02-23 17:57:29.000000000 +0100 +@@ -1,7 +1,7 @@ + #ifndef VSF_DEFS_H + #define VSF_DEFS_H + +-#define VSFTP_DEFAULT_CONFIG "/etc/vsftpd.conf" ++#define VSFTP_DEFAULT_CONFIG "/etc/vsftpd/vsftpd.conf" + + #define VSFTP_COMMAND_FD 0 + +diff -ur vsftpd-2.1.0.orig/tunables.c vsftpd-2.1.0/tunables.c +--- vsftpd-2.1.0.orig/tunables.c 2009-02-23 17:57:17.000000000 +0100 ++++ vsftpd-2.1.0/tunables.c 2009-02-23 17:59:12.000000000 +0100 +@@ -242,7 +242,7 @@ + /* -rw------- */ + tunable_chown_upload_mode = 0600; + +- install_str_setting("/usr/share/empty", &tunable_secure_chroot_dir); ++ install_str_setting("/usr/share/vsftpd/empty", &tunable_secure_chroot_dir); + install_str_setting("ftp", &tunable_ftp_username); + install_str_setting("root", &tunable_chown_username); + install_str_setting("/var/log/xferlog", &tunable_xferlog_file); +@@ -250,11 +250,11 @@ + install_str_setting(".message", &tunable_message_file); + install_str_setting("nobody", &tunable_nopriv_user); + install_str_setting(0, &tunable_ftpd_banner); +- install_str_setting("/etc/vsftpd.banned_emails", &tunable_banned_email_file); +- install_str_setting("/etc/vsftpd.chroot_list", &tunable_chroot_list_file); ++ install_str_setting("/etc/vsftpd/banned_emails", &tunable_banned_email_file); ++ install_str_setting("/etc/vsftpd/chroot_list", &tunable_chroot_list_file); + install_str_setting("ftp", &tunable_pam_service_name); + install_str_setting("ftp", &tunable_guest_username); +- install_str_setting("/etc/vsftpd.user_list", &tunable_userlist_file); ++ install_str_setting("/etc/vsftpd/user_list", &tunable_userlist_file); + install_str_setting(0, &tunable_anon_root); + install_str_setting(0, &tunable_local_root); + install_str_setting(0, &tunable_banner_file); +@@ -267,7 +267,7 @@ + install_str_setting(0, &tunable_hide_file); + install_str_setting(0, &tunable_deny_file); + install_str_setting(0, &tunable_user_sub_token); +- install_str_setting("/etc/vsftpd.email_passwords", ++ install_str_setting("/etc/vsftpd/email_passwords", + &tunable_email_password_file); + install_str_setting("/usr/share/ssl/certs/vsftpd.pem", + &tunable_rsa_cert_file); +diff -ur vsftpd-2.1.0.orig/vsftpd.8 vsftpd-2.1.0/vsftpd.8 +--- vsftpd-2.1.0.orig/vsftpd.8 2009-02-23 17:57:17.000000000 +0100 ++++ vsftpd-2.1.0/vsftpd.8 2009-02-23 18:00:03.000000000 +0100 +@@ -21,7 +21,7 @@ + recommended. It is activated by setting + .Pa listen=YES + in +-.Pa /etc/vsftpd.conf . ++.Pa /etc/vsftpd/vsftpd.conf . + Direct execution of the + .Nm vsftpd + binary will then launch the FTP service ready for immediate client connections. +@@ -30,6 +30,6 @@ + .Op configuration file + may be given on the command line. This file must be owned as root if running as + root. The default configuration file is +-.Pa /etc/vsftpd.conf . ++.Pa /etc/vsftpd/vsftpd.conf . + .Sh SEE ALSO + .Xr vsftpd.conf 5 +diff -ur vsftpd-2.1.0.orig/vsftpd.conf vsftpd-2.1.0/vsftpd.conf +--- vsftpd-2.1.0.orig/vsftpd.conf 2009-02-23 17:57:17.000000000 +0100 ++++ vsftpd-2.1.0/vsftpd.conf 2009-02-23 18:00:56.000000000 +0100 +@@ -1,4 +1,4 @@ +-# Example config file /etc/vsftpd.conf ++# Example config file /etc/vsftpd/vsftpd.conf + # + # The default compiled in settings are fairly paranoid. This sample file + # loosens things up a bit, to make the ftp daemon more usable. +@@ -8,6 +8,10 @@ + # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's + # capabilities. + # ++# Listen on IPv4. xinet users must set NO or comment out ++# otherwise it must be set YES ++listen=YES ++# + # Allow anonymous FTP? (Beware - allowed by default if you comment this out). + anonymous_enable=YES + # +@@ -87,14 +91,14 @@ + # useful for combatting certain DoS attacks. + #deny_email_enable=YES + # (default follows) +-#banned_email_file=/etc/vsftpd.banned_emails ++#banned_email_file=/etc/vsftpd/banned_emails + # + # You may specify an explicit list of local users to chroot() to their home + # directory. If chroot_local_user is YES, then this list becomes a list of + # users to NOT chroot(). + #chroot_list_enable=YES + # (default follows) +-#chroot_list_file=/etc/vsftpd.chroot_list ++#chroot_list_file=/etc/vsftpd/chroot_list + # + # You may activate the "-R" option to the builtin ls. This is disabled by + # default to avoid remote users being able to cause excessive I/O on large +diff -ur vsftpd-2.1.0.orig/vsftpd.conf.5 vsftpd-2.1.0/vsftpd.conf.5 +--- vsftpd-2.1.0.orig/vsftpd.conf.5 2009-02-23 17:57:17.000000000 +0100 ++++ vsftpd-2.1.0/vsftpd.conf.5 2009-02-23 17:57:29.000000000 +0100 +@@ -4,7 +4,7 @@ + .SH DESCRIPTION + vsftpd.conf may be used to control various aspects of vsftpd's behaviour. By + default, vsftpd looks for this file at the location +-.BR /etc/vsftpd.conf . ++.BR /etc/vsftpd/vsftpd.conf . + However, you may override this by specifying a command line argument to + vsftpd. The command line argument is the pathname of the configuration file + for vsftpd. This behaviour is useful because you may wish to use an advanced +@@ -138,7 +138,7 @@ + different if chroot_local_user is set to YES. In this case, the list becomes + a list of users which are NOT to be placed in a chroot() jail. + By default, the file containing this list is +-/etc/vsftpd.chroot_list, but you may override this with the ++/etc/vsftpd/chroot_list, but you may override this with the + .BR chroot_list_file + setting. + +@@ -177,7 +177,7 @@ + .B deny_email_enable + If activated, you may provide a list of anonymous password e-mail responses + which cause login to be denied. By default, the file containing this list is +-/etc/vsftpd.banned_emails, but you may override this with the ++/etc/vsftpd/banned_emails, but you may override this with the + .BR banned_email_file + setting. + +@@ -430,7 +430,7 @@ + file specified by the + .BR email_password_file + setting. The file format is one password per line, no extra whitespace. The +-default filename is /etc/vsftpd.email_passwords. ++default filename is /etc/vsftpd/email_passwords. + + Default: NO + .TP +@@ -761,7 +761,7 @@ + .BR deny_email_enable + is enabled. + +-Default: /etc/vsftpd.banned_emails ++Default: /etc/vsftpd/banned_emails + .TP + .B banner_file + This option is the name of a file containing text to display when someone +@@ -798,7 +798,7 @@ + is enabled, then the list file becomes a list of users to NOT place in a + chroot() jail. + +-Default: /etc/vsftpd.chroot_list ++Default: /etc/vsftpd/chroot_list + .TP + .B cmds_allowed + This options specifies a comma separated list of allowed FTP commands (post +@@ -859,7 +859,7 @@ + .BR secure_email_list_enable + setting. + +-Default: /etc/vsftpd.email_passwords ++Default: /etc/vsftpd/email_passwords + .TP + .B ftp_username + This is the name of the user we use for handling anonymous FTP. The home +@@ -982,10 +982,10 @@ + with an example. If you set + .BR user_config_dir + to be +-.BR /etc/vsftpd_user_conf ++.BR /etc/vsftpd/user_conf + and then log on as the user "chris", then vsftpd will apply the settings in + the file +-.BR /etc/vsftpd_user_conf/chris ++.BR /etc/vsftpd/user_conf/chris + for the duration of the session. The format of this file is as detailed in + this manual page! PLEASE NOTE that not all settings are effective on a + per-user basis. For example, many settings only prior to the user's session +@@ -1021,7 +1021,7 @@ + .BR userlist_enable + option is active. + +-Default: /etc/vsftpd.user_list ++Default: /etc/vsftpd/user_list + .TP + .B vsftpd_log_file + This option is the name of the file to which we write the vsftpd style diff --git a/net-ftp/vsftpd/vsftpd-2.1.0.ebuild b/net-ftp/vsftpd/vsftpd-2.1.0.ebuild new file mode 100644 index 000000000000..8cce4d3d4c54 --- /dev/null +++ b/net-ftp/vsftpd/vsftpd-2.1.0.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-ftp/vsftpd/vsftpd-2.1.0.ebuild,v 1.1 2009/02/23 17:41:05 armin76 Exp $ + +inherit eutils toolchain-funcs + +DESCRIPTION="Very Secure FTP Daemon written with speed, size and security in mind" +HOMEPAGE="http://vsftpd.beasts.org/" +SRC_URI="ftp://vsftpd.beasts.org/users/cevans/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="caps pam tcpd ssl selinux xinetd" + +DEPEND="caps? ( sys-libs/libcap ) + pam? ( virtual/pam ) + tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) + ssl? ( >=dev-libs/openssl-0.9.7d )" +RDEPEND="${DEPEND} + net-ftp/ftpbase + selinux? ( sec-policy/selinux-ftpd ) + xinetd? ( sys-apps/xinetd )" + +src_unpack() { + unpack ${A} + cd "${S}" + + # Patch the source, config and the manpage to use /etc/vsftpd/ + epatch "${FILESDIR}/${PN}-2.1.0-gentoo.patch" + + # Fix building without the libcap + epatch "${FILESDIR}/${PN}-2.1.0-caps.patch" + has_version "<sys-libs/libcap-2" && epatch "${FILESDIR}"/${PN}-2.0.6-libcap1.patch + + # Configure vsftpd build defaults + use tcpd && echo "#define VSF_BUILD_TCPWRAPPERS" >> builddefs.h + use ssl && echo "#define VSF_BUILD_SSL" >> builddefs.h + use pam || echo "#undef VSF_BUILD_PAM" >> builddefs.h + + # Ensure that we don't link against libcap unless asked + if ! use caps ; then + sed -i '/^#define VSF_SYSDEP_HAVE_LIBCAP$/ d' sysdeputil.c + epatch "${FILESDIR}"/${PN}-2.1.0-dont-link-caps.patch + fi + + # Let portage control stripping + sed -i '/^LINK[[:space:]]*=[[:space:]]*/ s/-Wl,-s//' Makefile +} + +src_compile() { + emake CFLAGS="${CFLAGS}" CC="$(tc-getCC)" || die +} + +src_install() { + into /usr + doman vsftpd.conf.5 vsftpd.8 + dosbin vsftpd || die + + dodoc AUDIT BENCHMARKS BUGS Changelog FAQ \ + README README.security REWARD SIZE \ + SPEED TODO TUNING + newdoc vsftpd.conf vsftpd.conf.example + + docinto security + dodoc SECURITY/* + + insinto "/usr/share/doc/${PF}/examples" + doins -r EXAMPLE/* + + insinto /etc/vsftpd + newins vsftpd.conf vsftpd.conf.example + + insinto /etc/logrotate.d + newins "${FILESDIR}/vsftpd.logrotate" vsftpd + + if use xinetd ; then + insinto /etc/xinetd.d + newins "${FILESDIR}/vsftpd.xinetd" vsftpd + fi + + newinitd "${FILESDIR}/vsftpd.init" vsftpd + + keepdir /usr/share/vsftpd/empty +} + +pkg_preinst() { + # If we use xinetd, then we comment out listen=YES + # so that our default config works under xinetd - fixes #78347 + if use xinetd ; then + sed -i '/\listen=YES/s/^/#/g' "${D}"/etc/vsftpd/vsftpd.conf.example + fi +} + +pkg_postinst() { + einfo "vsftpd init script can now be multiplexed." + einfo "The default init script forces /etc/vsftpd/vsftpd.conf to exist." + einfo "If you symlink the init script to another one, say vsftpd.foo" + einfo "then that uses /etc/vsftpd/foo.conf instead." + einfo + einfo "Example:" + einfo " cd /etc/init.d" + einfo " ln -s vsftpd vsftpd.foo" + einfo "You can now treat vsftpd.foo like any other service" +} |