X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fxinetd%2Fmanifests%2Fservice.pp;h=1aee3b9d6905de82364bfc110cb425a24602a373;hb=28f49056591e034735a08d0a4674a64fdf7bc3a4;hp=2ece74c5a530957355f8cf09e67be4e176e0baff;hpb=93a102d0bd065f74e3489b7445cf400f9d779466;p=mirror%2Fdsa-puppet.git diff --git a/modules/xinetd/manifests/service.pp b/modules/xinetd/manifests/service.pp index 2ece74c5a..1aee3b9d6 100644 --- a/modules/xinetd/manifests/service.pp +++ b/modules/xinetd/manifests/service.pp @@ -2,7 +2,7 @@ define xinetd::service ( $id, $server, $service, - $port=$service, + $port='', $bind='', $type='', $socket_type=stream, @@ -19,24 +19,33 @@ define xinetd::service ( $ensure=present, $ferm=true ) { - include xinetd - case $ensure { - present,absent,file: {} + present,file: { + include xinetd + file { "/etc/xinetd.d/${name}": + ensure => $ensure, + content => template('xinetd/service.erb'), + notify => Service['xinetd'], + require => Package['xinetd'], + } + } + absent: { + file { "/etc/xinetd.d/${name}": + ensure => $ensure, + } + } default: { fail("Invalid ensure for '$name'") } } if $ferm { + $fermport = $port ? { + "" => $service, + default => $port + } + @ferm::rule { "dsa-xinetd-${name}": description => "Allow traffic to ${service}", - rule => "&SERVICE(${protocol}, ${port})" + rule => "&SERVICE(${protocol}, ${fermport})" } } - - file { "/etc/xinetd.d/${name}": - ensure => $ensure, - content => template('xinetd/service.erb'), - notify => Service['xinetd'], - require => Package['xinetd'], - } }