## Format:
## domain: hostname[::port] options
## example:
-## buildd.debian.org: raff.debian.org::587 byname
+## buildd.debian.org: foobar.debian.org::587 byname
<%=
-mxmatches = [ fqdn ]
-case fqdn
-when 'spohr.debian.org', 'draghi.debian.org' then
+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
-routes = []
-
-mxregex = Regexp.new('^\d+\s+(.*)\.$')
-mxinfo.keys.sort.each do |host|
- mxinfo[host][0]['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
end
end
+routes << extraroutes
+
routes.join("\n")
%>