Package: apache2-common Version: 2.0.54-4 Severity: normal Tags: patch
The /etc/init.d/apache2 init script that comes with apache2-common has a logic error that causes the script to always fall back to killing apache instead of using apache2ctl -k stop. Basically it's because this: if `apache2 -t > /dev/null 2>&1`; then will always be false, due to being in backticks. After fixing this, I also noticed and added a fix for bug 290060, which is that `apache2 -k stop' is being called inside this if statement instead of `apache2ctl -k stop'. -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.12-rc4 Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8) Versions of packages apache2-common depends on: ii apache2-utils 2.0.54-4 utility programs for webservers ii debconf 1.4.51 Debian configuration management sy ii debianutils 2.14.1 Miscellaneous utilities specific t ii libc6 2.3.5-1 GNU C Library: Shared libraries an ii libdb4.2 4.2.52-19 Berkeley v4.2 Database Libraries [ ii libexpat1 1.95.8-3 XML parsing C library - runtime li ii libgcc1 1:4.0.0-11 GCC support library ii libmagic1 4.12-1 File type determination library us ii mime-support 3.34-1 MIME files 'mime.types' & 'mailcap ii net-tools 1.60-13 The NET-3 networking toolkit ii openssl 0.9.7g-1 Secure Socket Layer (SSL) binary a ii ssl-cert 1.0-11 Simple debconf wrapper for openssl apache2-common recommends no packages. -- no debconf information
--- /etc/init.d/apache2 2005-06-29 14:19:11.000000000 -0700 +++ /etc/init.d/apache2.fixed 2005-06-29 14:19:08.000000000 -0700 @@ -42,14 +42,12 @@ fi done - if `apache2 -t > /dev/null 2>&1`; then + 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 + $APACHE2CTL -k stop CNT=0 while [ 1 ]