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
 }

Reply via email to