summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wendler <polynomial-c@gentoo.org>2011-05-16 14:54:53 +0000
committerLars Wendler <polynomial-c@gentoo.org>2011-05-16 14:54:53 +0000
commitd67a1a8ecf3985815323fd41dcfb19b7c1dbd114 (patch)
treea046c08d7c98062f49d90b739e734930d7350588 /net-ftp/pure-ftpd
parentMarked ~ppc/~ppc64 for bug #366327. (diff)
downloadgentoo-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/ChangeLog13
-rw-r--r--net-ftp/pure-ftpd/files/pure-ftpd.conf_d-390
-rw-r--r--net-ftp/pure-ftpd/files/pure-ftpd.rc1176
-rw-r--r--net-ftp/pure-ftpd/pure-ftpd-1.0.30-r1.ebuild124
-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}