Re: [Exim] Request for config modularity (Probably Wishlist …

Top Page
Delete this message
Reply to this message
Author: Blaine Simpson
Date:  
To: exim-users
Subject: Re: [Exim] Request for config modularity (Probably Wishlist Material)
I wouldn't add entirely unnecessary complexity to the Exim distro for this.
Anybody who wants to can break any file down into component files in a
directory of their choosing and run

     cat /path/to/component/dir/* >> /path/to/resultant/file


whenever they want. This is a well-worn UNIX idiom. I doubt if
Metzler or Haber would consider their work remarkable (considering that
doing this manually is extremely easy). Starting the component file names
with numbers of the same length is a good idea because sorting
localizations can sort "00_" and "001" in different orders.


Greg Folkert wrote:
> --
> I am an admittedly huge zealot for the Debian way of doing things...
>
> But, don't let that cloud you judgment here.
>
> I am using exim v4.30 with exiscan compiled in (exim4-daemon-heavy) from
> the debian repositories. Recently Andreas Metzler and Marc Haber made a
> truly remarkable change to the way the Exim Config is handled in Debian.
>
> Instead of having one huge monolithic config file, with which I
> sometimes get corn-fused as to exactly where I am in the file, I have a
> "conf.d" directory with more directories such as:
>
> acl, auth, main, retry, rewrite, router, transport
>
> Possibly could be more or less as well. But each of those Directories
> have files like (this is the list of files in router):
>
> 00_exim4-config_header
> 100_exim4-config_domain_literal
> 200_exim4-config_primary
> 300_exim4-config_real_local
> 350_exim4-config_spamcheck
> 400_exim4-config_system_aliases
> 500_exim4-config_hubuser
> 600_exim4-config_userforward
> 700_exim4-config_maildrop
> 800_exim4-config_procmail
> 900_exim4-config_local_user
> 970_exim4-config_catchall_otherdom
> 970_exim4-config_catchall_somedom
> mmm_mail4root
>
> Example of 970_exim4-config_catchall_otherdom:
>
>     otherdom_catch:
>        driver = redirect
>        data = dork@???
>        domains = otherdom.com

>
> Example of 350_exim4-config_spamcheck
>
>   # SpamAssassin
>   spamcheck_router:
>     no_verify
>     check_local_user
>     # When to scan a message :
>     #   -   it isn't already flagged as spam
>     #   -   it isn't already scanned
>     condition = "${if and { {!def:h_X-Spam-Flag:} {!eq
> {$received_protocol}{spam-scanned}}} {1}{0}}"
>     driver = accept
>     transport = spamcheck

>
> And so on... I have added some routers (similar to the displayed ones)
> to one of my more lighty used machines... just so the idea isn't foggy.
> I really like having the ability to manage things more easily.
>
> I can add a transport with a useful name in it and run the config
> update... which BTW does make the Monolithic config for exim4... just
> hat it is compiled from the small config files.
>
> I really like this idea, I have even began to use it for my Apache
> configs too... makes the whole thing much more easily maintainable.
>
> I would ask that if Andreas and/or Marc could expand on my request, I
> would be very happy about that.
>
> Clarifications needed? You know I am subscribed! :)
> --
> greg@???
> REMEMBER ED CURRY! http://www.iwethey.org/ed_curry
> --
> Content-Description: This is a digitally signed message part
>
> [ signature.asc of type application/pgp-signature deleted ]
> --
>
>
> --
>
> ## List details at http://www.exim.org/mailman/listinfo/exim-users Exim details at http://www.exim.org/ ##
>


--
ICF:  703-934-3692       Cell:  703-944-9317