]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/exim/templates/manualroute.erb
remove grieg (RT#4393)
[dsa-puppet.git] / modules / exim / templates / manualroute.erb
index 6170a614bba21d0656244128485d5d2c4203cad8..3522f84d06b4a51cdebbfd59e6e9f1d735b22b69 100644 (file)
@@ -5,50 +5,36 @@
 ## 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:          [172.17.12.2]::25
-fano.debian.org:           [172.17.12.3]::25
-'
+mxmatches = [ @fqdn ]
+routes = []
+extraroutes = []
+
+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+(.*?)\.?$')
+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")
 %>