]> git.pld-linux.org Git - packages/cisco-vpnclient.git/blame - cisco_vpnclient.init
- search for kernel module in misc/ not in CiscoVPN/
[packages/cisco-vpnclient.git] / cisco_vpnclient.init
CommitLineData
1d058f32 1#!/bin/sh
2##########################################################################
3# Copyright (c) 2001, Cisco Systems, All Rights Reserved
4###########################################################################
5#
6# File: vpnclient_init
7# Date: 04/23/2001
8#
9###########################################################################
10#
11# chkconfig: 345 85 85
12# description: Startup script for the vpn client. Version 4.6.00 (0045)
13#
14###########################################################################
15# Source function library.
16VPNCLIENT="/opt/cisco-vpnclient/bin/vpnclient"
17VPNDEV="cipsec0"
18VPNMOD=cisco_ipsec
19case `uname -r` in
202.[56].*)
21 VPNMOD_FILE="${VPNMOD}.ko"
22 ;;
23*)
24 VPNMOD_FILE="$VPNMOD"
25 ;;
26esac
27
28WHOAMI=`id | sed -e 's/(.*//'`
29
30# See how we were called.
31case "$1" in
32 start)
33 echo -n "Starting ${VPNCLIENT}: "
34 if [ "$WHOAMI" != "uid=0" ] ; then
35 echo "Failed (super user access required)"
36 exit 1
37 fi
38 /sbin/lsmod | grep -q "${VPNMOD}"
39 if [ "$?" = "0" ] ; then
40 echo "module ${VPNMOD} is already running. Use restart instead."
41 exit 1
42 fi
43
44 if [ -f /etc/resolv.conf.vpnbackup ]; then
45 echo "restoring /etc/resolv.conf"
46 mv /etc/resolv.conf.vpnbackup /etc/resolv.conf
47 fi
48 if [ -d /lib/modules/preferred ]; then
49 PC=/lib/modules/preferred/CiscoVPN
50 else
df0a4d63 51 PC=/lib/modules/`uname -r`/misc
1d058f32 52 fi
53 if [ -d $PC ] ; then
54 /sbin/insmod ${PC}/${VPNMOD_FILE}
55 if [ "$?" != "0" ] ; then
56 echo "Failed (insmod)"
57 exit 1
58 fi
59 else
60 echo "module directory $PC not found."
61 exit 1
62 fi
63 case "`uname -r`" in
64 2.6.*)
65 ;;
66 2.5.*)
67 ;;
68 2.4.*)
69 ;;
70 2.2.*)
71 ;;
72 2.0.*)
73 #
74 # This is only needed due to a bug in 2.0.x kernels that affects
75 # arp lookups.
76 #
77 ifconfig $VPNDEV 222.222.222.222 ;
78 if [ "$?" != "0" ] ; then
79 echo "Failed (ifconfig)"
80 /sbin/rmmod ${VPNMOD}
81 exit 1
82 fi
83 ;;
84 *)
85 echo "Failed (unsupported Linux version)"
86 /sbin/rmmod ${VPNMOD}
87 exit 1
88 ;;
89 esac
90
91 echo "Done"
92 ;;
93 stop)
94 echo -n "Shutting down ${VPNCLIENT}: "
95 if [ "$WHOAMI" != "uid=0" ] ; then
96 echo "Failed (super user access required)"
97 exit 1
98 fi
99 killall cvpnd > /dev/null 2>&1
100
101 /sbin/lsmod | grep -q "${VPNMOD}"
102 if [ "$?" != "0" ] ; then
103 echo "module ${VPNMOD} is not running."
104 exit 1
105 fi
106 /sbin/ifconfig $VPNDEV down
107 if [ "$?" != "0" ] ; then
108 echo "Failed (ifconfig)"
109 exit 1
110 fi
111 /sbin/rmmod ${VPNMOD}
112 if [ "$?" != "0" ] ; then
113 echo "Failed (rmmod)"
114 exit 1
115 fi
116 echo "Done"
117 ;;
118 status)
119 /sbin/lsmod | egrep 'Module'
120 /sbin/lsmod | egrep "${VPNMOD}"
121 if [ "$?" != "0" ] ; then
122 echo
123 echo "Status Failed (lsmod ${VPNMOD}) - The VPN module is not loaded."
124 fi
125 echo
126 /sbin/ifconfig $VPNDEV
127 if [ "$?" != "0" ] ; then
128 echo
129 echo "Status Failed (ifconfig ${VPNDEV}) - The virtual interface is not present."
130 exit 1
131 fi
132 ;;
133 restart|reload)
134 $0 stop
135 $0 start
136 ;;
137 *)
138 echo "Usage: $0 {start|stop|restart|reload|status}"
139 exit 1
140esac
141
142exit 0
This page took 0.082993 seconds and 4 git commands to generate.