Jeff Abrahamson on 15 Jun 2006 15:58:40 -0000


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] exim4 conf (Debian)


On Thu, Jun 15, 2006 at 04:14:25PM +0100, Stephen Gran wrote:
>   [25 lines, 142 words, 1110 characters]  Top characters: -etinoar
> 
> On Thu, Jun 15, 2006 at 10:59:57AM -0400, Jeff Abrahamson said:
> > On Thu, Jun 15, 2006 at 03:42:03PM +0100, Stephen Gran wrote:
> > > Can you send the output of 'exim4 -d+route -bt devnull' ?
> > 
> > Here's the output:
> > 
> > configuration file is /var/lib/exim4/config.autogenerated
> >
> > *** Error in setting up pipe, file, or autoreply:
> > file_transport unset in system_aliases router
> 
> That is quite odd.  
> 
> Now run 
> exim -d+route -DSYSTEM_ALIASES_FILE_TRANSPORT=address_file -bt devnull
> and see if it's different.  If it is, then the macro definition is being
> munged out of existence somehow - check config.autogenerated to make
> sure it's actually defined.  If the behavior is the same, then I am
> beginning to run out of ideas.

Hmm, they are slightly different.  The interesting part of the diff is this:

    85c85
    < file_transport unset in system_aliases router
    ---
    > transport "address_fileNSPORT" not found in system_aliases router

It looks like something is messing up the variable substitution, since
"NSPORT" is the last six characters of SYSTEM_ALIASES_FILE_TRANSPORT.
The variable substitution takes place after config.autogenerated is
created.

Looking in config.autogenerated, I see this:

    jeff@astra:~ $ grep SYSTEM_ALIASES_FILE_TRANSPORT /var/lib/exim4/config.autogenerated
      .ifdef SYSTEM_ALIASES_FILE_TRANSPORT
      file_transport = SYSTEM_ALIASES_FILE_TRANSPORT
    jeff@astra:~ $ grep file_transport /var/lib/exim4/config.autogenerated
      file_transport = SYSTEM_ALIASES_FILE_TRANSPORT
      file_transport = address_file
      file_transport = address_file
    jeff@astra:~ $ grep address_file /var/lib/exim4/config.autogenerated
      file_transport = address_file
      file_transport = address_file
    address_file:
      debug_print = "T: address_file for $local_part@$domain"
    jeff@astra:~ $

The second two lines in the second grep are from the user_forward and
mail4root blocks.


There's a clear work-around: I create the user devnull and establish a
procmail rule for that user that dumps everything received to
/dev/null.  But that's one extra thing to remember to do when I
migrate machines, as well as feeling like a hack.

-- 
 Jeff

 Jeff Abrahamson  <http://jeff.purple.com/>          +1 215/837-2287
 GPG fingerprint: 1A1A BA95 D082 A558 A276  63C6 16BF 8C4C 0D1D AE4B

Attachment: signature.asc
Description: Digital signature

___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug