Re: [exim] how to set up RelayCountry

Top Page
Delete this message
Reply to this message
Author: W B Hacker
Date:  
To: exim users
Subject: Re: [exim] how to set up RelayCountry
Michael L Griffin wrote:
> 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
>


Might be better off to not.

The 'recursive' code looks vaguely sewing-machine'ish, referring the the
description of a sewing-machine as 'a self-fornicating mechanical device'.

;-)

Bill



> ----- Original Message -----
> From: "John W. Baxter" <jwblist3@???>
> To: <exim-users@???>
> 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" <exim-users@???> 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
>
>
>