Changeset 31041


Ignore:
Timestamp:
2012-03-20T14:09:27+01:00 (5 years ago)
Author:
nbd
Message:

pppd: split files into netifd and non-netifd files, move the netifd ppp.sh file to the pppd package

Location:
trunk/package
Files:
5 added
2 deleted
2 edited
2 copied
6 moved

Legend:

Unmodified
Added
Removed
  • trunk/package/ppp/Makefile

    r29165 r31041  
    157157endef 
    158158 
     159ifneq ($(CONFIG_PACKAGE_netifd),) 
     160  define Package/ppp/script_install 
     161        $(INSTALL_DIR) $(1)/lib/netifd/proto 
     162        $(INSTALL_BIN) ./files/ppp.sh $(1)/lib/netifd/proto/ 
     163  endef 
     164else 
     165  define Package/ppp/script_install 
     166        $(INSTALL_DIR) $(1)/lib/network 
     167        $(INSTALL_BIN) ./files.old/ppp.sh $(1)/lib/network/ 
     168        $(INSTALL_BIN) ./files.old/etc/ppp/ip-up $(1)/etc/ppp/ 
     169        $(INSTALL_DIR) $(1)/etc/ppp/ip-up.d 
     170        $(INSTALL_BIN) ./files.old/etc/ppp/ip-down $(1)/etc/ppp/ 
     171        $(INSTALL_DIR) $(1)/etc/ppp/ip-down.d 
     172        $(INSTALL_BIN) ./files.old/etc/ppp/ipv6-up $(1)/etc/ppp/ 
     173        $(INSTALL_BIN) ./files.old/etc/ppp/ipv6-down $(1)/etc/ppp/ 
     174        $(INSTALL_DIR) $(1)/lib/network 
     175        $(INSTALL_BIN) ./files.old/pppoe.sh $(1)/lib/network/ 
     176        $(INSTALL_DIR) $(1)/lib/network 
     177        $(INSTALL_BIN) ./files.old/pppoa.sh $(1)/lib/network/ 
     178        $(INSTALL_DIR) $(1)/etc/hotplug.d/atm 
     179        $(INSTALL_DATA) ./files.old/etc/hotplug.d/atm/20-atm-modem $(1)/etc/hotplug.d/atm/ 
     180  endef 
     181endif 
     182 
    159183define Package/ppp/install 
    160184        $(INSTALL_DIR) $(1)/usr/lib/pppd/$(PKG_VERSION) 
    161185        $(INSTALL_DIR) $(1)/usr/sbin 
    162186        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/pppd $(1)/usr/sbin/ 
    163         $(INSTALL_DIR) $(1)/lib/network 
    164         $(INSTALL_BIN) ./files/ppp.sh $(1)/lib/network/ 
    165187        $(INSTALL_DIR) $(1)/etc/ppp 
    166188        $(INSTALL_CONF) ./files/etc/ppp/chap-secrets $(1)/etc/ppp/ 
    167189        $(INSTALL_DATA) ./files/etc/ppp/filter $(1)/etc/ppp/ 
    168         $(INSTALL_BIN) ./files/etc/ppp/ip-up $(1)/etc/ppp/ 
    169         $(INSTALL_DIR) $(1)/etc/ppp/ip-up.d 
    170         $(INSTALL_BIN) ./files/etc/ppp/ip-down $(1)/etc/ppp/ 
    171         $(INSTALL_DIR) $(1)/etc/ppp/ip-down.d 
    172         $(INSTALL_BIN) ./files/etc/ppp/ipv6-up $(1)/etc/ppp/ 
    173         $(INSTALL_BIN) ./files/etc/ppp/ipv6-down $(1)/etc/ppp/ 
    174190        $(INSTALL_DATA) ./files/etc/ppp/options $(1)/etc/ppp/ 
    175191        ln -sf /tmp/resolv.conf.ppp $(1)/etc/ppp/resolv.conf 
     192        $(Package/ppp/script_install) 
    176193endef 
    177194Package/ppp-multilink/install=$(Package/ppp/install) 
     
    181198        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/lib/pppd/$(PKG_VERSION)/pppoatm.so \ 
    182199                $(1)/usr/lib/pppd/$(PKG_VERSION)/ 
    183         $(INSTALL_DIR) $(1)/lib/network 
    184         $(INSTALL_BIN) ./files/pppoa.sh $(1)/lib/network/ 
    185         $(INSTALL_DIR) $(1)/etc/hotplug.d/atm 
    186         $(INSTALL_DATA) ./files/etc/hotplug.d/atm/20-atm-modem $(1)/etc/hotplug.d/atm/ 
    187200endef 
    188201 
     
    191204        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/lib/pppd/$(PKG_VERSION)/rp-pppoe.so \ 
    192205                $(1)/usr/lib/pppd/$(PKG_VERSION)/ 
    193         $(INSTALL_DIR) $(1)/lib/network 
    194         $(INSTALL_BIN) ./files/pppoe.sh $(1)/lib/network/ 
    195206endef 
    196207 
  • trunk/package/ppp/files/ppp.sh

    • Property svn:executable set to *
    r29165 r31041  
    1 stop_interface_ppp() { 
    2         local cfg="$1" 
     1#!/bin/sh 
    32 
    4         local proto 
    5         config_get proto "$cfg" proto 
     3[ -x /usr/sbin/pppd ] || exit 0 
    64 
    7         local link="$proto-$cfg" 
    8         SERVICE_PID_FILE="/var/run/ppp-${link}.pid" \ 
    9         service_stop /usr/sbin/pppd 
    10  
    11         remove_dns "$cfg" 
    12  
    13         local lock="/var/lock/ppp-$link" 
    14         [ -f "$lock" ] && lock -u "$lock" 
     5[ -n "$INCLUDE_ONLY" ] || { 
     6        . /etc/functions.sh 
     7        . ../netifd-proto.sh 
     8        init_proto "$@" 
    159} 
    1610 
    17 start_pppd() { 
    18         local cfg="$1"; shift 
     11ppp_generic_init_config() { 
     12        proto_config_add_string "username" 
     13        proto_config_add_string "password" 
     14        proto_config_add_string "keepalive" 
     15        proto_config_add_int "demand" 
     16        proto_config_add_string "pppd_options" 
     17        proto_config_add_string "connect" 
     18        proto_config_add_string "disconnect" 
     19        proto_config_add_boolean "defaultroute" 
     20        proto_config_add_boolean "peerdns" 
     21        proto_config_add_boolean "ipv6" 
     22        proto_config_add_int "mtu" 
     23} 
    1924 
    20         # Workaround for PPPoE service and AC name options, 
    21         # filter out the nic-* argument and append it as last option 
    22         local nic="" 
    23         case "$1" in 
    24                 nic-*) nic="$1"; shift ;; 
    25         esac 
     25ppp_generic_setup() { 
     26        local config="$1"; shift 
    2627 
    27         local proto 
    28         config_get proto "$cfg" proto 
     28        json_get_var ipv6 ipv6 
     29        [ "$ipv6" = 1 ] || ipv6="" 
    2930 
    30         # unique link identifier 
    31         local link="${proto:-ppp}-$cfg" 
     31        json_get_var peerdns peerdns 
     32        [ "$peerdns" = 0 ] && peerdns="" || peerdns="1" 
    3233 
    33         # make sure only one pppd process is started 
    34         lock "/var/lock/ppp-${link}" 
    35         SERVICE_PID_FILE="/var/run/ppp-${link}.pid" \ 
    36         service_check /usr/sbin/pppd && { 
    37                 lock -u "/var/lock/ppp-${link}" 
    38                 return 0 
    39         } 
     34        json_get_var defaultroute defaultroute 
     35        if [ "$defaultroute" = 1 ]; then 
     36                defaultroute="defaultroute replacedefaultroute"; 
     37        else 
     38                defaultroute="nodefaultroute" 
     39        fi 
    4040 
    41         # Workaround: sometimes hotplug2 doesn't deliver the hotplug event for creating 
    42         # /dev/ppp fast enough to be used here 
    43         [ -e /dev/ppp ] || mknod /dev/ppp c 108 0 
     41        json_get_var demand demand 
     42        if [ "${demand:-0}" -gt 0 ]; then 
     43                demand="precompiled-active-filter /etc/ppp/filter demand idle $demand" 
     44        else 
     45                demand="persist" 
     46        fi 
    4447 
    45         local device 
    46         config_get device "$cfg" device 
     48        [ -n "$mtu" ] || json_get_var mtu mtu 
    4749 
    48         local username 
    49         config_get username "$cfg" username 
    50  
    51         local password 
    52         config_get password "$cfg" password 
    53  
    54         local keepalive 
    55         config_get keepalive "$cfg" keepalive 
    56  
    57         local connect 
    58         config_get connect "$cfg" connect 
    59  
    60         local disconnect 
    61         config_get disconnect "$cfg" disconnect 
    62  
    63         local pppd_options 
    64         config_get pppd_options "$cfg" pppd_options 
    65  
    66         local defaultroute 
    67         config_get_bool defaultroute "$cfg" defaultroute 1 
    68         [ "$defaultroute" -eq 1 ] && \ 
    69                 defaultroute="defaultroute replacedefaultroute" || defaultroute="nodefaultroute" 
    70  
     50        json_get_var keepalive keepalive 
    7151        local interval="${keepalive##*[, ]}" 
    7252        [ "$interval" != "$keepalive" ] || interval=5 
    7353 
    74         local dns 
    75         config_get dns "$config" dns 
     54        json_get_var username username 
     55        json_get_var password password 
    7656 
    77         local has_dns=0 
    78         local peer_default=1 
    79         [ -n "$dns" ] && { 
    80                 has_dns=1 
    81                 peer_default=0 
    82         } 
     57        [ -n "$connect" ] || json_get_var connect connect 
     58        [ -n "$disconnect" ] || json_get_var disconnect disconnect 
     59        json_get_var pppd_options pppd_options 
    8360 
    84         local peerdns 
    85         config_get_bool peerdns "$cfg" peerdns $peer_default 
    86  
    87         [ "$peerdns" -eq 1 ] && { 
    88                 peerdns="usepeerdns" 
    89         } || { 
    90                 peerdns="" 
    91                 add_dns "$cfg" $dns 
    92         } 
    93  
    94         local demand 
    95         config_get demand "$cfg" demand 0 
    96  
    97         local demandargs 
    98         [ "$demand" -gt 0 ] && { 
    99                 demandargs="precompiled-active-filter /etc/ppp/filter demand idle $demand" 
    100                 [ "$has_dns" -eq 0 ] && add_dns "$cfg" 1.1.1.1 
    101         } || { 
    102                 demandargs="persist" 
    103         } 
    104  
    105         local ipv6 
    106         config_get_bool ipv6 "$cfg" ipv6 0 
    107         [ "$ipv6" -eq 1 ] && ipv6="+ipv6" || ipv6="" 
    108  
    109         SERVICE_DAEMONIZE=1 \ 
    110         SERVICE_WRITE_PID=1 \ 
    111         SERVICE_PID_FILE="/var/run/ppp-$link.pid" \ 
    112         service_start /usr/sbin/pppd "$@" \ 
     61        proto_run_command "$config" /usr/sbin/pppd \ 
     62                nodetach ipparam "$config" \ 
     63                ifname "${proto:-ppp}-$config" \ 
    11364                ${keepalive:+lcp-echo-interval $interval lcp-echo-failure ${keepalive%%[, ]*}} \ 
    114                 $demandargs \ 
    115                 $peerdns \ 
    116                 $defaultroute \ 
     65                ${ipv6:++ipv6} $defaultroute \ 
     66                ${peerdns:+usepeerdns} \ 
     67                $demand maxfail 1 \ 
    11768                ${username:+user "$username" password "$password"} \ 
    118                 ipparam "$cfg" \ 
    119                 ifname "$link" \ 
    12069                ${connect:+connect "$connect"} \ 
    12170                ${disconnect:+disconnect "$disconnect"} \ 
    122                 ${ipv6} \ 
    123                 ${pppd_options} \ 
    124                 nodetach \ 
    125                 ${nic} 
    126  
    127         lock -u "/var/lock/ppp-${link}" 
     71                ip-up-script /lib/netifd/ppp-up \ 
     72                ipv6-up-script /lib/netifd/ppp-up \ 
     73                ip-down-script /lib/netifd/ppp-down \ 
     74                ipv6-down-script /lib/netifd/ppp-down \ 
     75                ${mtu:+mtu $mtu mru $mtu} \ 
     76                $pppd_options "$@" 
    12877} 
    12978 
    130 setup_interface_ppp() { 
    131         local iface="$1" 
    132         local config="$2" 
     79ppp_generic_teardown() { 
     80        local interface="$1" 
    13381 
    134         local device 
    135         config_get device "$config" device 
    136  
    137         local mtu 
    138         config_get mtu "$config" mtu 
    139  
    140         mtu=${mtu:-1492} 
    141         start_pppd "$config" \ 
    142                 mtu $mtu mru $mtu \ 
    143                 "$device" 
     82        case "$ERROR" in 
     83                11|19) 
     84                        proto_notify_error "$interface" AUTH_FAILED 
     85                        proto_block_restart "$interface" 
     86                ;; 
     87        esac 
     88        proto_kill_command "$interface" 
    14489} 
    14590 
     91# PPP on serial device 
     92 
     93proto_ppp_init_config() { 
     94        proto_config_add_string "device" 
     95        ppp_generic_init_config 
     96        no_device=1 
     97        available=1 
     98} 
     99 
     100proto_ppp_setup() { 
     101        local config="$1" 
     102 
     103        json_get_var device device 
     104        ppp_generic_setup "$config" "$device" 
     105} 
     106 
     107proto_ppp_teardown() { 
     108        ppp_generic_teardown "$@" 
     109} 
     110 
     111proto_pppoe_init_config() { 
     112        ppp_generic_init_config 
     113        proto_config_add_string "ac" 
     114        proto_config_add_string "service" 
     115} 
     116 
     117proto_pppoe_setup() { 
     118        local config="$1" 
     119        local iface="$2" 
     120 
     121        for module in slhc ppp_generic pppox pppoe; do 
     122                /sbin/insmod $module 2>&- >&- 
     123        done 
     124 
     125        json_get_var mtu mtu 
     126        mtu="${mtu:-1492}" 
     127 
     128        json_get_var ac ac 
     129        json_get_var service service 
     130 
     131        ppp_generic_setup "$config" \ 
     132                plugin rp-pppoe.so \ 
     133                ${ac:+rp_pppoe_ac "$ac"} \ 
     134                ${service:+rp_pppoe_service "$service"} \ 
     135                "nic-$iface" 
     136} 
     137 
     138proto_pppoe_teardown() { 
     139        ppp_generic_teardown "$@" 
     140} 
     141 
     142proto_pppoa_init_config() { 
     143        ppp_generic_init_config 
     144        proto_config_add_int "atmdev" 
     145        proto_config_add_int "vci" 
     146        proto_config_add_int "vpi" 
     147        proto_config_add_string "encaps" 
     148} 
     149 
     150proto_pppoa_setup() { 
     151        local config="$1" 
     152        local iface="$2" 
     153 
     154        for module in slhc ppp_generic pppox pppoatm; do 
     155                /sbin/insmod $module 2>&- >&- 
     156        done 
     157 
     158        json_get_var atmdev atmdev 
     159        json_get_var vci vci 
     160        json_get_var vpi vpi 
     161 
     162        json_get_var encaps encaps 
     163        case "$encaps" in 
     164                1|vc) encaps="vc-encaps" ;; 
     165                *) encaps="llc-encaps" ;; 
     166        esac 
     167 
     168        ppp_generic_setup "$config" \ 
     169                plugin pppoatm.so \ 
     170                ${atmdev:+$atmdev.}${vpi:-8}.${vci:-35} \ 
     171                ${encaps} 
     172} 
     173 
     174proto_pppoa_teardown() { 
     175        ppp_generic_teardown "$@" 
     176} 
     177 
     178[ -n "$INCLUDE_ONLY" ] || { 
     179        add_protocol ppp 
     180        [ -f /usr/lib/pppd/*/rp-pppoe.so ] && add_protocol pppoe 
     181        [ -f /usr/lib/pppd/*/pppoatm.so ] && add_protocol pppoa 
     182} 
     183 
Note: See TracChangeset for help on using the changeset viewer.