diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2010-08-19 08:07:13 +0000 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2010-08-19 08:07:13 +0000 |
commit | 76a457d355e1d28ee8876d9df9c2247be99e7547 (patch) | |
tree | 8c3c353011877485f3df6d422008820ec7847601 /net-ftp/pure-ftpd | |
parent | Fix comment (diff) | |
download | gentoo-2-76a457d355e1d28ee8876d9df9c2247be99e7547.tar.gz gentoo-2-76a457d355e1d28ee8876d9df9c2247be99e7547.tar.bz2 gentoo-2-76a457d355e1d28ee8876d9df9c2247be99e7547.zip |
Added the possibility to mount a tmpfs on /var/lib/run/pure-ftpd (see bug #330563)
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'net-ftp/pure-ftpd')
-rw-r--r-- | net-ftp/pure-ftpd/ChangeLog | 8 | ||||
-rw-r--r-- | net-ftp/pure-ftpd/files/pure-ftpd.conf_d-2 | 93 | ||||
-rw-r--r-- | net-ftp/pure-ftpd/files/pure-ftpd.rc10 | 71 | ||||
-rw-r--r-- | net-ftp/pure-ftpd/pure-ftpd-1.0.29-r1.ebuild | 6 |
4 files changed, 174 insertions, 4 deletions
diff --git a/net-ftp/pure-ftpd/ChangeLog b/net-ftp/pure-ftpd/ChangeLog index 1d590cd5bd0f..8daf791cc685 100644 --- a/net-ftp/pure-ftpd/ChangeLog +++ b/net-ftp/pure-ftpd/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for net-ftp/pure-ftpd # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-ftp/pure-ftpd/ChangeLog,v 1.97 2010/07/18 13:04:34 polynomial-c Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-ftp/pure-ftpd/ChangeLog,v 1.98 2010/08/19 08:07:13 polynomial-c Exp $ + + 19 Aug 2010; Lars Wendler <polynomial-c@gentoo.org> + pure-ftpd-1.0.29-r1.ebuild, +files/pure-ftpd.conf_d-2, + +files/pure-ftpd.rc10: + Added the possibility to mount a tmpfs on /var/lib/run/pure-ftpd (see bug + #330563) 18 Jul 2010; Lars Wendler <polynomial-c@gentoo.org> -pure-ftpd-1.0.29.ebuild, +pure-ftpd-1.0.29-r1.ebuild, diff --git a/net-ftp/pure-ftpd/files/pure-ftpd.conf_d-2 b/net-ftp/pure-ftpd/files/pure-ftpd.conf_d-2 new file mode 100644 index 000000000000..502f60c24429 --- /dev/null +++ b/net-ftp/pure-ftpd/files/pure-ftpd.conf_d-2 @@ -0,0 +1,93 @@ +# 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" + +## Start daemonized in background ## +DAEMON="-B" + +## 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. 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.rc10 b/net-ftp/pure-ftpd/files/pure-ftpd.rc10 new file mode 100644 index 000000000000..768c565efda6 --- /dev/null +++ b/net-ftp/pure-ftpd/files/pure-ftpd.rc10 @@ -0,0 +1,71 @@ +#!/sbin/runscript +# Copyright 1999-2010 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.rc10,v 1.1 2010/08/19 08:07:13 polynomial-c Exp $ + +ftpd_pidfile="/var/run/pure-ftpd.pid" +script_pidfile="/var/run/pure-uploadscript.pid" +ftpd_rundir="/var/lib/run/pure-ftpd" + +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 + + 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 + + # only works with openrc + WAIT="" + if [ -f /etc/init.d/sysfs ]; then + WAIT="--wait 100" + fi + + UPSCRIPT="" + OKNODO="" + if [ -n "$UPLOADSCRIPT" ] ; then + UPSCRIPT="--uploadscript" + OKNODO="--oknodo" + fi + ebegin "Starting Pure-FTPd" + start-stop-daemon --start --quiet --pidfile ${ftpd_pidfile} $OKNODO --exec /usr/sbin/pure-ftpd ${WAIT} -- --pidfile ${ftpd_pidfile} $SERVER $MAX_CONN $MAX_CONN_IP $DAEMON $DISK_FULL $USE_NAT $AUTH $LOG $TIMEOUT $CHARCONV $MISC_OTHER $UPSCRIPT + 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 /usr/sbin/pure-uploadscript --background ${WAIT} -- -r $UPLOADSCRIPT + eend $? + fi + fi +} + +stop() { + ebegin "Stopping Pure-FTPd" + start-stop-daemon --stop --retry 20 --quiet --pidfile ${ftpd_pidfile} + eend $? + if [ -n "$UPLOADSCRIPT" ] ; then + ebegin "Stopping Pure-FTPd upload script" + start-stop-daemon --stop --retry 20 --quiet --pidfile ${script_pidfile} + eend $? + fi + + 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.29-r1.ebuild b/net-ftp/pure-ftpd/pure-ftpd-1.0.29-r1.ebuild index becc7a21d943..571dbef54b9c 100644 --- a/net-ftp/pure-ftpd/pure-ftpd-1.0.29-r1.ebuild +++ b/net-ftp/pure-ftpd/pure-ftpd-1.0.29-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2010 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.29-r1.ebuild,v 1.1 2010/07/18 13:04:34 polynomial-c Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-ftp/pure-ftpd/pure-ftpd-1.0.29-r1.ebuild,v 1.2 2010/08/19 08:07:13 polynomial-c Exp $ EAPI=2 inherit eutils confutils flag-o-matic @@ -86,9 +86,9 @@ src_install() { dodoc AUTHORS CONTACT ChangeLog FAQ HISTORY INSTALL README* NEWS - newconfd "${FILESDIR}/pure-ftpd.conf_d" pure-ftpd + newconfd "${FILESDIR}/pure-ftpd.conf_d-2" pure-ftpd - newinitd "${FILESDIR}/pure-ftpd.rc9" pure-ftpd + newinitd "${FILESDIR}/pure-ftpd.rc10" pure-ftpd if use xinetd ; then insinto /etc/xinetd.d |