On Tuesday 24 April 2007 15:03, Philip Hazel wrote:
> On Tue, 24 Apr 2007, Magnus Holmgren wrote:
> > Hmm again, body_linecount and body_zerocount are written to the spool
> > (-H) file, but not the rest. But AFAICT, those variables are purely
> > informational, do not control Exim's processing of the message, and are
> > written to the -H file merely so that they won't have to be recalculated
> > on every delivery attempt. Is that correct? On the other hand,
> > message_body_size and message_size are recalculated, but that's much
> > easier.
>
> I knew this was a complicated area. That is why I am resisting strongly
> your attempt to persuade me to go there. :-)
>
> Those variables *can* control Exim's processing if the configuration
> refers to them.
Yeees, but not the internal processing? Thus it is possible, as a last resort
(giving us three options in total), to declare that if local_scan() rewrites
the message body, then body_linecount and body_zerocount may not be accurate
anymore. The user needs to be aware of it but Exim won't go up in smoke and
turn the message into a smouldering heap of rubble.
Perhaps the best (or simplest) solution is, after all, to add body_linecount
and body_zerocount to the API, and make it the responsibility of the
local_scan() function to update them? Still, I don't think it's that
complicated. Isn't it true that all line endings are converted to '\n' on
reception?
Whatever the decision, I'd very much appreciate one in the next few days,
otherwise I'll have to ask Marc Haber to back out the "reduce the dynamic
symbol table" patch from the "dynamic local_scan" patch.
--
Magnus Holmgren holmgren@???
(No Cc of list mail needed, thanks)
"Exim is better at being younger, whereas sendmail is better for
Scrabble (50 point bonus for clearing your rack)" -- Dave Evans