there are a number of path problems with the current dspam.cron script: 1) DSPAM_CONFIGDIR lookup via getent, though DSPAM_HOME != DSPAM_CONFIGDIR 2) data dir is not in DSPAM_CONFIGDIR, but in DSPAM_HOME and with the current logging settings: 1) no logging is done in /var/log/dspam, e.g. in dspam.c:2890 the directory lookup is performed for HOME 2) logrotate fails if any of the logs mentioned in /etc/logrotate.d/dspam does not exist (missingok should be used here)
(In reply to comment #0) > there are a number of path problems with the current dspam.cron script: > > 1) DSPAM_CONFIGDIR lookup via getent, though DSPAM_HOME != DSPAM_CONFIGDIR Don't understand what problem you have with DSPAM_CONFIGDIR. Are you saying that it fails to detect the right location of dspam.conf? Keep in mind that this script must be usable on all hosts, including those where dspam have been installed ages ago. > 2) data dir is not in DSPAM_CONFIGDIR, but in DSPAM_HOME oops, I will fix dspam_logrotate execution in r10. > and with the current logging settings: > > 1) no logging is done in /var/log/dspam, e.g. in dspam.c:2890 the directory > lookup is performed for HOME This directory gets installed only if ! use syslog || use debug. > 2) logrotate fails if any of the logs mentioned in /etc/logrotate.d/dspam does > not exist (missingok should be used here) Ditto
(In reply to comment #1) > > 1) no logging is done in /var/log/dspam, e.g. in dspam.c:2890 the directory > > lookup is performed for HOME > > This directory gets installed only if ! use syslog || use debug. > > > 2) logrotate fails if any of the logs mentioned in /etc/logrotate.d/dspam does > > not exist (missingok should be used here) > > Ditto Yes, i have not enabled USE=syslog, but there are still no logfiles in this directory, the only logging is done in users' ~/.dspam/<uid>.log so either the logging is broken, or there has nothing been logged .. in any case missingok in the logrotate script wouldn't hurt i guess (would at least prevent messages from logrotate cron about file not found)
(In reply to comment #1) > (In reply to comment #0) > > there are a number of path problems with the current dspam.cron script: > > > > 1) DSPAM_CONFIGDIR lookup via getent, though DSPAM_HOME != DSPAM_CONFIGDIR > > Don't understand what problem you have with DSPAM_CONFIGDIR. Are you saying > that it fails to detect the right location of dspam.conf? Keep in mind that > this script must be usable on all hosts, including those where dspam have been > installed ages ago. It is working for me, just the comment in dspam.cron is a bit misleading: # Something is wrong in passwd! Check if /etc/mail/dspam exists instead. maybe add a note that the getent check is only for legacy reasons and nothing is wrong with my /etc/passwd ..
All the issues have been fixed in r10. When syslog flag is disabled, /var/log/dspam/dspam.log file is used instead.
I've just realized that dspam_logrotate must be executed in Home dir because this is the location of system.log file. Fixed in r11.