aboutsummaryrefslogtreecommitdiffstats
path: root/package/pptp
diff options
context:
space:
mode:
Diffstat (limited to 'package/pptp')
-rw-r--r--package/pptp/Makefile4
-rw-r--r--package/pptp/files/ifup.pptp45
-rw-r--r--package/pptp/files/pptp.sh22
3 files changed, 24 insertions, 47 deletions
diff --git a/package/pptp/Makefile b/package/pptp/Makefile
index 061e55395e..b060c12a79 100644
--- a/package/pptp/Makefile
+++ b/package/pptp/Makefile
@@ -31,8 +31,8 @@ endef
define Package/pptp/install
install -d -m0755 $(1)/etc/ppp
install -m0644 ./files/options.pptp $(1)/etc/ppp/
- install -d -m0755 $(1)/sbin
- install -m0755 ./files/ifup.pptp $(1)/sbin/
+ install -d -m0755 $(1)/lib/network
+ install -m0755 ./files/pptp.sh $(1)/lib/network/
install -d -m0755 $(1)/usr/sbin
install -m0755 $(PKG_BUILD_DIR)/pptp $(1)/usr/sbin/
endef
diff --git a/package/pptp/files/ifup.pptp b/package/pptp/files/ifup.pptp
deleted file mode 100644
index f401a36b2f..0000000000
--- a/package/pptp/files/ifup.pptp
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/sh
-[ $# = 0 ] && { echo " $0 <group>"; exit; }
-. /etc/config/network
-type=$1
-
-eval "proto=\"\${${type}_proto}\""
-[ "$proto" = "pptp" ] || {
- echo "$0: ${type}_proto isn't pptp"
- exit
-}
-
-mkdir -p /var/lock
-
-for module in slhc ppp_generic ppp_async ip_gre; do
- /sbin/insmod $module 2>&- >&-
-done
-
-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}
-
-[ "$pptp_proto" = "static" ] || pptp_proto="dhcp"
-do_ifup $pptp_proto $type
-
-/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
-
diff --git a/package/pptp/files/pptp.sh b/package/pptp/files/pptp.sh
new file mode 100644
index 0000000000..7847802041
--- /dev/null
+++ b/package/pptp/files/pptp.sh
@@ -0,0 +1,22 @@
+scan_pppoe() {
+ scan_ppp "$@"
+}
+
+setup_interface_pppoe() {
+ local iface="$1"
+ local config="$2"
+
+ config_get device "$config" device
+
+ for module in slhc ppp_generic ppp_async ip_gre; do
+ /sbin/insmod $module 2>&- >&-
+ done
+ setup_interface "$iface" "$config" "dhcp"
+
+ config_get mtu "$cfg" mtu
+ mtu=${mtu:-1452}
+ start_pppd "$config" \
+ plugin rp-pppoe.so \
+ mtu $mtu mru $mtu \
+ "nic-$device"
+}