#!/bin/sh # # This is the main script of the Minimalistic Network Manager # Author: Christian Pointner # NAME="Minimalistic Network Manager" CURRENT_FILE="/var/run/minet.current" SUSPENDED_FILE="$CURRENT_FILE.suspended" SCRIPT_ROOT="/usr/local/lib/minet" if [ -n "$1" ] && [ "$1" != "status" ] && [ "$USER" != "root" ]; then echo "$NAME: only root can do that!" exit 1 fi . $SCRIPT_ROOT/minet_helpers.sh case "$1" in start) if [ -z "$2" ]; then echo "$NAME: initializing..." if [ -f $CURRENT_FILE ]; then rm $CURRENT_FILE fi if [ -f $SUSPENDED_FILE ]; then rm $SUSPENDED_FILE fi else if [ -f $SUSPENDED_FILE ]; then echo -n "$NAME: " echo -n `cat $SUSPENDED_FILE` echo " is suspended" exit 0 fi if [ -x $SCRIPT_ROOT/$2 ]; then if [ -f $CURRENT_FILE ]; then $SCRIPT_ROOT/`cat $CURRENT_FILE` stop fi $SCRIPT_ROOT/$2 start echo $2 > $CURRENT_FILE else echo "Unknown Connection" exit 2 fi exit 0 fi ;; stop) echo "$NAME: stopping..." if [ -f $CURRENT_FILE ]; then $SCRIPT_ROOT/`cat $CURRENT_FILE` stop rm $CURRENT_FILE fi ;; restart) echo "$NAME: restarting..." if [ -f $CURRENT_FILE ]; then $SCRIPT_ROOT/`cat $CURRENT_FILE` stop sleep 1 $SCRIPT_ROOT/`cat $CURRENT_FILE` start fi ;; suspend) echo -n "$NAME: " if [ ! -f $CURRENT_FILE ]; then echo "no active connection to suspend" exit 0 else echo -n "suspending connection: " echo `cat $CURRENT_FILE` ln $CURRENT_FILE $SUSPENDED_FILE $SCRIPT_ROOT/`cat $CURRENT_FILE` stop rm $CURRENT_FILE fi ;; resume) echo -n "$NAME: " if [ ! -f $SUSPENDED_FILE ]; then echo "no suspended connection to resume" exit 0 else echo -n "resuming connection: " echo `cat $SUSPENDED_FILE` ln $SUSPENDED_FILE $CURRENT_FILE $SCRIPT_ROOT/`cat $CURRENT_FILE` start rm $SUSPENDED_FILE fi ;; status) echo -n "$NAME status: " if [ ! -f $CURRENT_FILE ]; then if [ -f $SUSPENDED_FILE ]; then echo -n `cat $SUSPENDED_FILE` echo " is suspended" exit 0 else echo "not connected" exit 0 fi else echo -n "connected with " echo `cat $CURRENT_FILE` fi ;; *) echo "Usage: $0 (start [connection name]|stop|suspend|resume|status)" ;; esac exit 0