secgateway/kernel/rootfs_base/etc/init.d/tftpd-hpa

107 lines
2.0 KiB
Bash
Executable File

#!/bin/sh
### BEGIN INIT INFO
# Provides: tftpd-hpa
# Required-Start: $local_fs $remote_fs $syslog $network
# Required-Stop: $local_fs $remote_fs $syslog $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: HPA's tftp server
# Description: Trivial File Transfer Protocol (TFTP) is a file transfer
# protocol, mainly to serve boot images over the network
# to other machines (PXE).
### END INIT INFO
PATH="/sbin:/bin:/usr/sbin:/usr/bin"
DAEMON="/usr/sbin/in.tftpd"
test -x "$DAEMON" || exit 0
NAME="in.tftpd"
DESC="HPA's tftpd"
PIDFILE="/var/run/tftpd-hpa.pid"
DEFAULTS="/etc/default/tftpd-hpa"
set -e
[ -r "$DEFAULTS" ] && . "$DEFAULTS"
. /lib/lsb/init-functions
do_start()
{
# Ensure --secure and multiple server directories are not used at the
# same time
if [ "$(echo $TFTP_DIRECTORY | wc -w)" -ge 2 ] && \
echo $TFTP_OPTIONS | grep -qs secure
then
echo
echo "When --secure is specified, exactly one directory can be specified."
echo "Please correct your $DEFAULTS."
exit 1
fi
# Ensure server directories exist
for d in $TFTP_DIRECTORY
do
if [ ! -d "$d" ]
then
echo "$d missing, aborting."
exit 1
fi
done
start-stop-daemon --start --quiet --oknodo --exec $DAEMON -- \
--listen --user $TFTP_USERNAME --address $TFTP_ADDRESS \
$TFTP_OPTIONS $TFTP_DIRECTORY
}
do_stop ()
{
start-stop-daemon --stop --quiet --oknodo --name $NAME
}
do_reload ()
{
start-stop-daemon --stop --quiet --oknodo --name $NAME --signal 1
}
case "$1" in
start)
init_is_upstart > /dev/null 2>&1 && exit 1
log_daemon_msg "Starting $DESC" "$NAME"
do_start
log_end_msg $?
;;
stop)
init_is_upstart > /dev/null 2>&1 && exit 0
log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
log_end_msg $?
;;
restart|force-reload)
init_is_upstart > /dev/null 2>&1 && exit 1
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
sleep 1
do_start
log_end_msg $?
;;
status)
status_of_proc $DAEMON $NAME
;;
*)
echo "Usage: $0 {start|stop|restart|force-reload|status}" >&2
exit 3
;;
esac