Sophie

Sophie

distrib > PLD > ra > i386 > media > dist-src > by-pkgid > 80051523ba7edc21b6c4ecff1da1547c > files > 4

freeswan-1.97-1.src.rpm

--- freeswan-1.97/utils/setup	Wed Jun 20 17:55:13 2001
+++ freeswan-1.97/utils/setup.org	Thu May  2 12:08:39 2002
@@ -30,7 +30,25 @@
 # description: IPsec provides encrypted and authenticated communications; \
 # KLIPS is the kernel half of it, Pluto is the user-level management daemon.
 
-me='ipsec setup'		# for messages
+# Source function library
+. /etc/rc.d/init.d/functions
+
+# Get network config
+. /etc/sysconfig/network
+
+# Check that networking is up.
+if is_yes "${NETWORKING}"; then
+       if [ ! -f /var/lock/subsys/network ]; then
+               # nls "ERROR: Networking is down. %s can't be run." ipsec
+               msg_network_down ipsec
+               exit 1
+       fi
+else
+       exit 0
+fi
+
+me='ipsec setup'               # for messages
+
 
 
 
@@ -54,7 +72,7 @@
 if ! test "$found"
 then
 	echo "cannot find ipsec command -- \`$1' aborted" |
-		logger -s -p daemon.error -t ipsec_setup
+	    logger -p daemon.error -t ipsec_setup
 	exit 1
 fi
 
@@ -65,7 +83,7 @@
 if test " $IPSEC_confreadstatus" != " "
 then
 	echo "$IPSEC_confreadstatus -- \`$1' aborted" |
-		logger -s -p daemon.error -t ipsec_setup
+	    logger -p daemon.error -t ipsec_setup
 	exit 1
 fi
 IPSECsyslog=${IPSECsyslog-daemon.error}
@@ -78,23 +96,79 @@
 
 # do it
 case "$1" in
-  start|--start|stop|--stop|_autostop|_autostart)
-	if test " `id -u`" != " 0"
-	then
-		echo "permission denied (must be superuser)" |
-			logger -s -p $IPSECsyslog -t ipsec_setup 2>&1
-		exit 1
+	      start|--start|_autostart)
+	           # Check if the service is already running?
+	           if [ ! -f /var/lock/subsys/ipsec ]; then
+	                   # show "Starting %s service" ipsec
+	                   msg_starting ipsec
+	                   busy
+	                   if test " `id -u`" != " 0"
+	                   then
+	                       echo "permission denied (must be superuser)" |
+	                           logger -p $IPSECsyslog -t ipsec_setup 2>&1
+	                       fail
+	                       exit 1
+	                   fi
+	                   {
+	                       ipsec _realsetup $1 ;
+	                       RETVAL=$?;
+	                   } | logger -p $IPSECsyslog -t ipsec_setup 2>&1
+	
+	                   if [ "$RETVAL" -eq 0 ];
+	                   then
+	                       touch /var/lock/subsys/ipsec
+	                       ok
+	                       exit $RETVAL;
+	                   fi
+	                   fail
+	                   exit $RETVAL
+	
+	           else
+	                   # show "%s service is already running." ipsec
+	                   msg_already_running ipsec
+	
+	
+		
+	exit 1
 	fi
-	tmp=/var/run/ipsec_setup.st
-	(
-		ipsec _realsetup $1
-		echo "$?" >$tmp
-	) 2>&1 | logger -s -p $IPSECsyslog -t ipsec_setup 2>&1
-	st=`cat $tmp`
-	rm -f $tmp
-	exit $st
 	;;
-
+	      stop|--stop|_autostop)
+	            # Stop daemons.
+	            # show "Stopping %s service" ipsec
+	           if [ -f /var/lock/subsys/ipsec ]; then
+	                   msg_stopping ipsec
+	                   busy
+	                   if test " `id -u`" != " 0"
+	                   then
+	                       echo "permission denied (must be superuser)" |
+	                           logger -p $IPSECsyslog -t ipsec_setup 2>&1
+	                       fail
+	                       exit 1
+	                   fi
+	                   {
+	                       ipsec _realsetup $1 ;
+	                       RETVAL=$?;
+	                   } 2>&1 | logger -p $IPSECsyslog -t ipsec_setup 2>&1
+	
+	                   rm -f /var/lock/subsys/ipsec
+	
+	                   if [ "$RETVAL" -eq 0 ];
+	                   then
+	                       ok
+	                       exit $RETVAL;
+	                   fi
+	                   fail
+	                   exit $RETVAL
+	           else
+	                   # show "%s service is not running." ipsec
+	                   msg_not_running ipsec
+	                   exit 1
+	           fi
+	           ;;
+	
+	
+	
+	
   restart|--restart)
 	$0 stop
 	$0 start