Re: [Exim] Multi-condition ACL statement in a macro possible…

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Philip Hazel
Date:  
À: Pat Lashley
CC: exim-users, Robert Kehl
Sujet: Re: [Exim] Multi-condition ACL statement in a macro possible?
On Tue, 16 Sep 2003, Pat Lashley wrote:

> Right. But I wasn't really going for maximum speed. My assumption
> was that macro processing, include processing, and basic lexical
> analysis and parsing were a sufficiently high percentage of config
> file parsing to be worth optimizing down to reading a single pre-tokenized,
> pre-parsed file.


That's where I feel it won't actually prove to be worthwhile.

> No, that is disk blocks; which have been 512 bytes for a couple of
> decades now.


I've only been working with Unix for just over a decade; before that I
was an IBM mainframe programmer, and disk blocks were whatever size you
chose to make them. Before *that*, IIRC, on the Titan/Atlas system we
used, disk blocks were 512 x 48-bit words...

> Modern filesystems do tend to work in some multiple
> of disk blocks for the base level I/O; but that multiple is often
> a tunable. And even when it isn't, it varies widely among different
> OSes and filesystem types.


Indeed. Seems to be 512 bytes on Solaris and FreeBSD, and 1K on Linux
and OSF1 (whatever it's called now), to name a few I can check.

> Actually, I just thought of that last one; and I suspect it would
> be the easiest to do. The basic idea is a combination of the add
> and remove functions. It would expand the string, then remove any
> old instance(s) of the given header, then add a new one using the
> expanded string. This would provide a clean way to do things like:
>
>    headers_replace Subject: [mumble] $h_subject

>
> (Or similarly with a space instead of the underscore in a filter.)


Already WishListed:

------------------------------------------------------------------------------
(41) 14-Oct-98 M Find a way of modifying header lines
Oliver Smith

The problem with header_remove followed by header_add is that you can't refer
to the previous value of the header when adding a replacement. This could be
solved with a replace_header option.
------------------------------------------------------------------------------

That's rather a long time ago... There are a number of header-related
items on the Wish List. Maybe I should have a campaign.

Philip.

--
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book:    http://www.uit.co.uk/exim-book