summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--manifests/init.pp30
-rw-r--r--manifests/satellite.pp3
-rw-r--r--templates/master.cf.debian-7.erb8
-rw-r--r--templates/master.cf.debian-8.erb9
4 files changed, 42 insertions, 8 deletions
diff --git a/manifests/init.pp b/manifests/init.pp
index d298183..45c8e0c 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -48,11 +48,14 @@ class postfix(
$use_sympa = 'no',
$use_firma = 'no',
$use_mlmmj = 'no',
+ $use_postscreen = 'no',
$use_submission = 'no',
$use_smtps = 'no',
$mastercf_tail = '',
$inet_interfaces = 'all',
$myorigin = $::fqdn,
+ $mailname = $::fqdn,
+ $preseed = false,
$default_alias_maps = true
) {
@@ -76,7 +79,20 @@ class postfix(
}
'Debian': {
- $master_cf_template = "postfix/master.cf.debian-${::operatingsystemmajrelease}.erb"
+ case $::operatingsystemrelease {
+ /^5.*/: {
+ $master_cf_template = 'postfix/master.cf.debian-5.erb'
+ }
+ /^6.*/: {
+ $master_cf_template = 'postfix/master.cf.debian-6.erb'
+ }
+ /^7.*/: {
+ $master_cf_template = 'postfix/master.cf.debian-7.erb'
+ }
+ default: {
+ $master_cf_template = "postfix/master.cf.debian-${::operatingsystemmajrelease}.erb"
+ }
+ }
}
'Ubuntu': {
@@ -117,10 +133,20 @@ class postfix(
include postfix::virtual_regexp
}
- package { ['postfix', 'mailx']:
+ package { 'mailx':
ensure => installed
}
+ if ( $preseed ) {
+ apt::preseeded_package { 'postfix':
+ ensure => installed,
+ }
+ } else {
+ package { 'postfix':
+ ensure => installed
+ }
+ }
+
if $::operatingsystem == 'debian' {
Package[mailx] { name => 'bsd-mailx' }
}
diff --git a/manifests/satellite.pp b/manifests/satellite.pp
index 45a40ad..c6c1a0e 100644
--- a/manifests/satellite.pp
+++ b/manifests/satellite.pp
@@ -21,7 +21,6 @@
# }
# }
#
-
class postfix::satellite(
$relayhost = '',
$valid_fqdn = $::fqdn,
@@ -35,6 +34,8 @@ class postfix::satellite(
class { 'postfix':
root_mail_recipient => $root_mail_recipient,
+ myorigin => $valid_fqdn,
+ mailname => $valid_fqdn
}
class { 'postfix::mta':
diff --git a/templates/master.cf.debian-7.erb b/templates/master.cf.debian-7.erb
index 7b653fb..d243a93 100644
--- a/templates/master.cf.debian-7.erb
+++ b/templates/master.cf.debian-7.erb
@@ -8,8 +8,12 @@
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
-<% if @smtp_listen == 'all' %>smtp inet n - - - - smtpd
-<% else %><%= @smtp_listen %>:smtp inet n - - - - smtpd<% end %>
+#
+<% if @use_postscreen == 'yes' and @smtp_listen == 'all' %>smtpd pass - - n - - smtpd
+smtp inet n - n - 1 postscreen
+tlsproxy unix - - n - 0 tlsproxy
+<% elsif @use_postscreen == 'no' and @smtp_listen == 'all' %>smtp inet n - - - - smtpd
+<% else %><%= @smtp_listen %>:smtp inet n - - - - smtpd<% end %>
#smtp inet n - - - 1 postscreen
#smtpd pass - - - - - smtpd
#dnsblog unix - - - - 0 dnsblog
diff --git a/templates/master.cf.debian-8.erb b/templates/master.cf.debian-8.erb
index 0c5c30c..c555675 100644
--- a/templates/master.cf.debian-8.erb
+++ b/templates/master.cf.debian-8.erb
@@ -7,9 +7,12 @@
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
-# ==========================================================================
-<% if @smtp_listen == 'all' %>smtp inet n - - - - smtpd
-<% else %><%= @smtp_listen %>:smtp inet n - - - - smtpd<% end %>
+ # ==========================================================================
+<% if @use_postscreen == 'yes' and @smtp_listen == 'all' %>smtpd pass - - n - - smtpd
+smtp inet n - n - 1 postscreen
+tlsproxy unix - - n - 0 tlsproxy
+<% elsif @use_postscreen == 'no' and @smtp_listen == 'all' %>smtp inet n - - - - smtpd
+<% else %><%= @smtp_listen %>:smtp inet n - - - - smtpd<% end %>
#smtp inet n - - - 1 postscreen
#smtpd pass - - - - - smtpd
#dnsblog unix - - - - 0 dnsblog