mirror of
https://github.com/novatiq/packages.git
synced 2026-04-29 23:18:42 +01:00
pptpd: backport from trunk
Signed-off-by: Luka Perkov <luka@openwrt.org>
This commit is contained in:
@@ -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
|
||||
@@ -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
|
||||
@@ -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'
|
||||
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user