1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2015 OpenWrt.org
8 CONFIG
=/var
/etc
/pptpd.conf
9 CHAP_SECRETS
=/var
/etc
/chap-secrets
10 OPTIONS_PPTP
=/var
/etc
/options.pptpd
12 validate_login_section
() {
13 uci_validate_section pptpd login
"${1}" \
18 validate_pptpd_section
() {
19 uci_validate_section pptpd service
"${1}" \
23 'mppe:list(string):required no40 no56 stateless' \
28 validate_login_section
"${1}" ||
{
29 echo "validation failed"
33 [ -n "${username}" ] ||
return 0
34 [ -n "${password}" ] ||
return 0
36 echo "${username} pptp-server ${password} *" >> $CHAP_SECRETS
40 local enabled localip remoteip mppe
42 validate_pptpd_section
"${1}" ||
{
43 echo "validation failed"
47 [ "$enabled" -eq 0 ] && return 1
50 cp /etc
/pptpd.conf
$CONFIG
51 cp /etc
/ppp
/options.pptpd
$OPTIONS_PPTP
53 [ -n "$localip" ] && echo "localip $localip" >> $CONFIG
54 [ -n "$remoteip" ] && echo "remoteip $remoteip" >> $CONFIG
55 [ "$logwtmp" -eq 1 ] && echo "logwtmp" >> $CONFIG
57 echo "mppe $(echo $mppe | sed -e 's/\s/,/g')" >> $OPTIONS_PPTP
64 setup_config pptpd ||
return
65 config_foreach setup_login login
67 ln -sfn $CHAP_SECRETS /etc
/ppp
/chap-secrets
70 procd_set_param
command $BIN -c $CONFIG --fg -o $OPTIONS_PPTP