diff --git a/tftp/files/tftp.xinetd b/tftp/files/tftp.xinetd new file mode 100644 index 0000000..66b120d --- /dev/null +++ b/tftp/files/tftp.xinetd @@ -0,0 +1,11 @@ +service tftp +{ + protocol = udp + port = 69 + socket_type = dgram + wait = yes + user = nobody + server = /usr/sbin/in.tftpd + server_args = /tftpboot + disable = no +} diff --git a/tftp/manifests/init.pp b/tftp/manifests/init.pp index 2d62484..7e5c23a 100644 --- a/tftp/manifests/init.pp +++ b/tftp/manifests/init.pp @@ -64,12 +64,31 @@ class tftp::server { } package { "tftp-server": + name => $operatingsystem ? { + ubuntu => "tftpd-hpa", + debian => "tftpd-hpa", + default => "tftp-server", + }, ensure => installed, } - inetd::service { "tftp": - ensure => present, - require => Package["tftp-server"], + case $operatingsystem { + debian,ubuntu: { + file { "/etc/xinetd.d/tftp": + ensure => present, + source => "puppet:///tftp/tftp.xinetd", + mode => 0644, + owner => root, + group => root, + notify => Service["xinetd"], + } + } + default: { + inetd::service { "tftp": + ensure => present, + require => Package["tftp-server"], + } + } } }