define xinetd::service (
$id,
$server,
- $port,
+ $service,
+ $port='',
$bind='',
$type='',
$socket_type=stream,
) {
include xinetd
- case $ensure {
- present,absent,file: {}
- default: { fail("Invalid ensure for '$name'") }
- }
-
- if $ferm {
- @ferm::rule { "dsa-xinetd-${name}":
- description => "Allow traffic to ${port}",
- rule => "&SERVICE(${protocol}, ${port})"
- }
- }
-
file { "/etc/xinetd.d/${name}":
ensure => $ensure,
content => template('xinetd/service.erb'),
notify => Service['xinetd'],
require => Package['xinetd'],
}
+
+ if $ferm {
+ $fermport = $port ? {
+ "" => $service,
+ default => $port
+ }
+
+ ferm::rule { "dsa-xinetd-${name}":
+ description => "Allow traffic to ${service}",
+ rule => "&SERVICE(${protocol}, ${fermport})"
+ }
+ }
}