diff options
-rw-r--r-- | manifests/init.pp | 30 | ||||
-rw-r--r-- | manifests/satellite.pp | 3 | ||||
-rw-r--r-- | templates/master.cf.debian-7.erb | 8 | ||||
-rw-r--r-- | templates/master.cf.debian-8.erb | 9 |
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 |