Patching advice?

Benjamin Donnachie benjamin at pythagoras.no-ip.org
Sun Mar 25 14:36:44 EST 2007


I've offered to help write a patch for cyrus so that it adds
personalised adverts to the top of incoming emails.  Before I continue,
I should point out that the organisation concerned donates the money
raised to a number of charities.

I prefer the solution of patching cyrus, rather than modifying the
message before it is delivered, so that cyrus duplicate detection
continues to work.

I think that the deliver function in lmtpd.c needs modifying but it's
taking me some time to get my head around the cyrus internals,
particularly as I'm involved in several other projects at the moment.

Ideally, what I would like to do is add a configuration file option to
enable calling an external program, with configurable (or even set)
command line options (eg user name), to modify the message in some way
after duplicate detection but before any forwarding with sieve; probably
using stdin and stdout.

That way the extra functionality can be used for a whole host of
different purposes.  In this case, the advert will be added by using
MIME to wrap the original message but that's irrelevant to this discussion.

Consequently, I'd be very grateful if someone could point me to any
documentation on the cyrus internals.  Though, I'd be incredibly
grateful if someone could confirm that I'm on the right track and,
perhaps, the best place to insert this code and confirmation of the
structures / variables that I need to play with.

Many thanks,

Ben



More information about the Info-cyrus mailing list