ports/114106: mail/postgrey does not properly shut down via rc.d script

Miroslav Lachman 000.fbsd at quip.cz
Fri Feb 20 19:10:47 UTC 2009


stefan at FreeBSD.org wrote:
> Synopsis: mail/postgrey does not properly shut down via rc.d script
> 
> State-Changed-From-To: feedback->closed
> State-Changed-By: stefan
> State-Changed-When: Fri Jan 16 14:12:18 UTC 2009
> State-Changed-Why: 
> Feedback timeout, and the port has been updated in the meantime.
> 
> http://www.freebsd.org/cgi/query-pr.cgi?pr=114106

Can somebody reopen it?

I can confirm this behavior.
There are two problems:
1] wrong rc.d script which doen't accept custom postgrey_pidfile

This is the end of the file:
--------
pidfile="${postgrey_pidfile}"

load_rc_config $name
run_rc_command "$1"
--------

So if I define my own postgrey_pidfile in rc.conf, this rc script does 
not use it, because load_rc_config $name is at the end. If I move 
load_rc_config $name to the top of the file, it works.


2] too long commandline (postgrey_flags) produce different output of ps 
auxwww and rc shutdown doesn't match the pid + $name

---- this works ----
postgrey_enable="YES"
postgrey_pidfile="/var/run/postgrey/postgrey.pid"
postgrey_flags="--pidfile=${postgrey_pidfile} \
         --inet=10023 -d --user=postgrey --group=postgrey \
         --dbdir=/var/db/postgrey --delay=200 --max-age=30 \
         --retry-window=2 --greylist-text='You are greylisted'"

# ps auxwww | grep postgrey
postgrey 66395  0.0  0.3 29420 12028  ??  SsJ   7:41PM   0:00.02 
/usr/local/sbin/postgrey --pidfile=/var/run/postgrey/postgrey.pid 
--inet=10023 -d --user=postgrey --group=postgrey 
--dbdir=/var/db/postgrey --delay=200 --max-age=30 --retry-window=2 
--greylist-text=You are greylisted (perl)
---------------------


---- this doen't ----
postgrey_enable="YES"
postgrey_pidfile="/var/run/postgrey/postgrey.pid"
postgrey_flags="--pidfile=${postgrey_pidfile} \
         --inet=10023 -d --user=postgrey --group=postgrey \
         --dbdir=/var/db/postgrey --delay=200 --max-age=30 \
         --retry-window=2 --greylist-text='You are greylisted - some 
very long long long long long long long long long long long test'"


# ps auxwww | grep postgrey
postgrey 66490  1.1  0.3 29424 12020  ??  SsJ   7:44PM   0:00.02 [perl]
---------------------


Tested in Jail on FreeBSD 7.1-STABLE #0: Wed Feb 11 09:56:08 CET 2009 
   /usr/obj/usr/src/sys/GENERIC  amd64


Miroslav Lachman



More information about the freebsd-ports-bugs mailing list