summaryrefslogtreecommitdiff
path: root/openwrt/package/pptp
diff options
context:
space:
mode:
Diffstat (limited to 'openwrt/package/pptp')
-rw-r--r--openwrt/package/pptp/files/ifup.pptp21
1 files changed, 13 insertions, 8 deletions
diff --git a/openwrt/package/pptp/files/ifup.pptp b/openwrt/package/pptp/files/ifup.pptp
index acaeabd971..23cad08050 100644
--- a/openwrt/package/pptp/files/ifup.pptp
+++ b/openwrt/package/pptp/files/ifup.pptp
@@ -17,10 +17,16 @@ while :; do
IP=$(nvram get pptp_server_ip)
USERNAME=$(nvram get ppp_username)
PASSWORD=$(nvram get ppp_passwd)
- REDIAL=$(nvram get ppp_redialperiod)
- REDIAL=${REDIAL:+lcp-echo-interval $REDIAL}
- IDLETIME=$(nvram get ppp_idletime)
- IDLETIME=${IDLETIME:+lcp-echo-failure $IDLETIME}
+ KEEPALIVE=$(nvram get ppp_redialperiod)
+ KEEPALIVE=${KEEPALIVE:+lcp-echo-interval 10 lcp-echo-failure $KEEPALIVE}
+ DEMAND=$(nvram get ppp_demand)
+ case "$DEMAND" in
+ on|1|enabled)
+ DEMAND=$(nvram get ppp_idletime)
+ DEMAND=${IDLETIME:+demand idle $IDLETIME}
+ ;;
+ *) DEMAND="";;
+ esac
MTU=$(nvram get ppp_mtu)
MTU=${MTU:-1452}
@@ -42,9 +48,8 @@ while :; do
ipparam "$type" \
user "$USERNAME" \
password "$PASSWORD" \
- mtu $MTU \
- mru $MTU \
- $IDLETIME \
- $REDIAL
+ mtu $MTU mru $MTU \
+ $DEMAND \
+ $KEEPALIVE
done &