Package: spamass-milter
Version: 0.3.1-1

I dectect a communication error between sendmail and spamass-milter, if /var/run is on a tmpfs. Sendmail is started after spamass-milter and therefor the socket cannot be created. One solution is an alternative place for SOCKET: /var/run/spamass-milter/spamass.sock. This could be specified in the /etc/default/spamass-milter file:

# Socket location
SOCKET=/var/run/spamass-milter/spamass.sock

And this modification in /etc/init.d/spamass-milter creates the Socket directory, if not available:

--- spamass-milter.ORIG 2006-06-15 17:58:01.000000000 +0200
+++ spamass-milter      2006-06-15 18:10:31.000000000 +0200
@@ -52,6 +52,10 @@
   start)
        echo -n "Starting $DESC: "

+       # create the socket directory, if /var/run on tempfs
+       DIRECTORY=`echo $SOCKET | sed 's!/[^/]\+$!!'`
+       [ ! -d $DIRECTORY ] && mkdir $DIRECTORY
+
start-stop-daemon --start -p $PIDFILE --exec $DAEMON -- -P $PIDFILE -f -p $SOCKET $OPTIONS

        echo "${DAEMON}"

I have tested this modification and think it works. I think also this should be done in every case, because the File System Hierarchy Standard says:

Files under this directory [/var/run] must be cleared (removed or truncated as appropriate) at the beginning of the boot process.

See: http://www.pathname.com/fhs/pub/fhs-2.3.html#THEVARHIERARCHY

Best regards
Herbert Straub

Reply via email to