X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=modules%2Fexim%2Ftemplates%2Fmanualroute.erb;h=3522f84d06b4a51cdebbfd59e6e9f1d735b22b69;hb=8f8949635232414cd22ed6e413f9c8aff4c5f306;hp=40062d8dccd1e7f218624c83c22df2552a870f57;hpb=8bbc9419b28340d5e2e6921a69595692a90c3485;p=dsa-puppet.git diff --git a/modules/exim/templates/manualroute.erb b/modules/exim/templates/manualroute.erb index 40062d8d..3522f84d 100644 --- a/modules/exim/templates/manualroute.erb +++ b/modules/exim/templates/manualroute.erb @@ -5,27 +5,29 @@ ## Format: ## domain: hostname[::port] options ## example: -## buildd.debian.org: raff.debian.org::587 byname +## buildd.debian.org: foobar.debian.org::587 byname <%= -mxmatches = [ fqdn ] +mxmatches = [ @fqdn ] routes = [] extraroutes = [] -if nodeinfo['mailrelay'] +if scope.function_has_role(['mailrelay']) mxmatches << 'mailout.debian.org' + mxmatches << 'INCOMING-MX' extraroutes = [ "keyring.debian.org:\t\tkaufmann.debian.org" ] + extraroutes << "www-master.debian.org:\t\twolkenstein.debian.org" end -mxregex = Regexp.new('^\d+\s+(.*)\.$') -allnodeinfo.keys.sort.each do |host| - next unless allnodeinfo[host]['mXRecord'] - allnodeinfo[host]['mXRecord'].each do |mx| +mxregex = Regexp.new('^\d+\s+(.*?)\.?$') +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