initial checkin
[grml-scripts.git] / usr_sbin / grml-pptp-inode
1 #!/bin/sh
2 # Filename:      grml-pptp-inode
3 # Purpose:       connect via pptp to inode (www.inode.at)
4 # Authors:       grml-team (grml.org), (c) Andreas Gredler <jimmy@grml.org>
5 # Bug-Reports:   see http://grml.org/bugs/
6 # License:       This file is licensed under the GPL v2.
7 # Latest change: Fre Aug 11 11:41:22 CEST 2006 [mika]
8 ################################################################################
9
10 ################################################################################
11 # Notes:
12 # This script is based on 'knoppix-pptp' (version 0.3.1)
13 # by Wolfgang Scheicher.
14 ################################################################################
15
16 LANG=C
17
18 if [ "$UID" != 0 ]; then
19 #  sudo $0
20 #  exit
21 echo foo
22 fi
23
24 if [ -z "$FORCE_OLD" ] ; then
25   dialog --title "Inode XDSL Graz" --msgbox "Please notice that grml-pptp-inode is considered as deprecated. We recommend to use PPPOE for Inode XDSL.
26
27 So please configure your system running pppoeconf
28
29 If you really want to use the old grml-pptp-inode script execute
30
31   FORCE_OLD=1 grml-pptp-inode
32 " 0 0
33 else
34
35 runit(){
36 echo "name ${VPNUSERNAME}" > /etc/ppp/peers/inode
37 cat >> /etc/ppp/peers/inode << "EOF"
38 remotename XDSL
39 defaultroute
40 noipdefault
41 noauth
42 noproxyarp
43 persist
44 logfile /var/log/pptp.log
45
46 EOF
47
48 echo "${VPNUSERNAME} XDSL ${VPNPASSWORD} *" >> /etc/ppp/pap-secrets
49 chmod 0600 /etc/ppp/pap-secrets
50
51 echo -e "#!/bin/sh\nLANG=C\nVPNSERVER=\"${VPNSERVER}\"\n" > /etc/init.d/pptp
52
53 cat >> /etc/init.d/pptp << "EOF"
54
55 GATEWAY=`ifconfig | awk -v RS="" '/addr:172./{print substr($7,6,11)1}'`
56 PPTP="/usr/sbin/pptp $VPNSERVER call inode"
57
58 case "$1" in
59   start)
60       echo "Starting up XDSL: pptp"
61       /sbin/route del default &>/dev/null
62       /sbin/route add -host $VPNSERVER gw $GATEWAY &>/dev/null
63       start-stop-daemon --start --exec $PPTP
64     ;;
65   stop)
66       echo "Shutting down XDSL: pptp"
67       killall pppd &>/dev/null
68       if [ $? == 0 ]; then
69         /sbin/route del -host $VPNSERVER gw $GATEWAY &>/dev/null
70         /sbin/route add default gw $GATEWAY &>/dev/null
71         echo "."
72       fi
73     ;;
74   reconnect)
75     echo -n "Reconnecting XDSL: pptd"
76     start-stop-daemon --start --exec $PPTP
77     echo "."
78     ;;
79   *)
80       echo "Usage: /etc/init.d/pptp {start|stop|reconnect}"
81       exit 1
82     ;;
83 esac
84
85 exit 0
86 EOF
87
88 chmod +x /etc/init.d/pptp
89 touch /var/log/pptp.log
90 /etc/init.d/pptp start
91 dialog --title "PPTP Log" --no-cancel --tailbox /var/log/pptp.log 0 0
92 }
93
94 [ -n "${VPNSERVER}"   ] || VPNSERVER="10.0.0.138"
95 [ -n "${VPNUSERNAME}" ] || VPNUSERNAME=$(cat /etc/ppp/pap-secrets | grep XDSL | cut -d " " -f1)
96 [ -n "${VPNPASSWORD}" ] || VPNPASSWORD=$(cat /etc/ppp/pap-secrets | grep XDSL | cut -d " " -f3)
97
98 if [ -z "$VPNUSERNAME" ] || [ -z "$VPNPASSWORD" ] ; then
99   COMMAND1=$(dialog --stdout --title "Inode XDSL Graz" --inputbox \
100   "Account name(e.g. xdsl.<id>@home):" 0 0) || exit 0
101   COMMAND2=$(dialog --stdout --title "Inode XDSL Graz" --passwordbox "Account password (hidden typing)" 0 40) || exit 0
102
103   VPNUSERNAME=${COMMAND1%/*}
104   VPNPASSWORD=${COMMAND2#*/}
105   [ ! -z "$VPNUSERNAME" ] || exit 1
106   [ ! -z "$VPNPASSWORD" ] || exit 1
107   runit
108 else
109   dialog --title "Inode XDSL Graz" --msgbox "Found already configured
110   account.\nIf the settings are wrong, delete the entries in
111   /etc/ppp/pap-secrets" 10 45
112   runit
113 fi
114
115 fi # $FORCE_OLD
116
117 ## END OF FILE #################################################################