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":  | 
