and not cause a syntax error
[mirror/dsa-puppet.git] / modules / exim / manifests / init.pp
index cf1699d..171e453 100644 (file)
@@ -24,14 +24,14 @@ class exim {
           purge   => true,
           force   => true,
           recurse => true,
-          source  => puppet:///empty/
+          source  => "puppet:///files/empty/"
         ;
         "/etc/exim4/conf.d":
           ensure  => directory,
           purge   => true,
           force   => true,
           recurse => true,
-          source  => puppet:///empty/
+          source  => "puppet:///files/empty/"
         ;
         "/etc/exim4/ssl":
           ensure  => directory,
@@ -144,10 +144,39 @@ class exim {
           group   => Debian-exim,
           mode    => 640
           ;
+        "/var/log/exim4":
+          mode    => 2750,
+          ensure  => directory,
+          owner   => Debian-exim,
+          group   => maillog
+          ;
     }
 
     exec { "exim4 reload":
         path        => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin",
         refreshonly => true,
     }
+
+    case extractnodeinfo($nodeinfo, 'mail_port') {
+      /^(\d+)$/: { $mail_port = $1 }
+      default: { $mail_port = 'smtp' }
+    }
+
+    @ferm::rule { "dsa-exim":
+            description     => "Allow SMTP",
+            rule            => "&SERVICE_RANGE(tcp, $mail_port, \$SMTP_SOURCES)"
+    }
+    @ferm::rule { "dsa-exim-v6":
+            description     => "Allow SMTP",
+            domain          => "ip6",
+            rule            => "&SERVICE_RANGE(tcp, $mail_port, \$SMTP_V6_SOURCES)"
+    }
+    # Do we actually want this?  I'm only doing it because it's harmless
+    # and makes the logs quiet.  There are better ways of making logs quiet,
+    # though.
+    @ferm::rule { "dsa-ident":
+            domain          => "(ip ip6)",
+            description     => "Allow ident access",
+            rule            => "&SERVICE(tcp, 113)"
+    }
 }