Bug#401491: Enable multiple local_scan libraries to be used

Magnus Holmgren holmgren at lysator.liu.se
Mon Dec 4 03:31:48 CET 2006


Source: exim4
Severity: wishlist

The localscan_dlopen patch makes it possible to provide various scanning 
packages that can be easily installed without having to recompile Exim. The 
benefit of this is diminished by the fact that there can only be one 
local_scan library in use at a time. At the moment, there is only one package 
of this kind in Debian, but someone could want to write a function of their 
own in addition.

The way local_scan functions are called should make it not too hard to call 
more than one of them. First, treat local_scan_path as a list. Then just 
dlopen each library in turn and pass the file descriptor (with the correct 
offset, of course).

The question is just what to do with the return value and error message, 
especially if one filter returns LOCAL_SCAN_TEMPREJECT. I suggest as follows:

If all filters return LOCAL_SCAN_ACCEPT, LOCAL_SCAN_ACCEPT_QUEUE, or 
LOCAL_SCAN_ACCEPT_FREEZE, the result is the most restrictive one.

If one filter returns LOCAL_SCAN_REJECT or LOCAL_SCAN_REJECT_NOLOGHDR, the 
following filters are not run and the result is what the filter returned with 
the error message given by it.

If one filter returns LOCAL_SCAN_TEMPREJECT, then there is the option of 
letting the following filters run, or return immediately. If the following 
filters run, and another filter returns LOCAL_SCAN_REJECT[_NOLOGHDR], then 
that result is used, otherwise the result is the one from the first 
termprejecting filter.

If any filter fails to load, the result is as if that filter returned 
LOCAL_SCAN_TEMPREJECT (isn't LOCAL_SCAN_TEMPREJECT_NOLOGHDR better?), or 
possibly an immediate LOCAL_SCAN_TEMPREJECT.

-- 
Magnus Holmgren        holmgren at lysator.liu.se
                       (No Cc of list mail needed, thanks)

  "Exim is better at being younger, whereas sendmail is better for 
   Scrabble (50 point bonus for clearing your rack)" -- Dave Evans
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/pkg-exim4-maintainers/attachments/20061204/bdb77745/attachment.pgp


More information about the Pkg-exim4-maintainers mailing list