#!/bin/sh # # runlevel script of the cryptobox package # # Copyright (c) 02006, senselab # # see LICENSE file in this package for details # ### BEGIN INIT INFO # Provides: cryptobox # Required-Start: $network $local_fs $remote_fs # Required-Stop: $network $local_fs $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start CryptoBox webserver ### END INIT INFO # read the default setting file, if it exists [ -e /etc/default/cryptobox ] && source /etc/default/cryptobox # startup switch defaults to zero (enabled) NO_START=${NO_START:-0} RUNAS=${RUNAS:-cryptobox} if [ "$NO_START" = "1" ] then [ $# -eq 0 ] && exit 0 [ "$1" = "status" ] && exit 1 [ "$1" = "stop" ] && exit 0 echo "CryptoBox is disabled by default (check /etc/default/cryptobox)" exit 0 fi CBXSERVER=CryptoBoxWebserver.py if test -e "./$CBXSERVER" then CBXPATH=$(pwd) else CBXPATH=/usr/lib/cryptobox fi PIDFILE=/var/run/cryptobox/webserver.pid DAEMON=/usr/bin/python2.4 DAEMON_OPTS=$CBXPATH/$CBXSERVER NAME=cryptoboxd DESC="CryptoBox Daemon (webinterface)" # check if the package is installed test -e "$CBXPATH/$CBXSERVER" || exit 0 # include some useful functions to unify our output format . /lib/lsb/init-functions case "$1" in start ) # TODO: mount config dir # TODO: create certificate # TODO: run stunnel # the lines above should go into the live-cd scripts test -e "$PIDFILE" && log_warning_msg "CryptoBox seems to running already (pid file exists) - we will try to start it anyway ..." log_daemon_msg "Starting cryptobox webserver" "$DESC" if start-stop-daemon \ --chdir "$CBXPATH" --chuid "$RUNAS" --quiet --start \ -oknodo --user "$RUNAS" --pidfile "$PIDFILE" \ --exec "$DAEMON" -- $DAEMON_OPTS then log_end_msg 0 else log_end_msg 1 exit 1 fi ;; stop ) if test ! -e "$PIDFILE" then log_warning_msg "CryptoBox is not running (no pid file found)" exit 0 fi log_daemon_msg "Stopping cryptobox webserver" "$DESC" if start-stop-daemon --quiet --stop --pidfile "$PIDFILE" then rm "$PIDFILE" log_end_msg 0 else log_end_msg 1 exit 1 fi ;; reload | force-reload | restart ) "$0" stop sleep 1 "$0" start ;; * ) echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2 exit 1 ;; esac exit 0