On Tue, 25 Apr 2000, Peter Galbavy wrote:
> 1. Queue management API
>
> Having had a cursory, but not detailed look, at the docs, I am not sure if
> there is a "formal" API to the queue. The reason I think I would want one is
> to provide a web-based version of "exim -bpa" for each domain owner. As exim
> changes versions, the internal API is likely (Phil ?) to change as it needs
> to evolve. This may stop things working between versions. Is there a need
> (apart from mine) to have a relatively static queue API ?
It's been pretty static for some time, though new things get added to
the -H files from time to time. The queue *is* the -H files. There is no
separate data structure to keep in step. The format of these files is
documented in the manual. I will try my damnedest never to add anything
that is a major incompatibility, because it would make updating to that
version of Exim messy. Have a look at the function spool_read_header()
in the spool_in.c source module. Notice that it ignores flagged lines
that it doesn't understand. This is for compatibility reasons.
> If there isn't, I may be able to volunteer some resource to look at
> proposing something based on eximon (?).
Eximon incorporates the spool_in.c module! (But rather messily. I'm not
too proud of the way I did that.)
> list-a@??? includes list-b@???
>
> With exim (as per normal configuration) the list-a is expanded to include
> the members of list-b when the two domains are both "local". There are two
> problems with this; (a) Confidentiality - if a list has another list as
> members, this does not imply that the membership list is published,
Why is there a confidentiality problem? The members don't get put into
the message.
> and (b)
> accounting; when the list is expanded, the mail is sent as part of
> "example.com" and not "sample.com".
>
> For both these, is there a way of telling exim to "chain" the expansions and
> treat each address as a monolithic destination, even when both are local to
> the same machine ?
What you seem to want is for the address list-b@???, despite
sample.com being a local domain, to be treated as a remote address, and
furthermore, even though it resolves to the local host, to send it to
that host (which this time, treats it differently!)
I'm afraid there's no way in Exim of doing that by flicking a switch. I
expect there is some horrible kludge that could be arranged. For
example, not having the list domains as local, recognizing them in a
router, and sending them to the directors if the address does not have a
parent ($domain == $original_domain), otherwise sending them in a
separate message to the local host. I think something like that might
just be possible.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.