X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/629b5c0767c8557ab688582bb6bd86c448f8c243..079db1578e2e441555d0778c5ef25749db227960:/openwrt/package/pptp/files/ifup.pptp diff --git a/openwrt/package/pptp/files/ifup.pptp b/openwrt/package/pptp/files/ifup.pptp index 833544077..a9bc579b5 100644 --- a/openwrt/package/pptp/files/ifup.pptp +++ b/openwrt/package/pptp/files/ifup.pptp @@ -1,10 +1,13 @@ #!/bin/sh -. /etc/functions.sh -. /etc/nvram.overrides -[ -e /etc/config/network ] && . /etc/config/network +[ $# = 0 ] && { echo " $0 "; exit; } +. /etc/config/network type=$1 -[ "$(nvram get ${type}_proto)" = "pptp" ] || exit +eval "proto=\"\${${type}_proto}\"" +[ "$proto" = "pptp" ] || { + echo "$0: ${type}_proto isn't pptp" + exit +} [ -d "/var/lock" ] || mkdir -p /var/lock || exit 1 @@ -12,34 +15,31 @@ for module in slhc ppp_generic ppp_async ip_gre; do /sbin/insmod $module 2>&- >&- done -if=$(nvram get pptp_ifname) -ip=$(nvram get ${type}_ipaddr) -netmask=$(nvram get ${type}_netmask) -[ -z "$ip" -o -z "$if" ] || ifconfig $if $ip ${netmask:+netmask $netmask} broadcast + up +KEEPALIVE=${ppp_redialperiod:+lcp-echo-interval $ppp_redialperiod lcp-echo-failure 5} +case "$ppp_demand" in + on|1|enabled) + DEMAND=${ppp_idletime:+demand idle $ppp_idletime} + [ -f /etc/ppp/filter ] && DEMAND=${DEMAND:+precompiled-active-filter /etc/ppp/filter $DEMAND} + ;; + *) DEMAND="persist";; +esac +MTU=${ppp_mtu:-1452} -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} - MTU=$(nvram get ppp_mtu) - MTU=${MTU:+ mtu $MTU mru $MTU} +[ "$pptp_proto" = "static" ] || pptp_proto="dhcp" +do_ifup $pptp_proto $type - /usr/sbin/pppd nodetach \ - pty "/usr/sbin/pptp $IP --loglevel 0 --nolaunchpppd" \ - file /etc/ppp/options.pptp \ - connect /bin/true \ - usepeerdns \ - defaultroute \ - linkname $type \ - user "$USERNAME" \ - password "$PASSWORD" \ - $MTU \ - $IDLETIME \ - $REDIAL \ - $IFNAME -done & +/usr/sbin/pppd \ + pty "/usr/sbin/pptp $pptp_server_ip --loglevel 0 --nolaunchpppd" \ + file /etc/ppp/options.pptp \ + connect /bin/true \ + usepeerdns \ + defaultroute \ + replacedefaultroute \ + linkname "$type" \ + ipparam "$type" \ + user "$ppp_username" \ + password "$ppp_passwd" \ + mtu $MTU mru $MTU \ + $DEMAND \ + $KEEPALIVE