PKG_SOURCE_URL:=@SF/pptpclient
PKG_MD5SUM:=b47735ba5d6d37dfdbccb85afc044ede
-PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_netifd
-
include $(INCLUDE_DIR)/package.mk
define Package/pptp
TITLE:=PPTP client
MAINTAINER:=Jo-Philipp Wich <xm@subsignal.org>
URL:=http://pptpclient.sourceforge.net/
- DEPENDS:=+ppp +kmod-gre +resolveip +!PACKAGE_netifd:ip
+ DEPENDS:=+ppp +kmod-gre +resolveip
endef
define Package/pptp/description
MAKE_FLAGS += OPTIMIZE="$(TARGET_CFLAGS)"
-ifneq ($(CONFIG_PACKAGE_netifd),)
- define Package/pptp/install
+define Package/pptp/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/pptp $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc/ppp
$(INSTALL_DATA) ./files/options.pptp $(1)/etc/ppp/
$(INSTALL_DIR) $(1)/lib/netifd/proto/
$(INSTALL_BIN) ./files/pptp.sh $(1)/lib/netifd/proto/
- endef
-else
- define Package/pptp/install
- $(INSTALL_DIR) $(1)/usr/sbin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/pptp $(1)/usr/sbin/
- $(INSTALL_DIR) $(1)/etc/ppp
- $(INSTALL_DATA) ./files/options.pptp $(1)/etc/ppp/
- $(INSTALL_DIR) $(1)/lib/network
- $(INSTALL_DATA) ./files.old/pptp.sh $(1)/lib/network/
- endef
-endif
+endef
$(eval $(call BuildPackage,pptp))
+++ /dev/null
-find_route() {
- ip route get $1 | sed -e 's/ /\n/g' | \
- sed -ne '1p;/via/{N;p};/dev/{N;p};/src/{N;p};/mtu/{N;p}'
-}
-
-scan_pptp() {
- config_set "$1" device "pptp-$1"
-}
-
-stop_interface_pptp() {
- stop_interface_ppp "$1"
- for ip in $(uci_get_state network "$1" serv_addrs); do
- ip route del "$ip" 2>/dev/null
- done
-}
-
-coldplug_interface_pptp() {
- setup_interface_pptp "pptp-$1" "$1"
-}
-
-setup_interface_pptp() {
- local config="$2"
- local ifname
-
- local device
- config_get device "$config" device
-
- local server
- config_get server "$config" server
-
- local buffering
- config_get_bool buffering "$config" buffering 1
- [ "$buffering" == 0 ] && buffering="--nobuffer" || buffering=
-
- for module in slhc ppp_generic ppp_async ip_gre; do
- /sbin/insmod $module 2>&- >&-
- done
- sleep 1
-
- local serv_addrs=""
- for ip in $(resolveip -t 3 "${server}"); do
- append serv_addrs "$ip"
- ip route replace $(find_route $ip)
- done
- uci_toggle_state network "$config" serv_addrs "$serv_addrs"
-
- # fix up the netmask
- config_get netmask "$config" netmask
- [ -z "$netmask" -o -z "$device" ] || ifconfig $device netmask $netmask
-
- config_get mtu "$config" mtu
- mtu=${mtu:-1452}
- start_pppd "$config" \
- pty "/usr/sbin/pptp $server --loglevel 0 --nolaunchpppd $buffering" \
- file /etc/ppp/options.pptp \
- mtu $mtu mru $mtu
-}