I'm running exim 3.13 and as part of controlling who can use some
mailing lists, I have a senders line similar to the following as part of
the forwardfile director's config :
senders = "!${if exists {/usr/mail/lists/test/.invalidusers} \
{lsearch;/usr/mail/lists/test/.invalidusers}}:\
*@ohm.york.ac.uk:\
lsearch;/usr/mail/lists/.validusers:\
${if exists {/usr/mail/lists/test/.validusers} \
{lsearch;/usr/mail/lists/test/.validusers}}:\
${if exists {/usr/mail/lists/test/.${local_part}.validusers}
\
{lsearch;/usr/mail/lists/test/.${local_part}.validusers}}"
If the file /usr/mail/lists/test/.validusers exists then everything
works fine. If it does not exist then I get the following error :
LOG: 0 PANIC DIE
failed to open /usr/mail/lists/.validusers: for linear search: No such
file or directory
Note that the file it's complaining about is /usr/mail/lists/.validusers
(which does exist) and not /usr/mail/lists/test/.validusers.
If I change senders to :
senders = "!${if exists {/usr/mail/lists/test/.invalidusers} \
{lsearch;/usr/mail/lists/test/.invalidusers}}:\
*@ohm.york.ac.uk:\
lsearch;/usr/mail/lists/.validusers:\
${if exists {/usr/mail/lists/test/.validusers} \
{lsearch;/usr/mail/lists/test/.validusers}} :\
${if exists {/usr/mail/lists/test/.${local_part}.validusers}
\
{lsearch;/usr/mail/lists/test/.${local_part}.validusers}}"
the problem disappears.
The change being the insertion of a space before the colon in the 6th
line.
Can anyone tell if this is valid behaviour (and if so, why?), or a bug?
Terry Edhouse
Department of Electronics
University of York