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" <[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/
