The introduced implementation of inetd_check() is false.
For an illustration of the failing mechanism, try this
simplified form of said function:
if [ $(which ls >/dev/null) -o $(which ls >/dev/null) ]
then
echo "You claim that /bin/ls is missing"
fi
A correct implementation is achieved by the attached patch:
--
Mats Erik Andersson, fil. dr
Abbonerar på: debian-mentors, debian-devel-games, debian-perl, debian-ipv6
--- /etc/init.d/proftpd.orig 2010-02-21 23:21:33.000000000 +0100
+++ /etc/init.d/proftpd 2010-03-18 10:29:58.000000000 +0100
@@ -69,7 +69,7 @@
inetd_check()
{
- if [ $(which /usr/sbin/inetd >/dev/null) -o $(which /usr/sbin/xinetd >/dev/null) ]; then
+ if [ -z "$(which /usr/sbin/inetd)" -a -z "$(which /usr/sbin/xinetd)" ]; then
echo "Neither inetd nor xinetd appears installed: check your configuration."
fi
}