Tested on RH7

This commit is contained in:
Stuart Gathman
2007-09-25 16:37:26 +00:00
parent 94ce032559
commit 6397b7027f
4 changed files with 16 additions and 14 deletions
+9 -3
View File
@@ -1,6 +1,9 @@
#!/usr/bin/env python #!/usr/bin/env python
# A simple milter that has grown quite a bit. # A simple milter that has grown quite a bit.
# $Log$ # $Log$
# Revision 1.112 2007/09/13 14:51:03 customdesigned
# Report domain on reputation reject.
#
# Revision 1.111 2007/07/25 17:14:59 customdesigned # Revision 1.111 2007/07/25 17:14:59 customdesigned
# Move milter apps to /usr/lib/pymilter # Move milter apps to /usr/lib/pymilter
# #
@@ -280,6 +283,7 @@ milter_log = logging.getLogger('milter')
def read_config(list): def read_config(list):
cp = MilterConfigParser({ cp = MilterConfigParser({
'tempdir': "/var/log/milter/save", 'tempdir': "/var/log/milter/save",
'datadir': "/var/log/milter",
'socket': "/var/run/milter/pythonsock", 'socket': "/var/run/milter/pythonsock",
'timeout': '600', 'timeout': '600',
'scan_html': 'no', 'scan_html': 'no',
@@ -299,6 +303,7 @@ def read_config(list):
}) })
cp.read(list) cp.read(list)
if cp.has_option('milter','datadir'): if cp.has_option('milter','datadir'):
print "chdir:",cp.get('milter','datadir')
os.chdir(cp.get('milter','datadir')) os.chdir(cp.get('milter','datadir'))
# milter section # milter section
@@ -537,11 +542,8 @@ class SPFPolicy(object):
from Milter.cache import AddrCache from Milter.cache import AddrCache
cbv_cache = AddrCache(renew=7) cbv_cache = AddrCache(renew=7)
cbv_cache.load('send_dsn.log',age=30)
auto_whitelist = AddrCache(renew=30) auto_whitelist = AddrCache(renew=30)
auto_whitelist.load('auto_whitelist.log',age=120)
blacklist = AddrCache(renew=30) blacklist = AddrCache(renew=30)
blacklist.load('blacklist.log',age=60)
class bmsMilter(Milter.Milter): class bmsMilter(Milter.Milter):
"""Milter to replace attachments poisonous to Windows with a WARNING message, """Milter to replace attachments poisonous to Windows with a WARNING message,
@@ -1828,6 +1830,10 @@ def main():
if __name__ == "__main__": if __name__ == "__main__":
read_config(["/etc/mail/pymilter.cfg","milter.cfg"]) read_config(["/etc/mail/pymilter.cfg","milter.cfg"])
cbv_cache.load('send_dsn.log',age=30)
auto_whitelist.load('auto_whitelist.log',age=120)
blacklist.load('blacklist.log',age=60)
if dspam_dict: if dspam_dict:
import dspam # low level spam check import dspam # low level spam check
+2 -2
View File
@@ -23,7 +23,7 @@ pidof() {
# Source function library. # Source function library.
. /etc/rc.d/init.d/functions . /etc/rc.d/init.d/functions
[ -x /var/log/milter/start.sh ] || exit 0 [ -x /usr/lib/pymilter/start.sh ] || exit 0
RETVAL=0 RETVAL=0
prog="milter" prog="milter"
@@ -36,7 +36,7 @@ start() {
mkdir -p /var/run/milter mkdir -p /var/run/milter
chown mail:mail /var/run/milter chown mail:mail /var/run/milter
fi fi
daemon --check milter --user mail /var/log/milter/start.sh milter bms daemon --check milter --user mail /usr/lib/pymilter/start.sh milter bms
RETVAL=$? RETVAL=$?
echo echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/milter [ $RETVAL -eq 0 ] && touch /var/lock/subsys/milter
+5 -7
View File
@@ -118,7 +118,7 @@ cd /var/log/milter
#export PYTHONPATH=/usr/local/lib/python2.1/site-packages #export PYTHONPATH=/usr/local/lib/python2.1/site-packages
exec /usr/local/bin/python bms.py >>milter.log 2>&1 exec /usr/local/bin/python bms.py >>milter.log 2>&1
EOF EOF
%else %else # not aix4.1
cp start.sh $RPM_BUILD_ROOT%{libdir} cp start.sh $RPM_BUILD_ROOT%{libdir}
mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
cp %{sysvinit} $RPM_BUILD_ROOT/etc/rc.d/init.d/milter cp %{sysvinit} $RPM_BUILD_ROOT/etc/rc.d/init.d/milter
@@ -147,7 +147,7 @@ python="%{python}"
w w
q q
EOF EOF
%endif %endif # aix4.1
chmod a+x $RPM_BUILD_ROOT%{libdir}/start.sh chmod a+x $RPM_BUILD_ROOT%{libdir}/start.sh
mkdir -p $RPM_BUILD_ROOT/var/run/milter mkdir -p $RPM_BUILD_ROOT/var/run/milter
@@ -162,7 +162,7 @@ mkssys -s milter -p %{libdir}/start.sh -u 25 -S -n 15 -f 9 -G mail || :
if [ $1 = 0 ]; then if [ $1 = 0 ]; then
rmssys -s milter || : rmssys -s milter || :
fi fi
%else %else # not aix4.1
%post -n milter %post -n milter
#echo "pythonsock has moved to /var/run/milter, update /etc/mail/sendmail.cf" #echo "pythonsock has moved to /var/run/milter, update /etc/mail/sendmail.cf"
/sbin/chkconfig --add milter /sbin/chkconfig --add milter
@@ -179,13 +179,14 @@ fi
if [ $1 = 0 ]; then if [ $1 = 0 ]; then
/sbin/chkconfig --del spfmilter /sbin/chkconfig --del spfmilter
fi fi
%endif %endif # aix4.1
%files %files
%defattr(-,root,root) %defattr(-,root,root)
%config %{libdir}/start.sh %config %{libdir}/start.sh
/etc/logrotate.d/milter /etc/logrotate.d/milter
/etc/cron.daily/milter /etc/cron.daily/milter
#{libdir}/bms.py?
%ifos aix4.1 %ifos aix4.1
%defattr(-,smmsp,mail) %defattr(-,smmsp,mail)
%else %else
@@ -195,9 +196,6 @@ fi
%dir /var/log/milter %dir /var/log/milter
%dir /var/log/milter/save %dir /var/log/milter/save
%config %{libdir}/bms.py %config %{libdir}/bms.py
%if !%{redhat7}
%{libdir}/bms.py?
%endif
%config(noreplace) /var/log/milter/strike3.txt %config(noreplace) /var/log/milter/strike3.txt
%config(noreplace) /var/log/milter/softfail.txt %config(noreplace) /var/log/milter/softfail.txt
%config(noreplace) /var/log/milter/fail.txt %config(noreplace) /var/log/milter/fail.txt
-2
View File
@@ -10,7 +10,5 @@ else
cd /usr/lib/pymilter cd /usr/lib/pymilter
fi fi
cd /var/log/milter
exec >>${appname}.log 2>&1
${python} ${script}.py & ${python} ${script}.py &
echo $! >/var/run/milter/${appname}.pid echo $! >/var/run/milter/${appname}.pid