diff options
-rw-r--r-- | package/pptp/Makefile | 4 | ||||
-rw-r--r-- | package/pptp/files/ifup.pptp | 43 | ||||
-rw-r--r-- | package/pptp/files/options.pptp | 6 | ||||
-rw-r--r-- | package/pptp/files/pptp.init | 18 |
4 files changed, 45 insertions, 26 deletions
diff --git a/package/pptp/Makefile b/package/pptp/Makefile index 6c9f5150d9..94ac61cde5 100644 --- a/package/pptp/Makefile +++ b/package/pptp/Makefile @@ -28,8 +28,8 @@ $(PKG_BUILD_DIR)/.built: touch $@ $(IPKG_PPTP): - install -d -m0755 $(IDIR_PPTP)/etc/init.d - install -m0755 ./files/pptp.init $(IDIR_PPTP)/etc/init.d/S50pptp + install -d -m0755 $(IDIR_PPTP)/sbin + install -m0755 ./files/ifup.pptp $(IDIR_PPTP)/sbin/ifup.pptp install -d -m0755 $(IDIR_PPTP)/etc/ppp install -m0644 ./files/options.pptp $(IDIR_PPTP)/etc/ppp/ install -d -m0755 $(IDIR_PPTP)/usr/sbin diff --git a/package/pptp/files/ifup.pptp b/package/pptp/files/ifup.pptp new file mode 100644 index 0000000000..21a574acb7 --- /dev/null +++ b/package/pptp/files/ifup.pptp @@ -0,0 +1,43 @@ +#!/bin/sh +. /etc/functions.sh +type=$1 + +[ "$(nvram get ${type}_proto)" = "pptp" ] || exit + +[ -d "/var/lock" ] || mkdir -p /var/lock || exit 1 + +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 + +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} + + /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 & + diff --git a/package/pptp/files/options.pptp b/package/pptp/files/options.pptp index 0eb1e87e83..c520de74b7 100644 --- a/package/pptp/files/options.pptp +++ b/package/pptp/files/options.pptp @@ -2,11 +2,5 @@ lock noauth nobsdcomp nodeflate -mtu 1490 -mru 1490 -lcp-echo-failure 5 -lcp-echo-interval 120 idle 0 defaultroute -name xxxx -remotename xxxx diff --git a/package/pptp/files/pptp.init b/package/pptp/files/pptp.init deleted file mode 100644 index 34ff8a63b5..0000000000 --- a/package/pptp/files/pptp.init +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -. /etc/functions.sh - -WAN_PROTO=$(nvram get wan_proto) -[ "$WAN_PROTO" = "pptp" ] || exit 0 - -for module in ip_gre slhc ppp_generic ppp_async ppp_deflate ; do - /sbin/insmod $module 2>/dev/null >/dev/null -done - -if test -d "/var/lock"; then - mkdir -p /var/lock || exit 1 -fi - -/usr/sbin/pppd pty "pptp x.x.x.x --loglevel 0 --nolaunchpppd" file /etc/ppp/options.pptp - - |