Holy smokes! Anyone willing to try break this down into English for the rest of us noobs who have no clue what this is or what it does. I would love to use it as a learning experience and enrich my knowledge of Exim.
Regards Michael ----- Original Message ----- From: "John W. Baxter" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Saturday, February 17, 2007 7:39 AM Subject: Re: [exim] how to set up RelayCountry On 2/15/07 7:22 AM, "Mike Cardwell" <[EMAIL PROTECTED]> wrote: > If you just want to add the header, you can do it natively in exim: > > Stick this in your data acl: > > warn set acl_m0 = > acl = acl_relay_countries > condition = ${if ! eq{$acl_m0}{}} > message = X-Relay-Countries: $acl_m0 > > Create a recursive acl as follows: > > acl_relay_countries: > warn set acl_m3 = ${if eq{$acl_m3}{}{$h_received:}{$acl_m3}} > set acl_m2 = ${if match{$acl_m3}{\N^[^\[]+\[([^\]]+)\]\N}{$1}{}} > set acl_m3 = ${sg{$acl_m3}{\N^[^\[]+\[([^\]]+)\](.*)\N}{\$2}} > warn condition = ${if match{$acl_m2}{\N^\d{1,3}(\.\d{1,3}){3}$\N}} > !condition = ${if match_ip{$acl_m2}{+private_networks}} > set acl_m5 = > ${sg{$acl_m2}{\N^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$\N}{\$4.\$3.\$2.\$ > 1.zz.countries.nerd.dk}} > set acl_m5 = ${lookup dnsdb{txt=<,$acl_m5}{${uc:$value}}{UNKNOWN}} > set acl_m0 = ${if eq{$acl_m0}{}{$acl_m5}{$acl_m0 $acl_m5}} > warn !condition = ${if eq{$acl_m2}{}} > acl = acl_relay_countries > accept > > I only briefly tested the above but it seems to work. > > There should be an obfuscated exim configuration contest. Philip, thou hast builded a monster. ;-) Mike, be grateful for the \N...\N construct (a relatively recent--compared with my use of Exim--and most welcome addition). --John -- ## List details at http://www.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://www.exim.org/eximwiki/ -- ## List details at http://www.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://www.exim.org/eximwiki/
