summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkos Chandras <hwoarang@gentoo.org>2015-01-31 13:07:51 +0000
committerMarkos Chandras <hwoarang@gentoo.org>2015-01-31 13:07:51 +0000
commit0e24ca48654a53975a0ae095d1780200758e11b4 (patch)
tree90dc9ca38db71afabba120de49377d5948fa47b6 /net-ftp/vsftpd
parentAdd sq_AL locale (diff)
downloadhistorical-0e24ca48654a53975a0ae095d1780200758e11b4.tar.gz
historical-0e24ca48654a53975a0ae095d1780200758e11b4.tar.bz2
historical-0e24ca48654a53975a0ae095d1780200758e11b4.zip
Make sure child processes are killed properly. Bug #537290 by rhumbliner
Package-Manager: portage-2.2.15/cvs/Linux x86_64 Manifest-Sign-Key: 0x09BF4F54C2BA7F3C!
Diffstat (limited to 'net-ftp/vsftpd')
-rw-r--r--net-ftp/vsftpd/ChangeLog10
-rw-r--r--net-ftp/vsftpd/Manifest33
-rw-r--r--net-ftp/vsftpd/files/vsftpd.init16
-rw-r--r--net-ftp/vsftpd/vsftpd-3.0.2-r4.ebuild135
4 files changed, 170 insertions, 24 deletions
diff --git a/net-ftp/vsftpd/ChangeLog b/net-ftp/vsftpd/ChangeLog
index be25846defed..23e1322637c1 100644
--- a/net-ftp/vsftpd/ChangeLog
+++ b/net-ftp/vsftpd/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-ftp/vsftpd
-# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-ftp/vsftpd/ChangeLog,v 1.180 2014/09/14 11:04:49 hwoarang Exp $
+# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-ftp/vsftpd/ChangeLog,v 1.181 2015/01/31 13:07:47 hwoarang Exp $
+
+*vsftpd-3.0.2-r4 (31 Jan 2015)
+
+ 31 Jan 2015; Markos Chandras <hwoarang@gentoo.org> +vsftpd-3.0.2-r4.ebuild,
+ files/vsftpd.init:
+ Make sure child processes are killed properly. Bug #537290 by rhumbliner
*vsftpd-3.0.2-r3 (14 Sep 2014)
diff --git a/net-ftp/vsftpd/Manifest b/net-ftp/vsftpd/Manifest
index bc921eb7bce3..c8118d449561 100644
--- a/net-ftp/vsftpd/Manifest
+++ b/net-ftp/vsftpd/Manifest
@@ -13,7 +13,7 @@ AUX vsftpd-3.0.2-aslim.patch 512 SHA256 29563dc497b3845c753abd451aebe55a3c961807
AUX vsftpd-3.0.2-remove-legacy-cap.patch 1739 SHA256 c18a5b1092d07c5ff5380553345d4cdf06e0b8968cf90499d3dd1751f889a438 SHA512 b0c2b91f0ba3b73706c352ac391e35b048b544fbab1ab3cd223be7f5ca33516143a775456871ded354a05bf74f0403436f4659d06ae9345e8d6a6d1b21addd42 WHIRLPOOL 253453c1696cfe1e5330055410d5e7e080f0c27ea8ba2158e5667f692067f73c070b8bd7ed56d7aa77c2dcadbe10f62442f31ceef4a7cfdcf8578895525c84d1
AUX vsftpd-checkconfig.sh 785 SHA256 2de7c7c1edfe3ae0480e22d988a564db3bb873050929ebb6e8361d7a1288ddda SHA512 541702557231c79413ae77cf26c28398fea3cb332375f8d22e0c0a45706b04db954d268addd76fecbb8b0ab3109f1009c18b0599394ed33c4a6fc8dc647d889e WHIRLPOOL ac2d38c646a440edc093f8458cc2395c6da465d9719c10464ded9cba2c480b9398f8ece2d25920d10893dca0fc16ba8b3a583c55724f5a5b5de46eab671bab63
AUX vsftpd.conf 3842 SHA256 08b680a8531ecc8ccd9bf7cd91dc2de0a49105803a6d8fdcbe0f0dd47de8f6e0 SHA512 ab6c74a22eb30e504efca095ecb0675e058bd4290e4cd926433d011ec8423a33bc1da4d25d4de295e6ab8f001e1d4b3da03340b1b279fdc95461d393ab4f64d8 WHIRLPOOL 00ab13614d97e52c2b0e88587feb7276991090a0e94244695420dd87993fb25d30ea461bc4fc3770a38043cb09b3a714ddfc869c98d29033a61740018acbdf9a
-AUX vsftpd.init 1261 SHA256 e6cf3df546aae57bb10e2b4282a9ccd79741473ef9dbdbd7628a16c84622da06 SHA512 5270ed8dc2f7a0063b122cb694a6d72c97dbdb2be95d568577666792d237edc193cb9511637eac422a5269100c05d9c4f91102107ceb0cadbf960ba7af4c57b1 WHIRLPOOL 9099e4d3bc20e51e6aa66bece73cc5373f7f083d173483b7872f49776d2d6204a334850434cd349570f76d57ec6c004b1db872820cd1a8d13f239ca423f24802
+AUX vsftpd.init 1427 SHA256 4297952eeeb02b5c4f2f750742614513fa6a0c8d291a9a0adcec1ec0098fcd78 SHA512 2e18753f97d9e61083a395a96291e967420b438e66c0f5d385c1a55a133a7895f7a961749f83e33f7c1875a215d808402d3a63e98a5c07ffab6da03dab57edf9 WHIRLPOOL e149df8318a01fdd01c92e856f187c8b7cd2b38501a4edd1d8251017edbeeb8e3a9a44c0d49ce4fdf48d74d52f2649a43bc7871f99fe16c0ab36c9c4c73d017d
AUX vsftpd.logrotate 53 SHA256 b31f4db8e2f8640f83bc38d83444ab784f8fc9a6492f654bb4149e1f566da2f3 SHA512 6b0d718ffdc0b6a68d5092b36a03106d2c4e4fa6873a178c85345acfb3847ef839a475eadb56171d79ec243ae2bf8725cae0ae486b182afe065b181f87c831c5 WHIRLPOOL e155b30b59319cc5dac69c7446273ab20b4e56f696cce6ab8c83c3310529e0da70969edefaf94c912f121d3df526368ad9aafd291c6cf2f6a9b2d7b69d88b0aa
AUX vsftpd.service 218 SHA256 5c93a836c0be34d785197ba01541b6cd9db6f8992c4ea081c07a6111cc98290d SHA512 f032f64ed5fab15b1c9543579090cdca007d0a759073e7c4aa0f0ef0f852f6787610f776ce63d0d922ccfbadd480df81ed9a62e6e0f399327d770f9b70c34df9 WHIRLPOOL c91aabb3b89dc3faa002cd998329d44677f756ee2901492324e37b3f7dbcc29b83c53032891ef1d802ea70d01b060f091970c20a06b36d2cae9358269df6f4e4
AUX vsftpd.socket 104 SHA256 9fdbfd2ec0207170371ca3cf2b0ddca2dc2fe3d062e5792e0d3e51474c3198c9 SHA512 4c56607dde0ccc4773edf905c1d52b66fff774e6aa8b20a23f9443a04838a9ad8a1df535a0bb27660e9a4528d1d7c90b53fd6dd1fa3d4862e87ed06a1a8a87b7 WHIRLPOOL 435e23297ff200ab68cb2813d2024279ed7d21e7d03f1c732c8ef06baf4b92c330edd496798c197078f07b08c4680c9c70e8dcc8aa4d35872d0cc556298b9fc9
@@ -25,25 +25,26 @@ EBUILD vsftpd-2.3.5.ebuild 3184 SHA256 478fca0c1becd06f6e1a56372ec04a08b31be1ea2
EBUILD vsftpd-3.0.2-r1.ebuild 3378 SHA256 3e4e40d007c1f120e87bc16b2e192365b3867a3df7b61a1e71cc5c4457f03734 SHA512 5737427731828325c8ace6c124335bbce85d47fc0adc38415c4439bc17d5e45f2d2254452cdb8bfd1c7f62bb16d6225a5950c631679dab6c0f17ad7293ba28a0 WHIRLPOOL b65f2fc962547000843a612b393a1f1ef72e1ef16af392727023369742785b36173c6df3d216672659dc28f3ab19d46b4a779f7834358ab12458efb09ffea5b1
EBUILD vsftpd-3.0.2-r2.ebuild 3701 SHA256 e41e00d023e9329ee79812a46403d06143144036bd9f7fef764d2bb215080221 SHA512 6f34d5940acf52907f28054f34709502dc5ddb2e76e177a6a49553a0222427eb57a702524a1eb3b67cfd44ea5c6919919234bd5602b7b28e9376e85ebd8ddc06 WHIRLPOOL c8fbbbdd5ff2599f0146a516ec95691860dd850f8270a0fe47188a59697f0762b7043c3bcd80cae5779a0c950282c7f7e66ca6ed8f95563e0cceefd41c7a664f
EBUILD vsftpd-3.0.2-r3.ebuild 3775 SHA256 22b245665d5c6e8108800c3849fa75f2abdafe981d71a2ef714e2d7e1f839677 SHA512 16deaa9e9b2baa65f663c9a2f026343bf448332b11d1a90777151bd515b88063373f53fa0f446bad0b5392c5f92a6581955000544eb7c499186d3b5bdba71208 WHIRLPOOL 03ffc8b3ea268747bffc57cc3777d7cf0e79de3952f1e3436bf66ecea54e96ab5fa5f96230151ae8118d8bc543728d65f184747e13de10361c017521a1418b3f
+EBUILD vsftpd-3.0.2-r4.ebuild 3775 SHA256 40d691eecc96e96c5b79ef70e4a7c0071f0d14fb664782d9fec432ff66c3d80c SHA512 7b2a2a0a03e49d998fe22f101295d738da934b5b90e488ae5ac1e51708ea18531fed1e2026da41a0093dbb1d3ad09ae8377ad364c20a3c26743b021feb8a9048 WHIRLPOOL 0ba75561a938236a2267fc0b4f8a4b25d0f52798a23e40b499bd050c26ab6e869b2ae65fd8d61432923c583f136d23149920ea0e3a1850a49a06f6265c178c96
EBUILD vsftpd-3.0.2.ebuild 3261 SHA256 2fbe8a15ec3becfa9b6d026131910e0bbba05e441f529ae00700912118220186 SHA512 abbd58887a36cdcbfd384b2cfcb66f1fd7aaef465a1efc61a456ff62cbd24067d5056e35592ea445997ab5537c613e168481dbca52bd903c9ad2270ca80f2e78 WHIRLPOOL b7ea0221b0b49d61a5b45fec8f98fa63bb1fdb995cce08833163c11a052560b459897eac6db2943813bdd9324f62e8c98238475db0c1e821196e178fe989fff7
-MISC ChangeLog 25793 SHA256 6f0d61bfa059b95f72a9cdbfcccf9b2848867fff39a3982f05d94909e7445d4c SHA512 87595bb5f73644d8028ff3c559b38f797166c71ff239126d21116223e1a71509c069264e31caf274de205bcc56ceb6954e520bc3e3fdc0d461a3a4427b310c69 WHIRLPOOL f0b8c98a48fb13684b0d8dcdf85c12c640b4818e29eadaed382ad9641c8222db57957c11a2e6df05f1d23b3fe39a4ba0e0f4be0a72dd9795021c01a237d5bded
+MISC ChangeLog 26000 SHA256 b7af54c3ba3380bd9f5e8778ea19a8eae2081209e9064969c315149d5cc2698d SHA512 5a3807d8434251b3e886f68dcd7b86de58f8a595226ec4ba274f343aa8d33b3e8c753811be2bed7c3babd8502065b25ecfd80342878066bcce5da74410838252 WHIRLPOOL 20f91bd353d6ec56027bb6212a959e0d431707317ae84b07c9299df1405c22f346989666e37d8de2392639af988c377b8acf4f174db7e9751274b29daee1a7d5
MISC metadata.xml 664 SHA256 769529e78a4d3270ae5c627e09783ffd6e122e24c5e931317d0832b6273ee586 SHA512 84392c28c30904caba637a5f90fc73512f028f706f5a805c1181a9fc63b93e9794dc17ade2016d969796b32c6ab6b8530f549298b099ae67c65d03a62d64955b WHIRLPOOL a4690e0bf4b66e94d072b0f6d0297da7fd208277b3302862087f2d274438167c97f2a33a6ad43e76fea2f754190e2b40cfc6a7d7ee562538ef6c479d08f36d0c
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
-iQJ8BAEBCABmBQJUFXZTXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
+iQJ7BAEBCABmBQJUzNOjXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQzNTVDNDczOUYzRjJEMTRGNDRGMzU2RkMw
-OUJGNEY1NEMyQkE3RjNDAAoJEAm/T1TCun88MkQP/A54Aal3XldqBjmM4iJTtsGW
-6zePufGmWSsAkzHBL4w0C4V+4T8TvVfL4J3D4aaDmhe3zPBzqub2NJlfFfuycsyW
-p8bGGhU8l3kqajoOUMRgNQUYlpVphpImIzUiSQG2isDNxe8ojhHWRwKhbMREZg/6
-8Dg1MDgSwtsodzSY3SLuli9Kq/9gGg9LFSpuWfeVBWvkuUpDOaZLZ7lBQZqhZwT6
-kAO8RUerHfw55D0dJwhIVdLBX2dxmeZU9HwIllC2LKeW945IMaQCdFbHcooW8PJj
-qqYUVvydHrTIwKYvFR2pGezwXqoBNvly9QfFV+q/Hvkjrl48KdjJBTRblxumYMYi
-HAkZxAGyu2C7vj8J7RT7xhXk4t/mAu+okl2QQkm2dlbTtpSm6G1CYqdl9v9YMhlE
-HKSZTAvgwrL+oUeyHd4vVs41SS6bSVBQjvvMXWDnSOZF3HdqmG9dax/2jdSApzAp
-Qn7KG5hAIGc64haeEA8RuJs9rYkFaIxVwRKpYZn3EBEfRw6dnCKlyBJf/10RGRRQ
-ij0HTGONmdH7VeHj67KGz6lymV0aexj1zTak/RZH7/25x0i8jUeVBK3IhUAfoRfh
-eZOLLnOo0oRbd2ezWf26IyOqY5x47wMr++Gj/KIzLM1vbItzGJUt9Hm3kU72GIqw
-Vmua7XpL5cu6kCNPKFkV
-=SDnX
+OUJGNEY1NEMyQkE3RjNDAAoJEAm/T1TCun88mBYP91YhzPmiYSW3OwCCtiWAR7iS
+mUbaDnRkeLxBC7yElBGl9Ex/NDBhqP80aAVixSdMKV0wndueqW6Wy85lWX424+Gv
+53GW0f7kgXrs0dDMVdKDrSgTAUtreNnQVUxfpJN7pBC8I4d8H552vyeNvuH06lhS
+eksx6XsUtuTBXGL4MwpU157vxFILNETZhbsLEwOMQjIhEcEEycac9s24RerqsLlo
+hGjJv54yJZ+I3BBDuhjgWOXXtslJI2KQeduo/vQqMdWYFhHAusj6TQchoNfgbybw
+uCQvOsK22uNtp78m5JR+h4YA21GIfX/qthMrXV01dPrpTANmCOgYSGqkjIwPIVnU
+rpltGwbdJCo1hd1PgV9I9raEzfS5zHUkIxkdPOc5HIYta/MfYq94j+uRTAMQ4buE
+ORFAjEBTcjghs0wBhKbUjV2VsReDj94aCm7qsR5jTBsIOnAaB062t5a2TyLPdcVh
+z1cLis4xfDuJ4VhhPhlcx9yZAgmRyYc9HBZwbmcRZ6+fu2dMALrsjoRxDPOTU/4C
+xl1e1eEeKr91p/ugPMt4ci58eC/h16WdXOtqY4mO3xzev8CptCHlbR5h7UZ/pzmn
+k+eemTzvMzp8fcar2ERPhoICBLy/kfYqUyobyV3a0bgQrO4tsQYKWjIqsilLHjKZ
+POppmF+NLBUr/Zot7oM=
+=tKCG
-----END PGP SIGNATURE-----
diff --git a/net-ftp/vsftpd/files/vsftpd.init b/net-ftp/vsftpd/files/vsftpd.init
index 1650da1b325c..e1c26c7d8a5b 100644
--- a/net-ftp/vsftpd/files/vsftpd.init
+++ b/net-ftp/vsftpd/files/vsftpd.init
@@ -1,7 +1,7 @@
#!/sbin/runscript
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2
-# $Header: /var/cvsroot/gentoo-x86/net-ftp/vsftpd/files/vsftpd.init,v 1.8 2013/04/20 16:51:02 hwoarang Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-ftp/vsftpd/files/vsftpd.init,v 1.9 2015/01/31 13:07:47 hwoarang Exp $
VSFTPD_NAME=${SVCNAME##*.}
if [ -n "${VSFTPD_NAME}" -a "${SVCNAME}" != "vsftpd" ]; then
@@ -35,13 +35,17 @@ start() {
stop() {
ebegin "Stopping ${SVCNAME}"
+ local retval=0
if [ -f ${VSFTPD_PID} ]; then
- start-stop-daemon --stop --pidfile ${VSFTPD_PID}
+ start-stop-daemon --stop --pidfile ${VSFTPD_PID} || retval=1
+ pkill --full ${VSFTPD_CONF}
else
- ewarn "Couldn't found ${VSFTPD_PID} trying to stop over the process name ${SVCNAME}"
- start-stop-daemon --stop --name ${SVCNAME}
+ ewarn "Couldn't find ${VSFTPD_PID} trying to stop using the config filename ${VSFTPD_CONF}"
+ pgrep --full ${VSFTPD_CONF} > ${VSFTPD_PID}
+ start-stop-daemon --stop --pidfile ${VSFTPD_PID} || retval=1
+ pkill --full ${VSFTPD_CONF}
fi
- eend $?
+ eend ${retval}
}
# vim: ts=4
diff --git a/net-ftp/vsftpd/vsftpd-3.0.2-r4.ebuild b/net-ftp/vsftpd/vsftpd-3.0.2-r4.ebuild
new file mode 100644
index 000000000000..d6da5d9519a0
--- /dev/null
+++ b/net-ftp/vsftpd/vsftpd-3.0.2-r4.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-ftp/vsftpd/vsftpd-3.0.2-r4.ebuild,v 1.1 2015/01/31 13:07:47 hwoarang Exp $
+
+EAPI="4"
+
+inherit eutils systemd toolchain-funcs
+
+DESCRIPTION="Very Secure FTP Daemon written with speed, size and security in mind"
+HOMEPAGE="http://vsftpd.beasts.org/"
+SRC_URI="http://security.appspot.com/downloads/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="caps pam tcpd ssl selinux xinetd"
+
+DEPEND="caps? ( >=sys-libs/libcap-2 )
+ 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-ftp )
+ xinetd? ( sys-apps/xinetd )"
+
+src_prepare() {
+ # kerberos patch. bug #335980
+ epatch "${FILESDIR}/${PN}-2.3.2-kerberos.patch"
+
+ # Patch the source, config and the manpage to use /etc/vsftpd/
+ epatch "${FILESDIR}/${PN}-2.3.5-gentoo.patch"
+
+ # Fix building without the libcap
+ epatch "${FILESDIR}/${PN}-2.1.0-caps.patch"
+
+ # Fix building on alpha. Bug #405829
+ epatch "${FILESDIR}/${PN}-3.0.2-alpha.patch"
+
+ # Increase AS_LIMIT. Bug #522412
+ epatch "${FILESDIR}/${P}-aslim.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 || die
+ epatch "${FILESDIR}"/${PN}-2.2.0-dont-link-caps.patch
+ fi
+
+ # Let portage control stripping
+ sed -i '/^LINK[[:space:]]*=[[:space:]]*/ s/-Wl,-s//' Makefile || die
+
+ #Bug #335977
+ epatch "${FILESDIR}"/${PN}-3.0.0-Makefile.patch
+
+ #Bug #450536
+ epatch "${FILESDIR}"/${P}-remove-legacy-cap.patch
+
+ epatch_user
+}
+
+src_compile() {
+ # Override LIBS variable. Bug #508192
+ LIBS=
+ use caps && LIBS+=" -lcap"
+ use pam && LIBS+=" -lpam"
+ use tcpd && LIBS+=" -lwrap"
+ use ssl && LIBS+=" -lssl -lcrypto"
+
+ CFLAGS="${CFLAGS}" \
+ CC="$(tc-getCC)" \
+ emake LIBS="${LIBS}"
+}
+
+src_install() {
+ into /usr
+ doman ${PN}.conf.5 ${PN}.8
+ dosbin ${PN} || die "disbin failed"
+
+ dodoc AUDIT BENCHMARKS BUGS Changelog FAQ \
+ README README.security REWARD SIZE \
+ SPEED TODO TUNING || die "dodoc failed"
+ newdoc ${PN}.conf ${PN}.conf.example
+
+ docinto security
+ dodoc SECURITY/* || die "dodoc failed"
+
+ insinto "/usr/share/doc/${PF}/examples"
+ doins -r EXAMPLE/* || die "doins faileD"
+
+ insinto /etc/${PN}
+ newins ${PN}.conf{,.example}
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/${PN}.xinetd" ${PN}
+ fi
+
+ newinitd "${FILESDIR}/${PN}.init" ${PN}
+
+ keepdir /usr/share/${PN}/empty
+
+ exeinto /usr/libexec
+ doexe "${FILESDIR}/vsftpd-checkconfig.sh"
+ systemd_dounit "${FILESDIR}/${PN}.service"
+ systemd_newunit "${FILESDIR}/${PN}_at.service" "${PN}@.service"
+ systemd_dounit "${FILESDIR}/${PN}.socket"
+}
+
+pkg_preinst() {
+ # If we use xinetd, then we set listen=NO
+ # so that our default config works under xinetd - fixes #78347
+ if use xinetd ; then
+ sed -i 's/listen=YES/listen=NO/g' "${D}"/etc/${PN}/${PN}.conf.example
+ fi
+}
+
+pkg_postinst() {
+ einfo "vsftpd openRC 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"
+}