|
|
- #!/bin/sh /etc/rc.common
- # Copyright (C) 2006 OpenWrt.org
-
- START=60
- BIN=/usr/sbin/pptpd
- DEFAULT=/etc/default/$BIN
- RUN_D=/var/run
- PID_F=$RUN_D/$BIN.pid
- CONFIG=/var/etc/pptpd.conf
- CHAP_SECRETS=/var/etc/chap-secrets
-
- setup_login() {
- local section="$1"
-
- config_get username "$section" username
- config_get password "$section" password
- [ -n "$username" ] || return 0
- [ -n "$password" ] || return 0
-
- echo "$username pptp-server $password *" >> $CHAP_SECRETS
- }
-
- setup_config() {
- local section="$1"
-
- config_get enabled "$section" enabled
- [ "$enabled" -eq 0 ] && return 1
-
- mkdir -p /var/etc
- cp /etc/pptpd.conf $CONFIG
-
- config_get localip "$section" localip
- config_get remoteip "$section" remoteip
- [ -n "$localip" ] && echo "localip $localip" >> $CONFIG
- [ -n "$remoteip" ] && echo "remoteip $remoteip" >> $CONFIG
- return 0
- }
-
- start_pptpd() {
- [ -f $DEFAULT ] && . $DEFAULT
- mkdir -p $RUN_D
- for m in arc4 sha1_generic slhc crc-ccitt ppp_generic ppp_async ppp_mppe; do
- insmod $m >/dev/null 2>&1
- done
- ln -sfn $CHAP_SECRETS /etc/ppp/chap-secrets
- service_start $BIN $OPTIONS -c $CONFIG
- }
-
- start() {
- config_load pptpd
- setup_config pptpd || return
- config_foreach setup_login login
- start_pptpd
- }
-
- stop() {
- service_stop $BIN
- }
|