diff options
author | Marc Fournier <marc.fournier@camptocamp.com> | 2009-08-28 09:15:19 +0200 |
---|---|---|
committer | Marc Fournier <marc.fournier@camptocamp.com> | 2009-08-28 09:15:19 +0200 |
commit | e597522fbf605400988726f1ccbc80d60b1de39b (patch) | |
tree | 7e3d4a0046c89a384cd739031cf077bdb5489b32 | |
parent | dfc16f3a462756387fbb07f0097337ad7e9978b1 (diff) | |
download | puppet-postfix-e597522fbf605400988726f1ccbc80d60b1de39b.tar.gz puppet-postfix-e597522fbf605400988726f1ccbc80d60b1de39b.tar.bz2 |
postfix: selinux labels differ from one distribution to another
-rw-r--r-- | manifests/classes/postfix.pp | 21 | ||||
-rw-r--r-- | manifests/definitions/hash.pp | 20 |
2 files changed, 37 insertions, 4 deletions
diff --git a/manifests/classes/postfix.pp b/manifests/classes/postfix.pp index bf1b8f8..d79199e 100644 --- a/manifests/classes/postfix.pp +++ b/manifests/classes/postfix.pp @@ -6,6 +6,21 @@ class postfix { + case $operatingsystem { + + RedHat: { + case $lsbmajdistrelease { + "4": { $postfix_seltype = "etc_t" } + "5": { $postfix_seltype = "postfix_etc_t" } + default: { $postfix_seltype = undef } + } + } + + default: { + $postfix_seltype = undef + } + } + # Default value for various options case $postfix_ng_smtp_listen { "": { $postfix_ng_smtp_listen = "127.0.0.1" } @@ -27,7 +42,7 @@ class postfix { file { "/etc/mailname": ensure => present, content => "${fqdn}\n", - seltype => "postfix_etc_t", + seltype => $postfix_seltype, } # Aliases @@ -36,7 +51,7 @@ class postfix { ensure => present, content => "# file managed by puppet\n", replace => false, - seltype => "postfix_etc_t", + seltype => $postfix_seltype, notify => Exec["newaliases"], } @@ -57,6 +72,7 @@ class postfix { Redhat => template("postfix/master.cf.redhat5.erb"), Debian => template("postfix/master.cf.debian-etch.erb"), }, + seltype => $postfix_seltype, notify => Service["postfix"], require => Package["postfix"], } @@ -67,6 +83,7 @@ class postfix { mode => "0644", source => "puppet:///postfix/main.cf", replace => false, + seltype => $postfix_seltype, notify => Service["postfix"], require => Package["postfix"], } diff --git a/manifests/definitions/hash.pp b/manifests/definitions/hash.pp index 2ecbff8..e012458 100644 --- a/manifests/definitions/hash.pp +++ b/manifests/definitions/hash.pp @@ -1,8 +1,24 @@ define postfix::hash ($ensure) { + + case $operatingsystem { + + RedHat: { + case $lsbmajdistrelease { + "4": { $postfix_seltype = "etc_t" } + "5": { $postfix_seltype = "postfix_etc_t" } + default: { $postfix_seltype = undef } + } + } + + default: { + $postfix_seltype = undef + } + } + file {"${name}": ensure => $ensure, mode => 600, - seltype => "postfix_etc_t", + seltype => $postfix_seltype, require => Package["postfix"], } @@ -10,7 +26,7 @@ define postfix::hash ($ensure) { ensure => $ensure, mode => 600, require => [File["${name}"], Exec["generate ${name}.db"]], - seltype => "postfix_etc_t", + seltype => $postfix_seltype, } exec {"generate ${name}.db": |