pptpd: backport from trunk

Signed-off-by: Luka Perkov <luka@openwrt.org>
This commit is contained in:
Luka Perkov
2015-11-18 21:49:25 +01:00
parent ee0bb7b9df
commit 70471762cc
9 changed files with 245 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
#debug
#logfile /tmp/pptp-server.log
auth
name "pptp-server"
lcp-echo-failure 3
lcp-echo-interval 60
default-asyncmap
mtu 1482
mru 1482
nobsdcomp
nodeflate
#noproxyarp
#nomppc
mppe required,no40,no56,stateless
require-mschap-v2
refuse-chap
refuse-mschap
refuse-eap
refuse-pap
#ms-dns 172.16.1.1
#plugin radius.so
#radius-config-file /etc/radius.conf
+5
View File
@@ -0,0 +1,5 @@
#debug
option /etc/ppp/options.pptpd
speed 115200
stimeout 10
#localip & remoteip are not needed, ip management is done by pppd
+8
View File
@@ -0,0 +1,8 @@
config service 'pptpd'
option 'enabled' '0'
option 'localip' '192.168.0.1'
option 'remoteip' '192.168.0.20-30'
config 'login'
option 'username' 'youruser'
option 'password' 'yourpass'
+63
View File
@@ -0,0 +1,63 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2015 OpenWrt.org
START=60
USE_PROCD=1
BIN=/usr/sbin/pptpd
CONFIG=/var/etc/pptpd.conf
CHAP_SECRETS=/var/etc/chap-secrets
validate_login_section() {
uci_validate_section pptpd login "${1}" \
'username:string' \
'password:string'
}
validate_pptpd_section() {
uci_validate_section pptpd service "${1}" \
'enabled:uinteger' \
'localip:string' \
'remoteip:string'
}
setup_login() {
validate_login_section "${1}" || {
echo "validation failed"
return 1
}
[ -n "${username}" ] || return 0
[ -n "${password}" ] || return 0
echo "${username} pptp-server ${password} *" >> $CHAP_SECRETS
}
setup_config() {
validate_pptpd_section "${1}" || {
echo "validation failed"
return 1
}
[ "$enabled" -eq 0 ] && return 1
mkdir -p /var/etc
cp /etc/pptpd.conf $CONFIG
[ -n "$localip" ] && echo "localip $localip" >> $CONFIG
[ -n "$remoteip" ] && echo "remoteip $remoteip" >> $CONFIG
return 0
}
start_service() {
config_load pptpd
setup_config pptpd || return
config_foreach setup_login login
ln -sfn $CHAP_SECRETS /etc/ppp/chap-secrets
procd_open_instance
procd_set_param command $BIN -c $CONFIG
procd_close_instance
}