[Exim] generic exim filter daemon (proof of concept)

Top Page
Delete this message
Reply to this message
Author: Roelof Naudé
Date:  
To: 'exim-users@exim.org '
Subject: [Exim] generic exim filter daemon (proof of concept)
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
--

hi

find attached a proof of concept for a generic exim filter daemon (efd).
this was coded over a period of a couple of weeks (between other work) and
is not complete (e.g. autoconf support).

efd pre-fork a user defined number of child processes. each child will
pre-thread the minimum number of threads. the threads will grow to the
maximum, depending on load. child process will be restarted if/when it
crashes.

"filters" are loaded at runtime. these filters are c++ shared libraries
dynamic loaded. included in the archive are 4 filters.:
setup - receives complete mail msg frome exim, store it in a temp file,
unpacks it
oav - ask openantivirus to scan the unpacked msg
sa - scan all or part of the msg for spam
cleanup - cleanup all temp files

a local_scan.c is provided as well as a patch to add efd global config
options to exim.

a notification will be send to each recpt if a msg is rejected
(configureable).

the exim config options are as follows:
efd_portno - port number efd listens on
efd_hostname - hostname
efd_ret_on_error - return value if an error occurs (i.e. RET_ACCEPT,
RET_REJECT, RET_TMPREJECT)
efd_send_report_rcpt - send notification to recpt in msg rejection;
efd_rcpt_report - body of above notification (must contain one %s for filter
defined error message);
efd_rcpt_report_subject - subject of above notification

please provide feedback/critic/etc. i know that documentation is
non-existant. please ask if you need any help. reading the included readme
file is advised!

regards
roelof.




--
[ efd.2002.07.22.tgz of type application/octet-stream deleted ]
--