From 6bbb4db43aeb1a580755c37689db16c8ab40c075 Mon Sep 17 00:00:00 2001 From: Geir Tufte Date: Fri, 3 Jun 2016 13:42:31 +0200 Subject: [PATCH 01/10] Fix: Enabling spamassassin on FreeBSD causes catalogue run to fail due to missing directory / broken path to local.cf. The file resource defining this file is hard coded in server.pp. This is now a variable defined i params.pp and server.pp uses this variable. --- manifests/params.pp | 3 +++ manifests/server.pp | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/manifests/params.pp b/manifests/params.pp index 7b80935..436394c 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -23,6 +23,7 @@ $postfix_package_ensure = installed $postgrey_package = 'postgrey' $spamassassin_package = 'spamassassin' + $spamassassin_localcf = '/etc/mail/spamassassin/local.cf' $spampd_package = 'spampd' $spampd_config = '/etc/sysconfig/spampd' $spampd_template = 'postfix/sysconfig-spampd.erb' @@ -49,6 +50,7 @@ $postfix_package_ensure = installed $postgrey_package = 'postgrey' $spamassassin_package = 'spamassassin' + $spamassassin_localcf = '/etc/mail/spamassassin/local.cf' $spampd_package = 'spampd' $spampd_config = '/etc/default/spampd' $spampd_template = 'postfix/default-spampd.erb' @@ -75,6 +77,7 @@ $postfix_package_ensure = installed $postgrey_package = 'mail/postgrey' $spamassassin_package = 'mail/spamassassin' + $spamassassin_localcf = '/usr/local/etc/mail/spamassassin/local.cf' $spampd_package = 'mail/spampd' $spampd_config = '/etc/sysconfig/spampd' $spampd_template = 'postfix/sysconfig-spampd.erb' diff --git a/manifests/server.pp b/manifests/server.pp index 94a43cf..3e9ee69 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -152,6 +152,7 @@ $spamassassin_package = $::postfix::params::spamassassin_package, $spampd_package = $::postfix::params::spampd_package, $spampd_config = $::postfix::params::spampd_config, + $spamassassin_localcf = $::postfix::params::spamassassin_localcf, $spampd_template = $::postfix::params::spampd_template, $root_group = $::postfix::params::root_group, $mailq_path = $::postfix::params::mailq_path, @@ -211,7 +212,7 @@ notify => Service['spampd'], } # Change the spamassassin options - file { '/etc/mail/spamassassin/local.cf': + file { $spamassassin_localcf: require => Package[$spamassassin_package], content => template('postfix/spamassassin-local.cf.erb'), notify => Service['spampd'], From c4010b67a221ca9c1890b97d1b90048f94d7a21f Mon Sep 17 00:00:00 2001 From: Geir Tufte Date: Wed, 6 Jul 2016 11:09:45 +0200 Subject: [PATCH 02/10] New: The append_at_myorigin default value from postfix v3 will be 'no'. Setting default value for this module to 'yes' to avoid any issues --- manifests/server.pp | 1 + templates/main.cf.erb | 1 + 2 files changed, 2 insertions(+) diff --git a/manifests/server.pp b/manifests/server.pp index 3e9ee69..8c51d1c 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -14,6 +14,7 @@ $myhostname = $::fqdn, $mydomain = false, $myorigin = '$myhostname', + $append_at_myorigin = 'yes' $inet_interfaces = 'localhost', $inet_protocols = 'all', $proxy_interfaces = false, diff --git a/templates/main.cf.erb b/templates/main.cf.erb index 2e0beb0..2cf79ae 100644 --- a/templates/main.cf.erb +++ b/templates/main.cf.erb @@ -102,6 +102,7 @@ mydomain = <%= @mydomain %> #myorigin = $myhostname #myorigin = $mydomain myorigin = <%= @myorigin %> +append_at_myorigin = <%= @append_at_myorigin %> # RECEIVING MAIL From d1b4dee2fd0552cc51f1cfef4647a19e6ea0e4dd Mon Sep 17 00:00:00 2001 From: Geir Tufte Date: Wed, 6 Jul 2016 13:01:12 +0200 Subject: [PATCH 03/10] New: Release for postfix adressing the new parameters supporting spamassassin on FreeBSD and the parameter append_dot_myorigin --- metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metadata.json b/metadata.json index 2d4b6ae..86da70f 100644 --- a/metadata.json +++ b/metadata.json @@ -1,6 +1,6 @@ { "name": "thias-postfix", - "version": "0.3.4", + "version": "0.3.5", "author": "Matthias Saou", "license": "Apache-2.0", "summary": "Postfix Mail Transport Agent module", From 8fcbfc59baf2e203007a7349db77c200813cfe06 Mon Sep 17 00:00:00 2001 From: Geir Tufte Date: Wed, 6 Jul 2016 13:08:45 +0200 Subject: [PATCH 04/10] Fix: syntax --- manifests/server.pp | 2 +- metadata.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/server.pp b/manifests/server.pp index 8c51d1c..393d98b 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -14,7 +14,7 @@ $myhostname = $::fqdn, $mydomain = false, $myorigin = '$myhostname', - $append_at_myorigin = 'yes' + $append_at_myorigin = 'yes', $inet_interfaces = 'localhost', $inet_protocols = 'all', $proxy_interfaces = false, diff --git a/metadata.json b/metadata.json index 86da70f..a236be6 100644 --- a/metadata.json +++ b/metadata.json @@ -1,6 +1,6 @@ { "name": "thias-postfix", - "version": "0.3.5", + "version": "0.3.6", "author": "Matthias Saou", "license": "Apache-2.0", "summary": "Postfix Mail Transport Agent module", From c768cb95ac78f103a7f72c3af840c74c16132f1b Mon Sep 17 00:00:00 2001 From: Geir Tufte Date: Thu, 7 Jul 2016 13:25:32 +0200 Subject: [PATCH 05/10] New: Added support for smtp_generic_maps --- manifests/params.pp | 3 +++ manifests/server.pp | 19 ++++++++++++++++++- templates/main.cf.erb | 2 +- templates/smtp_generic_maps.erb | 3 +++ 4 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 templates/smtp_generic_maps.erb diff --git a/manifests/params.pp b/manifests/params.pp index 436394c..c30ccbe 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -33,6 +33,7 @@ $newaliases_path = '/usr/bin/newaliases.postfix' $sendmail_path = '/usr/sbin/sendmail.postfix' $postmap = '/usr/sbin/postmap' + $smtp_generic_maps_file = '/etc/postfix/generic' } 'Debian': { $postfix_version = undef @@ -60,6 +61,7 @@ $newaliases_path = '/usr/bin/newaliases.postfix' $sendmail_path = '/usr/sbin/sendmail.postfix' $postmap = '/usr/sbin/postmap' + $smtp_generic_maps_file = '/etc/postfix/generic' } 'FreeBSD': { $postfix_version = undef @@ -87,6 +89,7 @@ $newaliases_path = '/usr/local/bin/newaliases' $sendmail_path = '/usr/local/sbin/sendmail' $postmap = '/usr/local/sbin/postmap' + $smtp_generic_maps_file = '/usr/local/etc/postfix/generic' } default: { fail("Unsupported OS family ${::osfamily}") diff --git a/manifests/server.pp b/manifests/server.pp index 393d98b..de1a17c 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -13,6 +13,7 @@ # See the main.cf comments for help on these options $myhostname = $::fqdn, $mydomain = false, + $append_dot_mydomain = 'yes', $myorigin = '$myhostname', $append_at_myorigin = 'yes', $inet_interfaces = 'localhost', @@ -84,6 +85,10 @@ $canonical_maps = false, $sender_canonical_maps = false, $smtp_generic_maps = false, + $smtp_generic_maps_type = 'hash', + $smtp_generic_maps_file = $::postfix::params::smtp_generic_maps_file, + $smtp_generic_maps_definitions = [], + $postmap = $::postfix::params::postmap, $relocated_maps = false, $extra_main_parameters = {}, # master.cf @@ -252,6 +257,18 @@ group => $root_group, postfixdir => $config_directory, } - + if $smtp_generic_maps { + file { $smtp_generic_maps_file: + ensure => present, + content => template('postfix/smtp_generic_maps.erb'), + } + ~> + exec { 'Update postmap': + command => "${postmap} ${smtp_generic_maps_file}", + subscribe => File[$smtp_generic_maps_file], + refreshonly => true, + notify => Service['postfix'], + } + } } diff --git a/templates/main.cf.erb b/templates/main.cf.erb index 2cf79ae..af195a2 100644 --- a/templates/main.cf.erb +++ b/templates/main.cf.erb @@ -941,7 +941,7 @@ sender_canonical_maps = <%= @sender_canonical_maps %> <% end -%> <% if @smtp_generic_maps -%> -smtp_generic_maps = <%= @smtp_generic_maps %> + smtp_generic_maps = <%= @smtp_generic_maps_type %>:<%= @smtp_generic_maps_file %> <% end -%> <% if @postscreen -%> diff --git a/templates/smtp_generic_maps.erb b/templates/smtp_generic_maps.erb new file mode 100644 index 0000000..d5c366a --- /dev/null +++ b/templates/smtp_generic_maps.erb @@ -0,0 +1,3 @@ +<% @smtp_generic_maps_definitions.each do |definition| -%> +<%= definition %> +<% end -%> From fcaad69c7fd992f3292fb5751407b6f5b406ecf6 Mon Sep 17 00:00:00 2001 From: Geir Tufte Date: Fri, 8 Jul 2016 09:15:27 +0200 Subject: [PATCH 06/10] New: append_dot_mydomain is its own setting now, default yes --- templates/main.cf.erb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/templates/main.cf.erb b/templates/main.cf.erb index af195a2..be7413c 100644 --- a/templates/main.cf.erb +++ b/templates/main.cf.erb @@ -102,7 +102,9 @@ mydomain = <%= @mydomain %> #myorigin = $myhostname #myorigin = $mydomain myorigin = <%= @myorigin %> + append_at_myorigin = <%= @append_at_myorigin %> +append_dot_mydomain = <%= @append_dot_mydomain %> # RECEIVING MAIL From b0ca3250c34698b9e7c2e211eba6b5e231620b65 Mon Sep 17 00:00:00 2001 From: Geir Tufte Date: Fri, 8 Jul 2016 10:16:45 +0200 Subject: [PATCH 07/10] New: Added support for the utf8 sender address validatation which will change default settings in postfi z >= 3 --- manifests/server.pp | 1 + templates/main.cf.erb | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/manifests/server.pp b/manifests/server.pp index de1a17c..25b231a 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -88,6 +88,7 @@ $smtp_generic_maps_type = 'hash', $smtp_generic_maps_file = $::postfix::params::smtp_generic_maps_file, $smtp_generic_maps_definitions = [], + $smtputf8_enable = 'yes', $postmap = $::postfix::params::postmap, $relocated_maps = false, $extra_main_parameters = {}, diff --git a/templates/main.cf.erb b/templates/main.cf.erb index be7413c..a542a63 100644 --- a/templates/main.cf.erb +++ b/templates/main.cf.erb @@ -943,9 +943,12 @@ sender_canonical_maps = <%= @sender_canonical_maps %> <% end -%> <% if @smtp_generic_maps -%> - smtp_generic_maps = <%= @smtp_generic_maps_type %>:<%= @smtp_generic_maps_file %> +smtp_generic_maps = <%= @smtp_generic_maps_type %>:<%= @smtp_generic_maps_file %> <% end -%> + +smtputf8_enable = <%= @smtputf8_enable %> + <% if @postscreen -%> # Postscreen configuration postscreen_access_list = From 44859f53a5dcd908971bbeb21309ef1bd37a4e05 Mon Sep 17 00:00:00 2001 From: Geir Tufte Date: Fri, 8 Jul 2016 10:44:55 +0200 Subject: [PATCH 08/10] RELEASE: The recent changes makes up for the release 0.4.0 --- metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metadata.json b/metadata.json index a236be6..aac92c1 100644 --- a/metadata.json +++ b/metadata.json @@ -1,6 +1,6 @@ { "name": "thias-postfix", - "version": "0.3.6", + "version": "0.4.0", "author": "Matthias Saou", "license": "Apache-2.0", "summary": "Postfix Mail Transport Agent module", From ab407e432d8adf8989d18cc7a2bdbf06fffe89bd Mon Sep 17 00:00:00 2001 From: Geir Tufte Date: Fri, 8 Jul 2016 11:32:33 +0200 Subject: [PATCH 09/10] New: compatibility_level added, default value set to 0 to avoid breakage --- manifests/server.pp | 1 + metadata.json | 2 +- templates/main.cf.erb | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/manifests/server.pp b/manifests/server.pp index 25b231a..ba17d10 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -88,6 +88,7 @@ $smtp_generic_maps_type = 'hash', $smtp_generic_maps_file = $::postfix::params::smtp_generic_maps_file, $smtp_generic_maps_definitions = [], + $compatibility_level = '0' $smtputf8_enable = 'yes', $postmap = $::postfix::params::postmap, $relocated_maps = false, diff --git a/metadata.json b/metadata.json index aac92c1..fb1b0e7 100644 --- a/metadata.json +++ b/metadata.json @@ -1,6 +1,6 @@ { "name": "thias-postfix", - "version": "0.4.0", + "version": "0.4.1", "author": "Matthias Saou", "license": "Apache-2.0", "summary": "Postfix Mail Transport Agent module", diff --git a/templates/main.cf.erb b/templates/main.cf.erb index a542a63..1bc3eee 100644 --- a/templates/main.cf.erb +++ b/templates/main.cf.erb @@ -949,6 +949,8 @@ smtp_generic_maps = <%= @smtp_generic_maps_type %>:<%= @smtp_generic_maps_file % smtputf8_enable = <%= @smtputf8_enable %> +compatibility_level = <%= @compatibility_level %> + <% if @postscreen -%> # Postscreen configuration postscreen_access_list = From 14d1229dea29458a09162a100465e4cc7607959a Mon Sep 17 00:00:00 2001 From: Geir Tufte Date: Fri, 8 Jul 2016 11:32:47 +0200 Subject: [PATCH 10/10] New: compatibility_level added, default value set to 0 to avoid breakage --- manifests/server.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/server.pp b/manifests/server.pp index ba17d10..4d2d488 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -88,7 +88,7 @@ $smtp_generic_maps_type = 'hash', $smtp_generic_maps_file = $::postfix::params::smtp_generic_maps_file, $smtp_generic_maps_definitions = [], - $compatibility_level = '0' + $compatibility_level = '0', $smtputf8_enable = 'yes', $postmap = $::postfix::params::postmap, $relocated_maps = false,