#!/bin/sh DAEMON=knock DAEMON_BIN=knockd . /etc/init.d/modlibrc config() { if [ ! -e "/tmp/flash/knock/knockd.conf" ]; then cat /usr/share/doc/knock/knockd.conf > /tmp/flash/knock/knockd.conf fi } start() { set -o noglob local countdown=10 while [ $((countdown--)) -gt 0 ] && ! ifconfig $KNOCK_INTERFACE > /dev/null 2>&1; do sleep 1 done modlib_startdaemon $DAEMON_BIN -d -c /tmp/flash/knock/knockd.conf -i "$KNOCK_INTERFACE" } case $1 in ""|load) [ -d "/tmp/flash/knock" ] || mkdir /tmp/flash/knock [ -r /tmp/flash/knockd.conf ] && mv /tmp/flash/knockd.conf /tmp/flash/knock/knockd.conf config modreg cgi 'knock' 'Knock' modreg daemon $DAEMON modreg file knock conf 'config' 0 "knockd_conf" modlib_start $KNOCK_ENABLED ;; unload) modunreg file knock modunreg daemon $DAEMON modunreg cgi knock modlib_stop ;; start) modlib_start ;; stop) modlib_stop ;; restart) modlib_restart ;; status) modlib_status ;; *) echo "Usage: $0 [load|unload|start|stop|restart|status]" 1>&2 exit 1 ;; esac exit 0