## Format:
## domain: hostname[::port] options
## example:
-## buildd.debian.org: raff.debian.org::587 byname
+## buildd.debian.org: foobar.debian.org::587 byname
<%=
-routes = case fqdn
- when 'spohr.debian.org', 'draghi.debian.org' then '
-agnesi.debian.org: agnesi.debian.org::25
-agricola.debian.org: agricola.debian.org::25
-albeniz.debian.org: albeniz.debian.org::25
-ancina.debian.org: ancina.debian.org::2025
-arcadelt.debian.org: arcadelt.debian.org::25
-argento.debian.org: argento.debian.org::25
-brahms.debian.org: brahms.debian.org::25
-crest.debian.org: crest.debian.org::25
-goedel.debian.org: goedel.debian.org::25
-goetz.debian.org: goetz.debian.org::25
-kassia.debian.org: kassia.debian.org::587
-lafayette.debian.org: lafayette.debian.org::25
-lebrun.debian.org: lebrun.debian.org::25
-leisner.debian.org: leisner.debian.org::25
-mahler.debian.org: mahler.debian.org::25
-malo.debian.org: malo.debian.org::25
-mayer.debian.org: mayer.debian.org::25
-merulo.debian.org: merulo.debian.org::25
-morales.debian.org: morales.debian.org::25
-murphy.debian.org: murphy.debian.org::25
-paer.debian.org: paer.debian.org::25
-penalosa.debian.org: penalosa.debian.org::25
-pergolesi.debian.org: pergolesi.debian.org::25
-pescetti.debian.org: pescetti.debian.org::25
-piatti.debian.org: piatti.debian.org::2025
-praetorius.debian.org: praetorius.debian.org::25
-puccini.debian.org: puccini.debian.org::25
-rem.debian.org: rem.debian.org::25
-schroeder.debian.org: schroeder.debian.org::25
-smetana.debian.org: smetana.debian.org::25
-sperger.debian.org: sperger.debian.org::25
-spontini.debian.org: spontini.debian.org::25
-zee.debian.org: zee.debian.org::25
-zelenka.debian.org: zelenka.debian.org::25
-'
- when 'luchesi.debian.org' then '
-finzi.debian.org: finzi.debian.org::25
-fano.debian.org: fano.debian.org::25
-'
+mxmatches = [ @fqdn ]
+routes = []
+extraroutes = []
+
+if scope.function_has_role(['mailrelay'])
+ mxmatches << 'mailout.debian.org'
+ mxmatches << 'INCOMING-MX'
+ extraroutes = [ ]
+ extraroutes << "www-master.debian.org:\t\twolkenstein.debian.org"
+ extraroutes << "tracker.debian.org:\t\tticharich.debian.org"
+end
+
+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 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
+
+routes << extraroutes
+
+routes.join("\n")
%>