From f33b5960c7357a5181b725baf3672fa97d071331 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Tue, 20 Mar 2012 13:09:27 +0000 Subject: pppd: split files into netifd and non-netifd files, move the netifd ppp.sh file to the pppd package git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31041 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../ppp/files.old/etc/hotplug.d/atm/20-atm-modem | 28 ++++ package/ppp/files.old/etc/ppp/ip-down | 25 ++++ package/ppp/files.old/etc/ppp/ip-up | 37 ++++++ package/ppp/files.old/etc/ppp/ipv6-down | 16 +++ package/ppp/files.old/etc/ppp/ipv6-up | 16 +++ package/ppp/files.old/ppp.sh | 145 +++++++++++++++++++++ package/ppp/files.old/pppoa.sh | 39 ++++++ package/ppp/files.old/pppoe.sh | 30 +++++ 8 files changed, 336 insertions(+) create mode 100644 package/ppp/files.old/etc/hotplug.d/atm/20-atm-modem create mode 100755 package/ppp/files.old/etc/ppp/ip-down create mode 100755 package/ppp/files.old/etc/ppp/ip-up create mode 100644 package/ppp/files.old/etc/ppp/ipv6-down create mode 100644 package/ppp/files.old/etc/ppp/ipv6-up create mode 100644 package/ppp/files.old/ppp.sh create mode 100644 package/ppp/files.old/pppoa.sh create mode 100644 package/ppp/files.old/pppoe.sh (limited to 'package/ppp/files.old') diff --git a/package/ppp/files.old/etc/hotplug.d/atm/20-atm-modem b/package/ppp/files.old/etc/hotplug.d/atm/20-atm-modem new file mode 100644 index 0000000000..4fd9b9c662 --- /dev/null +++ b/package/ppp/files.old/etc/hotplug.d/atm/20-atm-modem @@ -0,0 +1,28 @@ +#!/bin/sh + +if [ "$ACTION" = "add" ]; then + include /lib/network + scan_interfaces + + local found=0 + local ifc + for ifc in $interfaces; do + local up + config_get_bool up "$ifc" up 0 + + local auto + config_get_bool auto "$ifc" auto 1 + + local proto + config_get proto "$ifc" proto + + if [ "$proto" = "pppoa" ] && [ "$up" != 1 ] && [ "$auto" = 1 ]; then + found=1 + ( sleep 1; ifup "$ifc" ) & + fi + done + + if [ "$found" != 1 ]; then + logger "Found no matching interface for DSL device $DEVICENAME" + fi +fi diff --git a/package/ppp/files.old/etc/ppp/ip-down b/package/ppp/files.old/etc/ppp/ip-down new file mode 100755 index 0000000000..487ff6b46b --- /dev/null +++ b/package/ppp/files.old/etc/ppp/ip-down @@ -0,0 +1,25 @@ +#!/bin/sh +. /etc/functions.sh +PPP_IFACE="$1" +PPP_TTY="$2" +PPP_SPEED="$3" +PPP_LOCAL="$4" +PPP_REMOTE="$5" +PPP_IPPARAM="$(echo $6 | sed 's/\./_/g')" +export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM +[ -z "$PPP_IPPARAM" ] || { + case "$PPP_IFACE" in + # only handle uci managed interfaces here, others are done by generic hotplug + 3g-*|ppp-*|pppoa-*|pppoe-*|pptp-*) + env -i ACTION="ifdown" INTERFACE="$PPP_IPPARAM" DEVICE="$PPP_IFACE" PROTO=ppp /sbin/hotplug-call "iface" + uci_revert_state network "$PPP_IPPARAM" + ;; + esac +} + +[ -d /etc/ppp/ip-down.d ] && { + for SCRIPT in /etc/ppp/ip-down.d/* + do + [ -x "$SCRIPT" ] && "$SCRIPT" "$@" + done +} diff --git a/package/ppp/files.old/etc/ppp/ip-up b/package/ppp/files.old/etc/ppp/ip-up new file mode 100755 index 0000000000..353f667895 --- /dev/null +++ b/package/ppp/files.old/etc/ppp/ip-up @@ -0,0 +1,37 @@ +#!/bin/sh + +. /etc/functions.sh +. /lib/network/config.sh + +PPP_IFACE="$1" +PPP_TTY="$2" +PPP_SPEED="$3" +PPP_LOCAL="$4" +PPP_REMOTE="$5" +PPP_IPPARAM="$(echo $6 | sed 's/\./_/g')" + +export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM +[ -z "$PPP_IPPARAM" -o -z "$PPP_LOCAL" ] || { + uci_set_state network "$PPP_IPPARAM" ifname "$PPP_IFACE" + uci_set_state network "$PPP_IPPARAM" ipaddr "$PPP_LOCAL" + uci_set_state network "$PPP_IPPARAM" gateway "$PPP_REMOTE" + + local dns="$DNS1${DNS2:+ $DNS2}" + [ -n "$dns" ] && add_dns "$PPP_IPPARAM" $dns +} + +[ -z "$PPP_IPPARAM" ] || { + case "$PPP_IFACE" in + # only handle uci managed interfaces here, others are done by generic hotplug + 3g-*|ppp-*|pppoa-*|pppoe-*|pptp-*) + env -i ACTION="ifup" INTERFACE="$PPP_IPPARAM" DEVICE="$PPP_IFACE" PROTO=ppp /sbin/hotplug-call "iface" + ;; + esac +} + +[ -d /etc/ppp/ip-up.d ] && { + for SCRIPT in /etc/ppp/ip-up.d/* + do + [ -x "$SCRIPT" ] && "$SCRIPT" "$@" + done +} diff --git a/package/ppp/files.old/etc/ppp/ipv6-down b/package/ppp/files.old/etc/ppp/ipv6-down new file mode 100644 index 0000000000..436b91ded7 --- /dev/null +++ b/package/ppp/files.old/etc/ppp/ipv6-down @@ -0,0 +1,16 @@ +#!/bin/sh + +gw=$5 +dev=$1 +cfg=$6 + +. /etc/functions.sh # common functions +include /lib/network # include /lib/network/*.sh +scan_interfaces # read and parse the network config + +config_get_bool defaultroute "$cfg" defaultroute 1 + +if [ ${defaultroute} -eq 1 ] +then + route -A inet6 del default gw ${gw} dev ${dev} +fi diff --git a/package/ppp/files.old/etc/ppp/ipv6-up b/package/ppp/files.old/etc/ppp/ipv6-up new file mode 100644 index 0000000000..5162455fa8 --- /dev/null +++ b/package/ppp/files.old/etc/ppp/ipv6-up @@ -0,0 +1,16 @@ +#!/bin/sh + +gw=$5 +dev=$1 +cfg=$6 + +. /etc/functions.sh # common functions +include /lib/network # include /lib/network/*.sh +scan_interfaces # read and parse the network config + +config_get_bool defaultroute "$cfg" defaultroute 1 + +if [ ${defaultroute} -eq 1 ] +then + route -A inet6 add default gw ${gw} dev ${dev} +fi diff --git a/package/ppp/files.old/ppp.sh b/package/ppp/files.old/ppp.sh new file mode 100644 index 0000000000..e26749ebc5 --- /dev/null +++ b/package/ppp/files.old/ppp.sh @@ -0,0 +1,145 @@ +stop_interface_ppp() { + local cfg="$1" + + local proto + config_get proto "$cfg" proto + + local link="$proto-$cfg" + SERVICE_PID_FILE="/var/run/ppp-${link}.pid" \ + service_stop /usr/sbin/pppd + + remove_dns "$cfg" + + local lock="/var/lock/ppp-$link" + [ -f "$lock" ] && lock -u "$lock" +} + +start_pppd() { + local cfg="$1"; shift + + # Workaround for PPPoE service and AC name options, + # filter out the nic-* argument and append it as last option + local nic="" + case "$1" in + nic-*) nic="$1"; shift ;; + esac + + local proto + config_get proto "$cfg" proto + + # unique link identifier + local link="${proto:-ppp}-$cfg" + + # make sure only one pppd process is started + lock "/var/lock/ppp-${link}" + SERVICE_PID_FILE="/var/run/ppp-${link}.pid" \ + service_check /usr/sbin/pppd && { + lock -u "/var/lock/ppp-${link}" + return 0 + } + + # Workaround: sometimes hotplug2 doesn't deliver the hotplug event for creating + # /dev/ppp fast enough to be used here + [ -e /dev/ppp ] || mknod /dev/ppp c 108 0 + + local device + config_get device "$cfg" device + + local username + config_get username "$cfg" username + + local password + config_get password "$cfg" password + + local keepalive + config_get keepalive "$cfg" keepalive + + local connect + config_get connect "$cfg" connect + + local disconnect + config_get disconnect "$cfg" disconnect + + local pppd_options + config_get pppd_options "$cfg" pppd_options + + local defaultroute + config_get_bool defaultroute "$cfg" defaultroute 1 + [ "$defaultroute" -eq 1 ] && \ + defaultroute="defaultroute replacedefaultroute" || defaultroute="nodefaultroute" + + local interval="${keepalive##*[, ]}" + [ "$interval" != "$keepalive" ] || interval=5 + + local dns + config_get dns "$config" dns + + local has_dns=0 + local peer_default=1 + [ -n "$dns" ] && { + has_dns=1 + peer_default=0 + } + + local peerdns + config_get_bool peerdns "$cfg" peerdns $peer_default + + [ "$peerdns" -eq 1 ] && { + peerdns="usepeerdns" + } || { + peerdns="" + add_dns "$cfg" $dns + } + + local demand + config_get demand "$cfg" demand 0 + + local demandargs + [ "$demand" -gt 0 ] && { + demandargs="precompiled-active-filter /etc/ppp/filter demand idle $demand" + [ "$has_dns" -eq 0 ] && add_dns "$cfg" 1.1.1.1 + } || { + demandargs="persist" + } + + local ipv6 + config_get_bool ipv6 "$cfg" ipv6 0 + [ "$ipv6" -eq 1 ] && ipv6="+ipv6" || ipv6="" + + SERVICE_DAEMONIZE=1 \ + SERVICE_WRITE_PID=1 \ + SERVICE_PID_FILE="/var/run/ppp-$link.pid" \ + service_start /usr/sbin/pppd "$@" \ + ${keepalive:+lcp-echo-interval $interval lcp-echo-failure ${keepalive%%[, ]*}} \ + $demandargs \ + $peerdns \ + $defaultroute \ + ${username:+user "$username" password "$password"} \ + ipparam "$cfg" \ + ifname "$link" \ + ${connect:+connect "$connect"} \ + ${disconnect:+disconnect "$disconnect"} \ + ${ipv6} \ + ${pppd_options} \ + nodetach \ + ${nic} + + lock -u "/var/lock/ppp-${link}" +} + +setup_interface_ppp() { + local iface="$1" + local config="$2" + + local device + config_get device "$config" device + + local mtu + config_get mtu "$config" mtu + + mtu=${mtu:-1492} + start_pppd "$config" \ + mtu $mtu mru $mtu \ + "$device" +} + diff --git a/package/ppp/files.old/pppoa.sh b/package/ppp/files.old/pppoa.sh new file mode 100644 index 0000000000..dbb6eb00e4 --- /dev/null +++ b/package/ppp/files.old/pppoa.sh @@ -0,0 +1,39 @@ +scan_pppoa() { + config_set "$1" device "pppoa-$1" +} + +stop_interface_pppoa() { + stop_interface_ppp "$1" +} + +setup_interface_pppoa() { + local config="$2" + + local atmdev + config_get atmdev "$config" atmdev + + local vpi + config_get vpi "$config" vpi + + local vci + config_get vci "$config" vci + + for module in slhc ppp_generic pppoatm; do + /sbin/insmod $module 2>&- >&- + done + + local encaps + config_get encaps "$config" encaps + + case "$encaps" in + 1|vc) encaps="vc-encaps" ;; + *) encaps="llc-encaps" ;; + esac + + local mtu + config_get mtu "$config" mtu + + start_pppd "$config" \ + plugin pppoatm.so ${atmdev:+$atmdev.}${vpi:-8}.${vci:-35} \ + ${encaps} ${mtu:+mtu $mtu mru $mtu} +} diff --git a/package/ppp/files.old/pppoe.sh b/package/ppp/files.old/pppoe.sh new file mode 100644 index 0000000000..ea3dc6cf01 --- /dev/null +++ b/package/ppp/files.old/pppoe.sh @@ -0,0 +1,30 @@ +stop_interface_pppoe() { + stop_interface_ppp "$1" +} + +setup_interface_pppoe() { + local iface="$1" + local config="$2" + + for module in slhc ppp_generic pppox pppoe; do + /sbin/insmod $module 2>&- >&- + done + + local mtu + config_get mtu "$config" mtu 1492 + + local ac + config_get ac "$config" ac + + local service + config_get service "$config" service + + # NB: the first nic-* argument will be moved to the + # end of the argument list by start_pppd() + start_pppd "$config" \ + "nic-$iface" \ + plugin rp-pppoe.so \ + ${ac:+rp_pppoe_ac "$ac"} \ + ${service:+rp_pppoe_service "$service"} \ + mtu $mtu mru $mtu +} -- cgit v1.2.3