Changeset 32197


Ignore:
Timestamp:
2012-06-11T22:07:46+02:00 (4 years ago)
Author:
jow
Message:

[package] ppp: add support for kernel mode pptp

  • add ppp-mod-pptp, based on patch by Daniel Golle <dgolle@…>
  • add netifd integration for pptp to ppp.sh
Location:
trunk/package/ppp
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/ppp/Makefile

    r31984 r32197  
    11# 
    2 # Copyright (C) 2006-2011 OpenWrt.org 
     2# Copyright (C) 2006-2012 OpenWrt.org 
    33# 
    44# This is free software, licensed under the GNU General Public License v2. 
     
    1111PKG_NAME:=ppp 
    1212PKG_VERSION:=2.4.5 
    13 PKG_RELEASE:=5 
     13PKG_RELEASE:=6 
    1414 
    1515PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz 
     
    104104define Package/ppp-mod-pppol2tp/description 
    105105This package contains a PPPoL2TP (PPP over L2TP) plugin for ppp. 
     106endef 
     107 
     108define Package/ppp-mod-pptp 
     109$(call Package/ppp/Default) 
     110  DEPENDS:=@(PACKAGE_ppp||PACKAGE_ppp-multilink) +kmod-pptp +kmod-mppe 
     111  TITLE:=PPtP plugin 
     112endef 
     113 
     114define Package/ppp-mod-pptp/description 
     115This package contains a PPtP plugin for ppp. 
    106116endef 
    107117 
     
    217227endef 
    218228 
     229define Package/ppp-mod-pptp/install 
     230        $(INSTALL_DIR) $(1)/usr/lib/pppd/$(PKG_VERSION) 
     231        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/lib/pppd/$(PKG_VERSION)/pptp.so \ 
     232                $(1)/usr/lib/pppd/$(PKG_VERSION)/ 
     233        $(INSTALL_DIR) $(1)/etc/ppp 
     234        $(INSTALL_DATA) ./files/etc/ppp/options.pptp $(1)/etc/ppp/ 
     235endef 
     236 
    219237define Package/chat/install 
    220238        $(INSTALL_DIR) $(1)/usr/sbin 
     
    238256$(eval $(call BuildPackage,ppp-mod-radius)) 
    239257$(eval $(call BuildPackage,ppp-mod-pppol2tp)) 
     258$(eval $(call BuildPackage,ppp-mod-pptp)) 
    240259$(eval $(call BuildPackage,chat)) 
    241260$(eval $(call BuildPackage,pppdump)) 
  • trunk/package/ppp/files/ppp.sh

    r32160 r32197  
    167167} 
    168168 
     169proto_pptp_init_config() { 
     170        ppp_generic_init_config 
     171        proto_config_add_string "server" 
     172        proto_config_add_boolean "buffering" 
     173        available=1 
     174        no_device=1 
     175} 
     176 
     177proto_pptp_setup() { 
     178        local config="$1" 
     179        local iface="$2" 
     180 
     181        local ip serv_addr server 
     182        json_get_var server server && { 
     183                for ip in $(resolveip -t 5 "$server"); do 
     184                        ( proto_add_host_dependency "$config" "$ip" ) 
     185                        serv_addr=1 
     186                done 
     187        } 
     188        [ -n "$serv_addr" ] || { 
     189                echo "Could not resolve server address" 
     190                sleep 5 
     191                proto_setup_failed "$config" 
     192                exit 1 
     193        } 
     194 
     195        local buffering 
     196        json_get_var buffering buffering 
     197        [ "${buffering:-1}" == 0 ] && buffering="--nobuffer" || buffering= 
     198 
     199        local load 
     200        for module in slhc ppp_generic ppp_async ppp_mppe ip_gre gre pptp; do 
     201                grep -q "$module" /proc/modules && continue 
     202                /sbin/insmod $module 2>&- >&- 
     203                load=1 
     204        done 
     205        [ "$load" = "1" ] && sleep 1 
     206 
     207        ppp_generic_setup "$config" \ 
     208                plugin pptp.so \ 
     209                pptp_server $server \ 
     210                file /etc/ppp/options.pptp 
     211} 
     212 
     213proto_pptp_teardown() { 
     214        ppp_generic_teardown "$@" 
     215} 
     216 
    169217[ -n "$INCLUDE_ONLY" ] || { 
    170218        add_protocol ppp 
    171219        [ -f /usr/lib/pppd/*/rp-pppoe.so ] && add_protocol pppoe 
    172220        [ -f /usr/lib/pppd/*/pppoatm.so ] && add_protocol pppoa 
    173 } 
    174  
     221        [ -f /usr/lib/pppd/*/pptp.so ] && add_protocol pptp 
     222} 
     223 
Note: See TracChangeset for help on using the changeset viewer.