X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fexim%2Ftemplates%2Fmanualroute.erb;h=4dec93c2ed180d78b61c5e83f5d38f97bae17ee5;hb=a2fb67cdbc5de12a3b14f9ec01bac8d75f27b966;hp=c798cc9104827a8e295adcf27ea1fd33cb2395d9;hpb=2ca083e7949b5c17c4188dd30ca77634620a7591;p=mirror%2Fdsa-puppet.git diff --git a/modules/exim/templates/manualroute.erb b/modules/exim/templates/manualroute.erb index c798cc910..4dec93c2e 100644 --- a/modules/exim/templates/manualroute.erb +++ b/modules/exim/templates/manualroute.erb @@ -5,30 +5,35 @@ ## Format: ## domain: hostname[::port] options ## example: -## buildd.debian.org: raff.debian.org::587 byname +## buildd.debian.org: grieg.debian.org::587 byname <%= -mxmatches = [ fqdn ] -case fqdn -when 'spohr.debian.org', 'draghi.debian.org', 'merikanto.debian.org' then +mxmatches = [ scope.lookupvar('::fqdn') ] +routes = [] +extraroutes = [] + +if scope.lookupvar('site::nodeinfo')['mailrelay'] mxmatches << 'mailout.debian.org' + extraroutes = [ "keyring.debian.org:\t\tkaufmann.debian.org" ] + extraroutes << "www-master.debian.org:\t\twolkenstein.debian.org" end -routes = [] - mxregex = Regexp.new('^\d+\s+(.*)\.$') -mxinfo.keys.sort.each do |host| - mxinfo[host][0]['mXRecord'].each do |mx| +scope.lookupvar('site::allnodeinfo').keys.sort.each do |host| + next unless scope.lookupvar('site::allnodeinfo')[host]['mXRecord'] + scope.lookupvar('site::allnodeinfo')[host]['mXRecord'].each do |mx| mxmatch = mxregex.match(mx) if mxmatches.include?(mxmatch[1]) route = host + ":\t\t" + host - if localinfo.has_key?(host) and localinfo[host].has_key?('mail_port') and localinfo[host]['mail_port'].to_s != '' - route += "::" + localinfo[host]['mail_port'].to_s + if scope.lookupvar('site::localinfo').has_key?(host) and scope.lookupvar('site::localinfo')[host].has_key?('mail_port') and scope.lookupvar('site::localinfo')[host]['mail_port'].to_s != '' + route += "::" + scope.lookupvar('site::localinfo')[host]['mail_port'].to_s end routes << route end end end +routes << extraroutes + routes.join("\n") %>