[exim-dev] local_scan() and the fd

Top Page
Delete this message
Reply to this message
Author: Magnus Holmgren
Date:  
To: exim-dev
Subject: [exim-dev] local_scan() and the fd
The first argument to local_scan() is the file descriptor for the file that
contains the body of the message. While writing to the file isn't
recommended, it isn't forbidden. It can also be highly useful.

SA-Exim can write to the descriptor so that SpamAssassin's safe_mode can be
utilised. Apparently however, it also has to update body_linecount
accordingly, but that variable isn't part of the API, so the author cheated
and declared it, himself, along with smtp_out and primary_hostname.

Unfortunately, thanks to myself, version 4.67-1 of exim4 in Debian no longer
exports all symbols - only the ones declared in local_scan.h and the files
included from it (see http://bugs.debian.org/413602). This of course causes
dlopen() to fail.

Since writing to fd isn't forbidden (and IMHO shouldn't be), either

a) body_linecount (and other variables that may need to be updated) should be
made available to local_scan() so that it can update it, or
b) the message body needs to be rescanned and body_linecount (and any other
variable that may need to be updated) be updated after the call to
local_scan().

Thoughts?

-- 
Magnus Holmgren        holmgren@???
                       (No Cc of list mail needed, thanks)