home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-10 | 2.5 KB | 107 lines | [TEXT/hscd] |
- #!/bin/sh
- # start.dip: the main control script for talking SLIP or PPP to DIS.
- # Copyright 1994-6 John A. Phillips - john@linux.demon.co.uk
- # usage: start.dip [slip|ppp]
-
- # Initialization.
- # ===============
-
- # Assign the protocol if specified, or use the default.
- protocol=${1:-slip}
-
- # Check for a valid protocol.
- if [ $protocol != "ppp" -a $protocol != "slip" ]; then
- echo "usage: start.dip [ppp|slip]"
- exit 1
- fi
-
- # If the script is interrupted, kill dip and exit.
- trap '/sbin/dip -k 2>/dev/null; echo ""; exit 1' \
- SIGHUP SIGINT SIGQUIT SIGTERM
-
- # Start up the main dialup IP connection.
- # =======================================
-
- # Use this section for SLIP.
- # --------------------------
- if [ $protocol = "slip" ]; then
- /sbin/dip /usr/local/etc/demon_slip
-
- # Did dip succeed?
- dip_result=$?
- if [ $dip_result -ne 0 ]; then
- echo dip failed with exit code $dip_result
- exit 1
- fi
-
- # SLIP sometimes seems to need time to settle.
- sleep 5
-
- # Connected.
- echo "SLIP connected."
- fi
-
- # Use this section for PPP.
- # -------------------------
- if [ $protocol = "ppp" ]; then
- /sbin/dip /usr/local/etc/demon_ppp
-
- # Did dip succeed?
- dip_result=$?
- if [ $dip_result -ne 0 ]; then
- echo dip failed with exit code $dip_result
- exit 1
- fi
-
- # Wait for the signal that IP has come up via PPP.
- echo "Waiting for PPP to come up ..."
- wait_time=21
- trap "break" SIGCONT
- while [ $wait_time -gt 0 ]; do
- sleep 1
- wait_time=`expr $wait_time - 1`
- echo -n -e "\\r$wait_time "
- done
- trap SIGCONT
- echo ""
-
- # Did a signal arrive, or was there a time out?
- if [ $wait_time -le 0 ]; then
- echo "PPP timed out."
- /bin/killall pppd 2>/dev/null
- /sbin/dip -k 2>/dev/null
- exit 2
- fi
-
- # Connected.
- echo "PPP connected."
- fi
-
- # Start up IP applications.
- # =========================
-
- # Check to see whether we have any waiting mail.
- /usr/local/sbin/querypost &
-
- # Set the system and CMOS date and time from the network.
- /usr/local/sbin/setclock &
-
- # Run the mail queue.
- /usr/sbin/sendmail -q &
-
- # Now process incoming and outgoing news.
- # /usr/local/sbin/procnews &
-
- # Print out Demon status information.
- /usr/local/sbin/querystatus &
-
- # Start up any auto-logout procedures (if you have them).
- # =======================================================
-
- # if [ $protocol = "slip" ]; then
- # /usr/local/sbin/slip_idle
- # fi
- # if [ $protocol = "ppp" ]; then
- # /usr/local/sbin/pppd_idle
- # fi
-