diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2011-05-16 14:54:53 +0000 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2011-05-16 14:54:53 +0000 |
commit | d67a1a8ecf3985815323fd41dcfb19b7c1dbd114 (patch) | |
tree | a046c08d7c98062f49d90b739e734930d7350588 /net-ftp/pure-ftpd | |
parent | Marked ~ppc/~ppc64 for bug #366327. (diff) | |
download | gentoo-2-d67a1a8ecf3985815323fd41dcfb19b7c1dbd114.tar.gz gentoo-2-d67a1a8ecf3985815323fd41dcfb19b7c1dbd114.tar.bz2 gentoo-2-d67a1a8ecf3985815323fd41dcfb19b7c1dbd114.zip |
Fixed startup of pure-ftpd with openrc when pure-uploadscript should be
+ started as well (bug #366761)
(Portage version: 2.2.0_alpha33/cvs/Linux x86_64)
Diffstat (limited to 'net-ftp/pure-ftpd')
-rw-r--r-- | net-ftp/pure-ftpd/ChangeLog | 13 | ||||
-rw-r--r-- | net-ftp/pure-ftpd/files/pure-ftpd.conf_d-3 | 90 | ||||
-rw-r--r-- | net-ftp/pure-ftpd/files/pure-ftpd.rc11 | 76 | ||||
-rw-r--r-- | net-ftp/pure-ftpd/pure-ftpd-1.0.30-r1.ebuild | 124 | ||||
-rw-r--r-- | net-ftp/pure-ftpd/pure-ftpd-1.0.32-r1.ebuild (renamed from net-ftp/pure-ftpd/pure-ftpd-1.0.31.ebuild) | 6 |
5 files changed, 181 insertions, 128 deletions
diff --git a/net-ftp/pure-ftpd/ChangeLog b/net-ftp/pure-ftpd/ChangeLog index f06526ea533f..a8bdba1efbb4 100644 --- a/net-ftp/pure-ftpd/ChangeLog +++ b/net-ftp/pure-ftpd/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for net-ftp/pure-ftpd # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-ftp/pure-ftpd/ChangeLog,v 1.117 2011/05/14 08:26:56 xarthisius Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-ftp/pure-ftpd/ChangeLog,v 1.118 2011/05/16 14:54:53 polynomial-c Exp $ + +*pure-ftpd-1.0.32-r1 (16 May 2011) + + 16 May 2011; Lars Wendler <polynomial-c@gentoo.org> + -pure-ftpd-1.0.30-r1.ebuild, -pure-ftpd-1.0.31.ebuild, + +pure-ftpd-1.0.32-r1.ebuild, +files/pure-ftpd.conf_d-3, + +files/pure-ftpd.rc11: + Fixed startup of pure-ftpd with openrc when pure-uploadscript should be + started as well. Thanks to Kilburn Abrahams for reporting this in bug + #366761. Improved readability of the init script a bit (requested by jer). + Removed old (vulnerable) versions. 14 May 2011; Kacper Kowalik <xarthisius@gentoo.org> pure-ftpd-1.0.32.ebuild: ppc/ppc64 stable wrt #365751 diff --git a/net-ftp/pure-ftpd/files/pure-ftpd.conf_d-3 b/net-ftp/pure-ftpd/files/pure-ftpd.conf_d-3 new file mode 100644 index 000000000000..29b15a5a8928 --- /dev/null +++ b/net-ftp/pure-ftpd/files/pure-ftpd.conf_d-3 @@ -0,0 +1,90 @@ +# Config file for /etc/init.d/pure-ftpd +##Comment variables out to disable its features, or change the values in it... ## + +## This variable must be uncommented in order for the server to start ## +#IS_CONFIGURED="yes" + +## FTP Server,Port (separated by comma) ## +## If you prefer host names over IP addresses, it's your choice: +## SERVER="-S ftp.rtchat.com,21" +## IPv6 addresses are supported. +## !!! WARNING !!! +## Using an invalid IP will result in the server not starting, +## but reporting a correct start! +## SERVER="-S 192.168.0.1,21" +## By default binds to all available IPs. +SERVER="-S 21" + +## Number of simultaneous connections in total, and per IP ## +MAX_CONN="-c 30" +MAX_CONN_IP="-C 10" + +## Don't allow uploads if the partition is more full then this var ## +DISK_FULL="-k 90%" + +## If your FTP server is behind a NAT box, uncomment this ## +#USE_NAT="-N" + +## Authentication mechanisms (others are 'pam', ...) ## +## Further infos can be found in the README file. +AUTH="-l unix" + +## Change the maximum idle time (in minutes) ## +## If this variable is not defined, it will default to 15 minutes. +#TIMEOUT="-I <timeout>'" + +## Facility used for syslog logging ## +## If this variable is not defined, it will default to the 'ftp' facility. +## Logging can be disabled with '-f none'. +#LOG="-f <facility>" + +## Charset conversion support *experimental* ## +## Only works if USE "charconv" is enabled (only Pure-FTPd >=1.0.21). +## Set the charset of the filesystem. +# CHARCONV="--fscharset <charset>" + +## If you want to process each file uploaded through Pure-FTPd, enter the name +## of the script that should process the files below. +## man pure-uploadscript to learn more about how to write this script. +# UPLOADSCRIPT="/path/to/uploadscript" + +## Misc. Others ## +MISC_OTHER="-A -x -j -R -Z" + +# +# Use these inside $MISC_OTHER +# More can be found on "http://download.pureftpd.org/pub/pure-ftpd/doc/README" +# +# -A [ chroot() everyone, but root ] +# -e [ Only allow anonymous users ] +# -E [ Only allow authenticated users. Anonymous logins are prohibited. ] +# -i [ Disallow upload for anonymous users, whatever directory perms are ] +# -j [ If the home directory of a user doesn't exist, auto-create it ] +# -M [ Allow anonymous users to create directories. ] +# -R [ Disallow users (even non-anonymous ones) usage of the CHMOD command ] +# -x [ In normal operation mode, authenticated users can read/write +# files beginning with a dot ('.'). Anonymous users can't, for security reasons +# (like changing banners or a forgotten .rhosts). When '-x' is used, authenticated +# users can download dot-files, but not overwrite/create them, even if they own +# them. ] +# -X [ This flag is identical to the previous one (writing +# dot-files is prohibited), but in addition, users can't even *read* files and +# directories beginning with a dot (like "cd .ssh"). ] +# -D [ List files beginning with a dot ('.') even when the client doesn't +# append the '-a' option to the list command. A workaround for badly +# configured FTP clients. ] +# -G [ Disallow renaming. ] +# -d [ Send various debugging messages to the syslog. ONLY for DEBUG ] +# -F <fortune file> [ Display a fortune cookie on login. Check the README file ] +# -H [ By default, fully-qualified host names are logged. The '-H' flag avoids host names resolution. ] + + +# Some filesystems don't like accesses being memory mapped. This happens for +# example with ftpwho on JFFS2 filesystems (bug #330563). If you happen to +# have such a filesystem on /var set TMPFS_MOUNT to "true". +TMPFS_MOUNT="false" + +# Special mount options (like nosuid or nodev) for the tmpfs mount can be added +# here. Several options must be separated by comma: "nodev,nosuid" +#TMPFS_OPTS="" + diff --git a/net-ftp/pure-ftpd/files/pure-ftpd.rc11 b/net-ftp/pure-ftpd/files/pure-ftpd.rc11 new file mode 100644 index 000000000000..49ebf84fb961 --- /dev/null +++ b/net-ftp/pure-ftpd/files/pure-ftpd.rc11 @@ -0,0 +1,76 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-ftp/pure-ftpd/files/pure-ftpd.rc11,v 1.1 2011/05/16 14:54:53 polynomial-c Exp $ + +ftpd_pidfile="/var/run/pure-ftpd.pid" +script_pidfile="/var/run/pure-uploadscript.pid" +ftpd_rundir="/var/lib/run/pure-ftpd" +daemon="/usr/sbin/pure-ftpd" +script_daemon="/usr/sbin/pure-uploadscript" + +depend() { + need net +} + +checkconfig() { + if [ -z "$IS_CONFIGURED" ] ; then + eerror "You need to setup /etc/conf.d/pure-ftpd first!" + return 1 + fi +} + +start() { + checkconfig || return 1 + + FTPD_CONFIG="$SERVER $MAX_CONN $MAX_CONN_IP $DISK_FULL $USE_NAT $AUTH + $LOG $TIMEOUT $CHARCONV $MISC_OTHER $UPSCRIPT" + + if ${TMPFS_MOUNT:-false} && grep -q tmpfs /proc/filesystems ; then + [ -n "${TMPFS_OPTS}" ] && MOUNT_OPTS="-o ${TMPFS_OPTS}" + einfo "Mounting tmpfs on ${ftpd_rundir}" + mount ${MOUNT_OPTS} -t tmpfs tmpfs ${ftpd_rundir} \ + || eerror "Unable to mount tmpfs" + fi + + WAIT="--wait 100" + + UPSCRIPT="" + if [ -n "$UPLOADSCRIPT" ] ; then + UPSCRIPT="--uploadscript" + fi + ebegin "Starting Pure-FTPd" + start-stop-daemon --start --quiet --pidfile ${ftpd_pidfile} \ + --make-pidfile --background --exec /usr/sbin/pure-ftpd ${WAIT} \ + -- ${FTPD_CONFIG//-B} + result=$? + if [ $result -ne 0 ] ; then + eend 1 "Could not launch Pure-FTPd" + else + eend $result + if [ -n "$UPLOADSCRIPT" ] ; then + ebegin "Starting Pure-FTPd upload script" + start-stop-daemon --start --quiet --make-pidfile\ + --pidfile ${script_pidfile} \ + --exec ${script_daemon} --background ${WAIT} \ + -- -r $UPLOADSCRIPT + eend $? + fi + fi +} + +stop() { + if [ -n "$UPLOADSCRIPT" ] ; then + ebegin "Stopping Pure-FTPd upload script" + start-stop-daemon --stop --retry 20 --quiet \ + --pidfile ${script_pidfile} + eend $? + fi + ebegin "Stopping Pure-FTPd" + start-stop-daemon --stop --retry 20 --quiet --pidfile ${ftpd_pidfile} + eend $? + + if ${TMPFS_MOUNT:-false} && mount | grep -q ${ftpd_rundir} ; then + umount ${ftpd_rundir} >/dev/null 2>&1 + fi +} diff --git a/net-ftp/pure-ftpd/pure-ftpd-1.0.30-r1.ebuild b/net-ftp/pure-ftpd/pure-ftpd-1.0.30-r1.ebuild deleted file mode 100644 index dd707792a502..000000000000 --- a/net-ftp/pure-ftpd/pure-ftpd-1.0.30-r1.ebuild +++ /dev/null @@ -1,124 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-ftp/pure-ftpd/pure-ftpd-1.0.30-r1.ebuild,v 1.1 2011/04/22 12:04:38 polynomial-c Exp $ - -EAPI=2 -inherit eutils confutils flag-o-matic - -KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86" - -DESCRIPTION="Fast, production-quality, standard-conformant FTP server." -HOMEPAGE="http://www.pureftpd.org/" -SRC_URI="ftp://ftp.pureftpd.org/pub/${PN}/releases/${P}.tar.bz2" - -LICENSE="BSD" -SLOT="0" - -IUSE="anondel anonperm anonren anonres caps charconv ldap mysql noiplog pam paranoidmsg postgres resolveids selinux ssl sysquota vchroot xinetd" - -DEPEND="caps? ( sys-libs/libcap ) - charconv? ( virtual/libiconv ) - ldap? ( >=net-nds/openldap-2.0.25 ) - mysql? ( virtual/mysql ) - pam? ( virtual/pam ) - postgres? ( dev-db/postgresql-base ) - ssl? ( >=dev-libs/openssl-0.9.6g ) - sysquota? ( sys-fs/quota[-rpc] ) - xinetd? ( virtual/inetd )" - -RDEPEND="${DEPEND} - net-ftp/ftpbase - selinux? ( sec-policy/selinux-ftpd )" - -src_prepare() { - epatch "${FILESDIR}"/${PN}-1.0.28-pam.patch -} - -src_configure() { - # adjust max user length to something more appropriate - # for virtual hosts. See bug #62472 for details. - sed -e "s:# define MAX_USER_LENGTH 32U:# define MAX_USER_LENGTH 127U:" -i "${S}/src/ftpd.h" || die "sed failed" - - local my_conf="" - - # Let's configure the USE-enabled stuff - enable_extension_without "capabilities" "caps" - enable_extension_with "rfc2640" "charconv" 0 - enable_extension_with "ldap" "ldap" 0 - enable_extension_with "mysql" "mysql" 0 - enable_extension_with "pam" "pam" 0 - enable_extension_with "paranoidmsg" "paranoidmsg" 0 - enable_extension_with "pgsql" "postgres" 0 - enable_extension_with "tls" "ssl" 0 - enable_extension_with "virtualchroot" "vchroot" 0 - enable_extension_with "sysquotas" "sysquota" 0 - enable_extension_without "inetd" "xinetd" - - # noiplog is a negative flag, we don't want that enabled by default, - # so we handle it manually, as confutils can't do that - use noiplog && my_conf="${my_conf} --without-iplogging" - - # Those features are only configurable like this, see bug #179375. - use anondel && append-cppflags -DANON_CAN_DELETE - use anonperm && append-cppflags -DANON_CAN_CHANGE_PERMS - use anonren && append-cppflags -DANON_CAN_RENAME - use anonres && append-cppflags -DANON_CAN_RESUME - use resolveids && append-cppflags -DALWAYS_RESOLVE_IDS - - econf \ - --with-altlog \ - --with-cookie \ - --with-diraliases \ - --with-extauth \ - --with-ftpwho \ - --with-language=${PUREFTPD_LANG:=english} \ - --with-peruserlimits \ - --with-privsep \ - --with-puredb \ - --with-quotas \ - --with-ratios \ - --with-throttling \ - --with-uploadscript \ - --with-virtualhosts \ - --enable-largefile \ - ${my_conf} || die "econf failed" -} - -src_install() { - emake DESTDIR="${D}" install || die "emake install failed" - - dodoc AUTHORS CONTACT ChangeLog FAQ HISTORY INSTALL README* NEWS - - newconfd "${FILESDIR}/pure-ftpd.conf_d-2" pure-ftpd - - newinitd "${FILESDIR}/pure-ftpd.rc10" pure-ftpd - - dodir /var/lib/run/${PN} - - if use xinetd ; then - insinto /etc/xinetd.d - newins "${FILESDIR}/pure-ftpd.xinetd" pure-ftpd - fi - - if use ldap ; then - insinto /etc/openldap/schema - doins pureftpd.schema - insinto /etc/openldap - insopts -m 0600 - doins pureftpd-ldap.conf - fi -} - -pkg_postinst() { - elog - elog "Before starting Pure-FTPd, you have to edit the /etc/conf.d/pure-ftpd file!" - elog - ewarn "It's *really* important to read the README provided with Pure-FTPd!" - ewarn "Check out http://download.pureftpd.org/pub/pure-ftpd/doc/README for general info" - ewarn "and http://download.pureftpd.org/pub/pure-ftpd/doc/README.TLS for SSL/TLS info." - ewarn - if use charconv ; then - ewarn "Charset conversion is an *experimental* feature!" - ewarn "Remember to set a valid charset for your filesystem in the configuration!" - fi -} diff --git a/net-ftp/pure-ftpd/pure-ftpd-1.0.31.ebuild b/net-ftp/pure-ftpd/pure-ftpd-1.0.32-r1.ebuild index 66df7310d9ff..6ab4b14c047b 100644 --- a/net-ftp/pure-ftpd/pure-ftpd-1.0.31.ebuild +++ b/net-ftp/pure-ftpd/pure-ftpd-1.0.32-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-ftp/pure-ftpd/pure-ftpd-1.0.31.ebuild,v 1.1 2011/04/27 11:54:42 polynomial-c Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-ftp/pure-ftpd/pure-ftpd-1.0.32-r1.ebuild,v 1.1 2011/05/16 14:54:53 polynomial-c Exp $ EAPI=2 inherit eutils confutils flag-o-matic @@ -90,9 +90,9 @@ src_install() { dodoc AUTHORS CONTACT ChangeLog FAQ HISTORY INSTALL README* NEWS - newconfd "${FILESDIR}/pure-ftpd.conf_d-2" pure-ftpd + newconfd "${FILESDIR}/pure-ftpd.conf_d-3" pure-ftpd - newinitd "${FILESDIR}/pure-ftpd.rc10" pure-ftpd + newinitd "${FILESDIR}/pure-ftpd.rc11" pure-ftpd dodir /var/lib/run/${PN} |