Package: apache-common Version: 2.0.54-5 Severity: normal Tags: patch 1.
In /etc/init.d on line 76 it says that the script is supposed to exit automagically, but the code responsible goes like this (line 78): PIDS=`pidof apache2` || true and the return value will not be checked later so i suggest it was intended to be: PIDS=`pidof apache2` || exit 2. I suggest to change the test at line 48 to check for the $PID itself instead for checking the $PIDFILE that has allready be verified some lines above: if [ -n $PID ] intead of: if [ -e "$PIDFILE" ]
--- apache2.orig 2005-09-05 16:23:42.000000000 +0200 +++ apache2 2006-03-27 13:14:20.400228312 +0200 @@ -45,10 +45,8 @@ if `apache2 -t > /dev/null 2>&1`; then # if the config is ok than we just stop normaly - if [ -e "$PIDFILE" ] + if [ -n $PID ] then - PID=`cat $PIDFILE` - $APACHE2 -k stop CNT=0 @@ -68,7 +66,7 @@ sleep 1 done else - echo -n " ... no pidfile found! not running?" + echo -n " ... pid not found! not running?" fi else @@ -77,7 +75,7 @@ # if pidof is null for some reasons the script exits automagically # classified as good/unknown feature - PIDS=`pidof apache2` || true + PIDS=`pidof apache2` || exit REALPID=0 # if there is a pid we need to verify that belongs to apache2