--- /dev/null
+#!/bin/bash
+### BEGIN INIT INFO
+# Provides: tids
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 4 6
+# Required-Start: $freeradius
+# Required-Stop:
+# Should-Start: $network
+# Short-Description: Starts Moonshot TIDS
+# Description: Starts the Moonshot Temporary ID Service
+### END INIT INFO
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+. /lib/lsb/init-functions
+
+[ -z "$HOME" ] && export HOME=/
+
+usage() {
+ echo "Usage: $0 {start|stop|status}"
+}
+
+# Load the configuration
+[ -f /etc/default/trust_router ] || exit 0
+. /etc/default/trust_router
+TIDS_PIDDIR=/var/run/trust_router
+TIDS_LOGDIR=/var/log/trust_router
+
+# Create the PID and LOG directories
+[ -d "$TIDS_PIDDIR" ] || mkdir -p $TIDS_PIDDIR && chown $TIDS_USER:$TIDS_GROUP $TIDS_PIDDIR
+[ -d "$TIDS_LOGDIR" ] || mkdir -p $TIDS_LOGDIR && chown $TIDS_USER:$TIDS_GROUP $TIDS_LOGDIR
+
+# Some variables
+prog=/usr/lib/trust_router/tids-wrapper
+PIDFILE="$TIDS_PIDDIR/tids.pid"
+LOGFILE="$TIDS_LOGDIR/tids.log"
+
+# Does the trust router and wrapper exist
+[ -x /usr/bin/tids ] || exit 5
+[ -x $prog ] || exit 5
+
+[ -f "$LOGFILE" ] || touch $LOGFILE && chown $TIDS_USER:$TIDS_GROUP $LOGFILE
+
+OPTIONS="$PIDFILE $LOGFILE $ipaddr $gssname $hostname $/var/lib/trust_router/keys"
+
+case $1 in
+ start)
+ if [ -f ${PIDFILE} ] ;
+ then
+ OLD_PID=$(cat "$PIDFILE")
+
+ if [ -d "/proc/$OLD_PID" ] ;
+ then
+ echo "Error: TIDS already running" ; exit 1
+ else
+ rm $PIDFILE
+ fi
+ fi
+
+ timestamp=$(date)
+ echo "$timestamp Starting TIDS..." >> $LOGFILE
+ log_daemon_msg "Starting TIDS" "tids"
+ start-stop-daemon --start --chuid $TIDS_USER --pidfile $PIDFILE --oknodo --startas $prog $OPTIONS
+ status=$?
+ log_end_msg $status
+ ;;
+ stop)
+ timestamp=$(date)
+ echo "$timestamp Stopping TIDS..." >> $LOGFILE
+ log_daemon_msg "Stopping TIDS" "tids"
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE
+ status=$?
+ log_end_msg $status
+ rm -f $PIDFILE
+ ;;
+ status)
+ if [ -f $PIDFILE ] ;
+ then
+ PID=$(cat "$PIDFILE")
+
+ if [ -d "/proc/$PID" ] ;
+ then
+ echo "TIDS is running (pid $PID)"
+ else
+ if [ -e $PIDFILE ] ; then
+ echo "TIDS appears to be dead but its PID file exists"
+ else
+ echo "TIDS appears to be stopped"
+ fi
+ fi
+ else
+ echo "TIDS appears to be stopped"
+ fi
+ exit 0
+ ;;
+ reload | force-reload | condrestart | try-restart)
+ usage
+ exit 3
+ ;;
+ *)
+ usage
+ exit 2
+ ;;
+esac