Re: [exim] Hosts_randomize inconsistant ?

Top Page
Delete this message
Reply to this message
Author: Andrew Johnson
Date:  
To: exim-users
Subject: Re: [exim] Hosts_randomize inconsistant ?
Hostnames worked as expected in the transport version, it still forgot about
the + though.

If I set hosts_override in the transport, then the system works correctly,
but there is a danger the routing decision earlier could create multiple
transport streams (should a host become unavailable part way through
routing). One possibility is to route to 127.0.0.1 with a self=send option,
then set a hosts & hosts_override with the randomize_hosts in the transport,
this seems to work.. but I'm not happy with it. I'd rather have preferred to
set my hosts in my router, then randomize in the transport and have it
honour the groups.

-Andy-

_____

From: Andrew Johnson [mailto:andrew.johnson@sappsys.co.uk]
Sent: 08 November 2007 15:27
To: 'exim-users@???'
Subject: Hosts_randomize inconsistant ?


I have been pulling my hair out about this for a couple of days, and here is
what I have found - which I believe is inconsistant behaviour in Exim.

Firstly host_randomize=true in routers.

delivery:
driver = manualroute
dsn_process
transport = remote_smtp
hosts_randomize = true
route_data =
md01.swi.test.net:md02.swi.test.net:+:md01.pr.test.net:md02.pr.test.net

remote_smtp:
driver = smtp
connect_timeout = 1m
hosts_avoid_tls = 196.168.0.0/16
multi_domain = false

The results of this are that a new delivery is started for each recipient
even if the user is in the same domain (multiple => lines)

Now, if we change the hostnames for IP addresses....

delivery:
driver = manualroute
dsn_process
transport = remote_smtp
hosts_randomize = true
route_data = 192.168.1.1:192.168.1.2:+:192.168.2.1:192.168.2.2

remote_smtp:
driver = smtp
connect_timeout = 1m
hosts_avoid_tls = 196.168.0.0/16
multi_domain = false

This works perfectly fine !! (1 => followed by multiple ->)


But, lets move the hosts_randomize from the router to the transport :-

delivery:
driver = manualroute
dsn_process
transport = remote_smtp
route_data = 192.168.1.1:192.168.1.2:+:192.168.2.1:192.168.2.2

remote_smtp:
driver = smtp
connect_timeout = 1m
hosts_randomize = true
hosts = 192.168.1.1:192.168.1.2:+:192.168.2.1:192.168.2.2
hosts_avoid_tls = 196.168.0.0/16
multi_domain = false

This time, it completely forgets that I even have the + in there to group my
lists and just picks any at random (though it does at least do them all down
one connection - I didn't try with hostnames here)....

For info, the hostnames & ip's forward and reverse resolve in DNS so they
are technically equal.

-Andy-