aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Fournier <marc.fournier@camptocamp.com>2009-08-28 09:15:19 +0200
committerMarc Fournier <marc.fournier@camptocamp.com>2009-08-28 09:15:19 +0200
commite597522fbf605400988726f1ccbc80d60b1de39b (patch)
tree7e3d4a0046c89a384cd739031cf077bdb5489b32
parentdfc16f3a462756387fbb07f0097337ad7e9978b1 (diff)
downloadpuppet-postfix-e597522fbf605400988726f1ccbc80d60b1de39b.tar.gz
puppet-postfix-e597522fbf605400988726f1ccbc80d60b1de39b.tar.bz2
postfix: selinux labels differ from one distribution to another
-rw-r--r--manifests/classes/postfix.pp21
-rw-r--r--manifests/definitions/hash.pp20
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":