Author: W B Hacker Date: To: exim users Subject: Re: [exim] dbm/dbmnz 'write' lookup?
Chris Lightfoot wrote: > On Sat, Oct 28, 2006 at 06:07:01PM +0900, Jim Tittsler wrote:
>> Is it possible to have Exim write to a dbm/dbmnz as part of a string
>> expansion or are only reads possible?
>
> You can do this easily from perl code. I've found tdb
> (from the Samba project) a good choice when you have
> concurrent readers and writers, though it can get slow for
> large databases. If you don't want to include perl code
> your choices are: use an RDBMS; use a helper binary; patch
> exim; run an external daemon to do the writes and send
> commands to it over a socket; or some other hacky solution
> like writing the data to the log file and grepping it out
> and saving it in a database from a cron job.
>
What would be of perhaps more general utility:
- ability to use an 'appendfile'-like and/or 'pipe' structure-like call from
within an acl. i.e. write arbitrary entries to an arbitrary file in an arbitrary
format, or to a specified pipe, as is presently limited to the delivery phase.
Such a 'general' tool could, AFAICS, be used to work to various DB files, and
much more.
- more extensive documentation as to how to plug-in alternative scanners in the
'exiscan' area, which already implements several specialized subsets of the
above AND handles specified-format returns.
That seems the better place to go, actually, as it has a long history, is well
debugged, and expects returns.
Ex: Adding IP or socket calls to 'Dspam', to name one, most commonly now
attached to Exim in the delivery phase with router/transport code, yet allegedly
much faster than SA, hence perhaps a valid candidate for invoking in the DATA
phase rather than later.