Author: Kevin P. Fleming Date: To: exim-users Subject: Re: [Exim] Exim 4.14 ChangeLog item #90: local part prefixes/suffixes
Philip Hazel wrote: > On Fri, 14 Mar 2003, Kevin P. Fleming wrote:
>
>
>>Ideally, I could avoid the complicated router if I could do an LMTP
>>callforward. However, making the callout code be able to handle AUTH is
>>a non-trivial exercise. If you're interested, I'd like to discuss it
>>with you, Philip, just to see if it's doable.
>
>
> Er, yes. That sounds as though it would all sorts of horrible
> complications...
>
>
That's putting it very, very mildly :-) I was thinking along the lines
of breaking up transports/smtp.c into an "smtp connection library" and
an "smtp transport". Then the callout code could use the same connection
library, just invoke the functions in a different sequence. Given that
the code in transport/smtp.c is already fairly well structurec, this is
not as horrible as it sounds.
I think the most difficult part would be coming up with a structure to
store all the "state" for an in-process smtp connection, so it could be
passed to the library functions. Once that is done most of the work
would be just cut&paste, and then a lot of debugging. The upside, of
course, is that the callout code gets to use all the SMTP related stuff
Exim already supports (AUTH and TLS being the biggies), and reduced code
duplication.