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 6c9f5150d..94ac61cde 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 000000000..21a574acb --- /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 0eb1e87e8..c520de74b 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 34ff8a63b..000000000 --- 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 -		     -  | 
