From owner-freebsd-ports-bugs@FreeBSD.ORG Sat May 1 07:30:15 2004 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 429CF16A4CE for ; Sat, 1 May 2004 07:30:15 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2280443D1D for ; Sat, 1 May 2004 07:30:15 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) i41EUFJH069144 for ; Sat, 1 May 2004 07:30:15 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.11/8.12.11/Submit) id i41EUFin069140; Sat, 1 May 2004 07:30:15 -0700 (PDT) (envelope-from gnats) Resent-Date: Sat, 1 May 2004 07:30:15 -0700 (PDT) Resent-Message-Id: <200405011430.i41EUFin069140@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Helge Oldach Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0860116A4CE for ; Sat, 1 May 2004 07:21:13 -0700 (PDT) Received: from sep.oldach.net (sep.oldach.net [194.180.25.6]) by mx1.FreeBSD.org (Postfix) with ESMTP id B219143D64 for ; Sat, 1 May 2004 07:21:11 -0700 (PDT) (envelope-from hmo@sep.oldach.net) Received: from sep.oldach.net (localhost [127.0.0.1])i41EL3ee008320 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES256-SHA bits=256 verify=NO); Sat, 1 May 2004 16:21:04 +0200 (CEST) (envelope-from hmo@sep.oldach.net) Received: (from hmo@localhost) by sep.oldach.net (8.12.11/8.12.11/Submit) id i41EL3b5008319; Sat, 1 May 2004 16:21:03 +0200 (CEST) (envelope-from hmo) Message-Id: <200405011421.i41EL3b5008319@sep.oldach.net> Date: Sat, 1 May 2004 16:21:03 +0200 (CEST) From: Helge Oldach To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 cc: spamass-milter-may04@oldach.net Subject: ports/66147: ports/mail/spamass-milter startup script is wrong X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Helge Oldach List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 May 2004 14:30:15 -0000 >Number: 66147 >Category: ports >Synopsis: ports/mail/spamass-milter startup script is wrong >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sat May 01 07:30:14 PDT 2004 >Closed-Date: >Last-Modified: >Originator: Helge Oldach >Release: FreeBSD 4.10-PRERELEASE i386 >Organization: >Environment: System: FreeBSD localhost 4.10-PRERELEASE FreeBSD 4.10-PRERELEASE #1838: Sun Apr 25 00:32:25 CES T 2004 toor@localhost:/usr/obj/usr/src/sys/GENERIC i386 >Description: /usr/local/etc/rc.d/spamass-milter.sh is wrong: "${DAEMON}" -p "${SOCKET}" -f & echo $! > "${PIDFILE}" $! is the PID of the last command that /bin/sh put into background. But since spamass-milter forks itself (-f option) this is *not* the PID of the running spamass-milter process. Hence the PID file contains the PID of a nonexistant process and cannot be used to stop spamass-milter. >How-To-Repeat: >Fix: Use the ./spamass-milter.sh script that is included already in the distribtution. Alternatively, apply the following patch, which will not create a PID file: --- spamass-milter.sh.dist Wed Feb 18 20:38:01 2004 +++ spamass-milter.sh Sat May 1 15:49:11 2004 @@ -2,28 +2,22 @@ DAEMON=/usr/local/sbin/spamass-milter SOCKET=/var/run/spamass-milter.sock -PIDFILE=/var/run/spamass-milter.pid case "$1" in start) if [ -f "${DAEMON}" -a -x "${DAEMON}" ] then - "${DAEMON}" -p "${SOCKET}" -f & - echo $! > "${PIDFILE}" + "${DAEMON}" -p "${SOCKET}" -f sleep 1 kill -HUP `head -1 /var/run/sendmail.pid` echo -n ' spamass-milter' fi ;; stop) - if [ -f "${PIDFILE}" ] - then - read -r pid junk < "${PIDFILE}" - kill ${pid} - rm -f "${SOCKET}" "${PIDFILE}" - sleep 1 - kill -HUP `head -1 /var/run/sendmail.pid` - echo -n ' spamass-milter' - fi + killall $(basename ${DAEMON}) + rm -f "${SOCKET}" + sleep 1 + kill -HUP `head -1 /var/run/sendmail.pid` + echo -n ' spamass-milter' ;; esac >Release-Note: >Audit-Trail: >Unformatted: