Changeset 3588


Ignore:
Timestamp:
2006-04-05T04:09:22+02:00 (11 years ago)
Author:
nbd
Message:

large init script cleanup and merge of whiterussian changes, new dnsmasq config handling

Location:
trunk/openwrt
Files:
11 added
11 deleted
32 edited
3 moved

Legend:

Unmodified
Added
Removed
  • trunk/openwrt/package/Config.in

    r3570 r3588  
    334334endmenu 
    335335 
    336 source "package/Sysconf.in" 
    337  
    338  
  • trunk/openwrt/package/base-files/Makefile

    r3561 r3588  
    5656        $(SED) 's,$$R,r$(REV),g' $(IDIR_BASE)/etc/banner 
    5757        $(SED) 's,$$S,$(BOARD)-$(KERNEL),g' $(IDIR_BASE)/etc/ipkg.conf 
    58         mkdir -p $(IDIR_BASE)/sys 
     58        mkdir -p $(IDIR_BASE)/dev 
     59        mkdir -p $(IDIR_BASE)/etc/crontabs 
    5960        mkdir -p $(IDIR_BASE)/jffs 
    60         mkdir -p $(IDIR_BASE)/dev 
     61        mkdir -p $(IDIR_BASE)/lib 
     62        mkdir -p $(IDIR_BASE)/mnt 
    6163        mkdir -p $(IDIR_BASE)/proc 
    6264        mkdir -p $(IDIR_BASE)/tmp 
    63         mkdir -p $(IDIR_BASE)/lib 
    6465        mkdir -p $(IDIR_BASE)/usr/lib 
    6566        mkdir -p $(IDIR_BASE)/usr/bin 
     67        mkdir -p $(IDIR_BASE)/sys 
     68        mkdir -p $(IDIR_BASE)/www 
    6669        ln -sf /tmp/resolv.conf $(IDIR_BASE)/etc/resolv.conf 
    6770        ln -sf /proc/mounts $(IDIR_BASE)/etc/mtab 
    68         rm -rf $(IDIR_BASE)/var 
     71        rm -f $(IDIR_BASE)/var 
    6972        ln -sf /tmp $(IDIR_BASE)/var 
    7073        -find $(IDIR_BASE) -type d -name CVS | xargs rm -rf 
     
    7275        -find $(IDIR_BASE) -name '.#*' | xargs rm -f 
    7376        mkdir -p $(IDIR_BASE)/etc 
    74         -grep \^BR2_SYSCONF $(TOPDIR)/.config > $(IDIR_BASE)/etc/sysconf 
    7577        $(IPKG_BUILD) $(IDIR_BASE) $(PACKAGE_DIR) 
    7678 
  • trunk/openwrt/package/base-files/default/bin/firstboot

    r2531 r3588  
    22# $Id$ 
    33 
    4 mount | grep squashfs >&- || { 
    5         echo "You do not have a squashfs partition; aborting" 
    6         echo "(firstboot cannot be run on jffs2 based firmwares)" 
    7         return 
     4rom=$(awk '/squashfs/ {print $2}' /proc/mounts) 
     5jffs=$(awk '/jffs2/ {print $2}' /proc/mounts) 
     6 
     7dupe() { # <new_root> <old_root> 
     8        cd $1 
     9        echo -n "creating directories... " 
     10        { 
     11                cd $2  
     12                find . -xdev -type d 
     13                echo "./dev ./jffs ./mnt ./proc ./tmp ./sys" 
     14                # xdev skips mounted directories 
     15                cd $1  
     16        } | xargs mkdir -p 
     17        echo "done" 
     18 
     19        echo -n "setting up symlinks... " 
     20        for file in $(cd $2; find . -xdev -type f;); do 
     21                case "$file" in 
     22                "./rom/note") ;; #nothing 
     23                "./etc/config"|\ 
     24                "./etc/resolv.conf"|\ 
     25                "./usr/lib/ipkg/info") cp -af $2/$file $file;; 
     26                *) ln -sf /rom/${file#./*} $file;; 
     27                esac 
     28        done 
     29        for file in $(cd $2; find . -xdev -type l;); do 
     30                cp -af $2/${file#./*} $file 
     31        done 
     32        echo "done" 
    833} 
    934 
    10 [ -f "/tmp/.firstboot" ] && { 
    11         echo "firstboot is already running" 
    12         return 
     35pivot() { # <new_root> <old_root> 
     36        mount -o move /proc $1/proc && \ 
     37        pivot_root $1 $1$2 && { 
     38                mount -o move $2/dev /dev 
     39                mount -o move $2/tmp /tmp 
     40        } 
    1341} 
    14 touch /tmp/.firstboot 
    1542 
    16 jdev=$(mount | awk '/jffs2/ {print $3}') 
     43mountdp() { # <device> <mount_point> <ignored> <fs> 
     44        dev=$1; mnt=$2; shift 2; opt=$* 
     45        mount $dev $mnt $opt 
     46        dupe $mnt $rom 
     47        pivot $mnt /rom 
     48} 
    1749 
    18 if [ -z "$jdev" ]; then 
    19         echo -n "Creating jffs2 partition... " 
    20         mtd erase OpenWrt >&- 2>&- 
    21         mount -t jffs2 /dev/mtdblock/4 /jffs 
    22         echo "done" 
    23         cd /jffs 
    24 else 
    25         echo "firstboot has already been run" 
    26         echo "jffs2 partition is mounted, only resetting files" 
    27         cd $jdev 
    28 fi 
     50ramoverlay() { 
     51        mkdir -p /tmp/root 
     52        mountdp /tmp/root /mnt -o bind 
     53} 
    2954 
    30 exec 2>/dev/null 
     55[ "${0##*/}" = "firstboot" ] && { 
     56        [ -z "$rom" ] && { 
     57                echo "You do not have a squashfs partition; aborting" 
     58                echo "(firstboot cannot be run on jffs2 based firmwares)" 
     59                exit 1 
     60        } 
    3161 
    32 mount /dev/mtdblock/2 /rom -o ro 
     62        [ "$1" = "switch2jffs" ] && { 
     63                mtd erase OpenWrt 
     64                mount -o remount,ro none / # try to avoid fs changing while copying 
     65                mount -o bind / /mnt 
     66                mount /dev/mtdblock/4 /rom/jffs -t jffs2 
     67                echo -n "copying files ... " 
     68                cp -a /mnt/* /rom/jffs 
     69                umount /mnt 
     70                echo "done" 
     71                pivot /rom /mnt 
     72                mount -o move /mnt /tmp/root 
     73                pivot /jffs /rom 
     74                jffs2root --clean 
     75                exit 0 
     76        } 
    3377 
    34 echo -n "creating directories... " 
    35 { 
    36         cd /rom 
    37         find . -type d 
    38         cd - 
    39 } | xargs mkdir 
    40 echo "done" 
     78        # script run manually 
     79        [ \! -z "$jffs" ] && { 
     80                echo "firstboot has already been run" 
     81                echo "jffs2 partition is mounted, only resetting files" 
     82                dupe $jffs $rom 
     83                exit 0 
     84        } 
    4185 
    42 echo -n "setting up symlinks... " 
    43 for file in $(cd /rom; find *  -type f; find *  -type l;) 
    44 do { 
    45   case "${file%/*}" in 
    46     "usr/lib/ipkg/info"|"etc/config") cp -f /rom/$file $file;; 
    47     *) ln -sf /rom/$file $file;; 
    48   esac 
    49 } done 
    50 echo "done" 
    51  
    52 touch /tmp/resolv.conf 
    53 ln -s /tmp/resolv.conf /etc/resolv.conf 
    54  
    55 umount /rom 
    56 mount none /jffs/proc -t proc 
    57 pivot_root /jffs /jffs/rom 
    58 mount none /dev  -t devfs 
    59 mount none /tmp  -t ramfs 
    60 umount /rom/proc 
    61 umount /rom/tmp 
    62 umount /rom/dev 
     86        mtd erase OpenWrt 
     87        mountdp /dev/mtdblock/4 /jffs -t jffs2 
     88} 
  • trunk/openwrt/package/base-files/default/bin/login

    r1494 r3588  
    11#!/bin/sh 
    2 . /etc/sysconf 2>&- 
    3  
    4 [ "$FAILSAFE" != "true" ] && 
    5 [ "$BR2_SYSCONF_TELNET_FAILSAFE_ONLY" = "y" ] && 
     2grep '^root:[^!]' /etc/passwd >&- 2>&- 
     3[ "$?" = "0" -a -z "$FAILSAFE" ]  &&   
    64{ 
    7   grep '^root:[^!]' /etc/passwd >&- 2>&- && 
    8   { 
    95    echo "Login failed." 
    106    exit 0 
    11   } || { 
     7} || { 
    128cat << EOF 
    139 === IMPORTANT ============================ 
     
    1612 ------------------------------------------ 
    1713EOF 
    18   } 
    1914} 
     15 
    2016exec /bin/ash --login 
  • trunk/openwrt/package/base-files/default/etc/functions.sh

    r2531 r3588  
    11#!/bin/sh 
    2 . /etc/nvram.sh 
    3  
    42alias debug=${DEBUG:-:} 
    53 
     
    1412        env -i ACTION=$1 INTERFACE=$2 /sbin/hotplug net 
    1513} 
    16  
    17 bitcount () { 
    18   local c=$1 
    19   echo $(( 
    20   c=((c>> 1)&0x55555555)+(c&0x55555555), 
    21   c=((c>> 2)&0x33333333)+(c&0x33333333), 
    22   c=((c>> 4)&0x0f0f0f0f)+(c&0x0f0f0f0f), 
    23   c=((c>> 8)&0x00ff00ff)+(c&0x00ff00ff), 
    24   c=((c>>16)&0x0000ffff)+(c&0x0000ffff) 
    25   )) 
    26 } 
    27  
    28 valid_netmask () { 
    29   return $((-($1)&~$1)) 
    30 } 
    31  
    32 ip2int () ( 
    33   set $(echo $1 | tr '\.' ' ') 
    34   echo $(($1<<24|$2<<16|$3<<8|$4)) 
    35 ) 
    36  
    37 int2ip () { 
    38   echo $(($1>>24&255)).$(($1>>16&255)).$(($1>>8&255)).$(($1&255)) 
    39 } 
  • trunk/openwrt/package/base-files/default/etc/hotplug.d/net/10-net

    r3079 r3588  
    11#!/bin/sh 
    2 setup_eth() 
    3 { 
    4         for part in $(nvram get unused_ifnames); do 
    5                 [ "$part" = "$INTERFACE" ] && exit 0 
    6         done 
    7         ifconfig "$INTERFACE" up 2>&- >&- 
    8 } 
    9  
    102find_name() 
    113{ 
    12         pppoa_ifname="atm0" # hack for ppp over atm, which has no ${proto}_ifname 
    13         interfaces="lan wan wifi $(nvram get ifnames)" 
    14         for ifname in $interfaces; do 
     4        for ifname in lan wan wifi ${ifnames}; do 
    155                IFTYPE="${ifname}" 
    16                 IFPROTO="$(nvram get ${IFTYPE}_proto)" 
    17                 IFACE="$(nvram get ${IFTYPE}_ifname)" 
     6                eval "IFPROTO=\"\${${IFTYPE}_proto}\"" 
     7                eval "IFACE=\"\${${IFTYPE}_ifname}\"" 
    188                case "$IFPROTO" in 
    199                        ""|none);; 
     
    2111                                [ "${IFACE}" = "$INTERFACE" ] && return 0 
    2212                                [ "${IFACE%%[0-9]*}" = "br" ] && { 
    23                                         for part in $(nvram get ${IFTYPE}_ifnames); do 
     13                                        eval "ifs=\"\${${IFTYPE}_ifnames}\"" 
     14                                        for part in $ifs; do 
    2415                                                [ "$part" = "$INTERFACE" ] && return 0 
    2516                                        done 
    2617                                } 
    2718                        ;; 
     19                        pppoa) 
     20                                [ "$INTERFACE" = "atm0" \ 
     21                                  -a -x /sbin/ifup.${IFPROTO} ] && return 0 
     22                        ;; 
    2823                        *) 
    29                                 [ "$(nvram get ${IFTYPE}_device)" = "$INTERFACE" \ 
     24                                eval "device=\"\${${IFTYPE}_device}\"" 
     25                                [ "$device" = "$INTERFACE" \ 
    3026                                  -a -x /sbin/ifup.${IFPROTO} ] && return 0 
    3127                        ;; 
     
    4036do_ifup() { 
    4137        if="$3" 
    42         if_proto="$(nvram get ${2}_proto)" 
     38        eval "if_proto=\"\${${2}_proto}\"" 
    4339         
    4440        pidfile=/var/run/${if}.pid 
     
    4743        case "$1" in 
    4844                static) 
    49                         ip=$(nvram get ${2}_ipaddr) 
    50                         ip6=$(nvram get ${2}_ip6addr) 
    51                         netmask=$(nvram get ${2}_netmask) 
    52                         gateway=$(nvram get ${2}_gateway) 
     45                        eval "ip=\"\${${2}_ipaddr}\"" 
     46                        eval "ip6=\"\${${2}_ip6addr}\"" 
     47                        eval "netmask=\"\${${2}_netmask}\"" 
     48                        eval "gateway=\"\${${2}_gateway}\"" 
     49                        eval "dns=\"\${${2}_dns}\"" 
    5350         
    5451                        $DEBUG ifconfig $if $ip ${netmask:+netmask $netmask} broadcast + up 
     
    5956                        [ -f /tmp/resolv.conf ] || { 
    6057                                debug "# --- creating /tmp/resolv.conf ---" 
    61                                 for dns in $(nvram get ${2}_dns); do 
    62                                         echo "nameserver $dns" >> /tmp/resolv.conf 
     58                                for ns in $dns; do 
     59                                        echo "nameserver $ns" >> /tmp/resolv.conf 
    6360                                done 
    6461                        } 
     
    6764                ;; 
    6865                dhcp) 
    69                         DHCP_IP=$(nvram get ${2}_ipaddr) 
    70                         DHCP_NETMASK=$(nvram get ${2}_netmask) 
     66                        eval "ip=\"\${${2}_ipaddr}\"" 
     67                        eval "netmask=\"\${${2}_netmask}\"" 
     68                        eval "hostname=\"\${${2}_hostname}\"" 
     69                         
    7170                        $DEBUG ifconfig $if $ip ${netmask:+netmask $netmask} broadcast + up 
    7271         
    73                         DHCP_ARGS="-i $if ${DHCP_IP:+-r $DHCP_IP} -b -p $pidfile" 
    74                         DHCP_HOSTNAME=$(nvram get ${2}_hostname) 
    75                         DHCP_HOSTNAME=${DHCP_HOSTNAME%%.*} 
    76                         [ -z $DHCP_HOSTNAME ] || DHCP_ARGS="$DHCP_ARGS -H $DHCP_HOSTNAME" 
    77                         [ "$if_proto" = "pptp" ] && DHCP_ARGS="$DHCP_ARGS -n -q" || DHCP_ARGS="$DHCP_ARGS -R &" 
    78                         ${DEBUG:-eval} "udhcpc $DHCP_ARGS" 
     72                        args="-i $if ${ip:+-r $ip} -b -p $pidfile" 
     73                        hostname="${hostname%%.*}" 
     74                        args="$args${hostname:+ -H $hostname}" 
     75                        [ "$if_proto" = "pptp" ] && args="$args -n -q" || args="$args -R &" 
     76                        ${DEBUG:-eval} "udhcpc $args" 
    7977                        # hotplug events are handled by /usr/share/udhcpc/default.script 
    8078                ;; 
     
    8987do_register() 
    9088{ 
    91         case "${INTERFACE%%[0-9]*}" in 
    92                 eth) setup_eth;; 
    93         esac 
    94  
    9589        [ -z "$IFTYPE" -o -z "$IFPROTO" ] && { 
    9690                find_name || { 
    9791                        case "${INTERFACE%%[0-9]*}" in 
    9892                                wds)  
    99                                         for tmp in lan wifi; do 
    100                                                 [ -z "$IFPROTO" ] && [ "$(nvram get ${tmp}_ifname)" = "br0" ] && { 
    101                                                         IFPROTO="$(nvram get ${tmp}_proto)" 
     93                                        for ifname in lan wifi; do 
     94                                                eval "if=\"\${${ifname}_ifname}\"" 
     95                                                [ -z "$IFPROTO" ] && [ "$if" = "br0" ] && { 
     96                                                        eval "IFPROTO=\"\${${2}_proto}\"" 
    10297                                                        IFTYPE="${tmp}" 
    10398                                                } 
     
    106101                                ;; 
    107102                                atm) 
    108                                         for tmp in lan wan wifi $(nvram get ifnames); do 
    109                                                 [ "$(nvram get ${tmp}_proto)" = "pppoa" ] && { 
     103                                        for tmp in lan wan wifi ${ifnames}; do 
     104                                                eval "if_proto=\"\${${2}_proto}\"" 
     105                                                [ "$if_proto" = "pppoa" ] && { 
    110106                                                        do_ifup "pppoa" "$tmp" "$INTERFACE" 
    111107                                                        return 0 
     
    123119                ppp|atm);; 
    124120                *) 
    125                         mac=$(nvram get ${IFTYPE}_hwaddr) 
     121                        eval "mac=\"\${${IFTYPE}_hwaddr}\"" 
    126122                        ${mac:+$DEBUG ifconfig $INTERFACE down hw ether $mac} 
    127123                ;; 
    128124        esac 
    129125 
    130         if="$(nvram get ${IFTYPE}_ifname)" 
     126        eval "if=\"\${${IFTYPE}_ifname}\"" 
    131127        if [ "${if%%[0-9]}" = "br" ]; then 
    132128                if_valid "$INTERFACE" && { 
    133129                        ifconfig "$if" 2>&- >&- || { 
    134                                 stp=$(nvram get ${IFTYPE}_stp) 
     130                                eval "stp=\"\${${IFTYPE}_stp}\"" 
    135131                                $DEBUG brctl addbr "$if" 
    136132                                $DEBUG brctl setfd "$if" 0 
     
    152148 
    153149do_unregister() { 
    154         [ -z "$IFTYPE" -o -z "$IFPROTO" ] && find_name 
    155         [ -z "$IFTYPE" -o -z "$IFPROTO" ] && return 0 
     150        [ -z "$IFTYPE" -o -z "$IFPROTO" ] && { 
     151                find_name || return 0 
     152        } 
    156153         
    157154        [ "${IFACE%%[0-9]*}" = "br" ] && { 
  • trunk/openwrt/package/base-files/default/etc/init.d/S10boot

    r2830 r3588  
    11#!/bin/sh 
    2 . /etc/nvram.sh 
    32 
    4 [ "$(uname -r|grep -c 2.4)" = "1" ] && { 
    5         echo "S" > /proc/jffs2_bbc 
    6 } 
    7  
     3[ -f /proc/jffs2_bbc ] && echo "S" > /proc/jffs2_bbc 
    84vconfig set_name_type VLAN_PLUS_VID_NO_PAD 
    95 
    10 HOSTNAME=$(nvram get wan_hostname) 
    11 HOSTNAME=${HOSTNAME%%.*} 
     6HOSTNAME=${wan_hostname%%.*} 
    127echo ${HOSTNAME:=OpenWrt}>/proc/sys/kernel/hostname 
    138 
  • trunk/openwrt/package/base-files/default/etc/init.d/S50telnet

    r2983 r3588  
    11#!/bin/sh 
    2 if awk -F: '/^root:/ && $2 !~ /\!/ {exit 1}' /etc/passwd 2>/dev/null || test $FAILSAFE; then telnetd -l /bin/login; fi 
     2if awk -F: '/^root:/ && $2 !~ /\!/ {exit 1}' /etc/passwd 2>/dev/null; then telnetd -l /bin/login; fi 
  • trunk/openwrt/package/base-files/default/etc/init.d/S60cron

    r2812 r3588  
    11#!/bin/sh 
    2 [ -d /etc/crontabs ] || mkdir -p /etc/crontabs 
    3 [ -e /var/spool/cron/crontabs ] || { 
    4         mkdir -p /var/spool/cron 
    5         ln -s /etc/crontabs /var/spool/cron/crontabs 
    6 } && crond -c /etc/crontabs 
     2mkdir -p /var/spool/cron 
     3ln -s /etc/crontabs /var/spool/cron/crontabs 
     4crond -c /etc/crontabs 
  • trunk/openwrt/package/base-files/default/etc/init.d/S98done

    r3587 r3588  
    11#!/bin/sh 
    2 # set leds to normal state 
    3 [ -f /proc/sys/diag ] && echo "0x00" > /proc/sys/diag 
    42sysctl -p >&- 
     3 
     4# automagically run firstboot 
     5{ mount|grep "on / type tmpfs" 1>&-; } && { 
     6        lock /tmp/.switch2jffs 
     7        firstboot switch2jffs 
     8        lock -u /tmp/.switch2jffs 
     9} 
  • trunk/openwrt/package/base-files/default/etc/init.d/rcS

    r1892 r3588  
    11#!/bin/sh 
    2 . /etc/nvram.sh 
    3 syslog_ip=$(nvram get log_ipaddr) 
    4 ipcalc -s "$syslog_ip" || syslog_ip="" 
    5 syslogd -C 16 ${syslog_ip:+-L -R $syslog_ip} 
     2${FAILSAFE:+exit} 
     3 
     4[ -f /etc/config/network ] && . /etc/config/network 
     5eval $(ipcalc "$log_ipaddr") 
     6[ "$log_ipaddr" = "$IP" ] || log_ipaddr="" 
     7syslogd -C 16 ${log_ipaddr:+-L -R $log_ipaddr} 
    68klogd 
    79#${FAILSAFE:+telnetd -l /bin/login; ifup lan; exit} 
  • trunk/openwrt/package/base-files/default/etc/inittab

    r2971 r3588  
    11::sysinit:/etc/init.d/rcS 
    2 ::shutdown:/sbin/halt 
    32tts/0::askfirst:/bin/ash --login 
    43#tts/1::askfirst:/bin/ash --login 
  • trunk/openwrt/package/base-files/default/etc/preinit

    r3107 r3588  
    11#!/bin/sh 
    2 . /etc/nvram.sh 
    32export PATH=/bin:/sbin:/usr/bin:/usr/sbin 
    43mount none /proc -t proc 
    5 insmod diag 
    6 [ -f /proc/sys/diag ] && echo 0x01 > /proc/sys/diag 
    7 sleep 1 
    8 if [ -f /proc/sys/reset ] && [ $(cat /proc/sys/reset) = 1 -o "$(nvram get failsafe)" = 1 ]; then 
    9         export FAILSAFE=true 
    10         [ -x /usr/sbin/nvram -a "$(nvram get boot_wait)" != "on" ] && { 
    11                 nvram set boot_wait=on 
    12                 nvram commit 
    13         } 
    14         while :; do { echo $(((X=(X+1)%8)%2)) > /proc/sys/diag; sleep $((X==0)); } done & 
    15 fi 
    164 
     5[ -f /etc/preinit.arch ] && . /etc/preinit.arch 
     6[ -z "$FAILSAFE" ] || { 
     7        echo /bin/true > /proc/sys/kernel/hotplug 
     8        telnetd -l /bin/login <> /dev/null 2>&1 
     9} 
    1710mount_root ${FAILSAFE:+failsafe} 
    18  
    19 # automagically run firstboot 
    20 [ -z "$FAILSAFE" -a -z "$(nvram get no_root_swap)" ] && { 
    21         { mount|grep "on / type jffs2" 1>&-; } || firstboot 
    22 } 
    23  
    2411exec /sbin/init 
  • trunk/openwrt/package/base-files/default/sbin/hotplug

    r2834 r3588  
    11#!/bin/sh 
     2 
     3# bypass the normal hotplug path for firmware loading 
     4# would otherwise cause problems with drivers like bcm43xx 
    25[ "$1" = "firmware" -a "$ACTION" = "add" ] && { 
    36        [ -f "/lib/firmware/$FIRMWARE" ] && { 
     
    912} 
    1013 
    11 [ -e /tmp/.failsafe ] && { 
    12         export FAILSAFE=true 
    13 } || { 
    14         [ -e /etc/config/network ] && . /etc/config/network 
    15 } 
    1614. /etc/functions.sh 
    17 . /etc/network.overrides 
     15. /etc/config/network 
    1816 
    1917PATH=/bin:/sbin:/usr/bin:/usr/sbin 
  • trunk/openwrt/package/base-files/default/sbin/ifdown

    r2993 r3588  
    22[ $# = 0 ] && { echo "  $0 <group>"; exit; } 
    33. /etc/functions.sh 
    4 . /etc/network.overrides 
    5 [ "$FAILSAFE" != "true" -a -e /etc/config/network ] && . /etc/config/network 
     4. /etc/config/network 
    65 
    76debug "### ifdown $type ###" 
    87type=$1 
    98 
    10 if_proto=$(nvram get ${type}_proto) 
    11 if=$(nvram get ${type}_ifname) 
     9eval "if_proto=\"\${${type}_proto}\"" 
     10eval "if=\"\${${type}_ifname}\"" 
     11[ "${if%%[0-9]}" = "ppp" ] && eval "if=\"\${${type}_device}\"" 
    1212 
    1313case "$if_proto" in 
     
    1616esac 
    1717 
    18 [ "${if%%[0-9]*}" = "ppp" ] && if="$(nvram get ${type}_device)" 
    19  
    20 if [ "${if%%[0-9]}" = "br" ]; then 
    21         for sif in $(nvram get ${type}_ifnames); do 
    22                 hotplug_dev unregister "$sif" 
    23         done 
    24 fi 
    25          
    2618hotplug_dev unregister "$if" 
  • trunk/openwrt/package/base-files/default/sbin/ifup

    r2993 r3588  
    22[ $# = 0 ] && { echo "  $0 <group>"; exit; } 
    33. /etc/functions.sh 
    4 . /etc/network.overrides 
    5 [ "$FAILSAFE" != "true" -a -e /etc/config/network ] && . /etc/config/network 
     4. /etc/config/network 
    65 
    76ifdown $1 
     
    109type=$1 
    1110 
    12 if_proto=$(nvram get ${type}_proto) 
    13 if=$(nvram get ${type}_ifname) 
     11eval "if_proto=\"\${${type}_proto}\"" 
     12eval "if=\"\${${type}_ifname}\"" 
     13[ "${if%%[0-9]}" = "ppp" ] && eval "if=\"\${${type}_device}\"" 
    1414 
    1515case "$if_proto" in 
    1616        pppoa) hotplug_dev register atm0; exit 0 ;; 
    1717        pppoe) 
    18                 ifconfig nas0 2>&- >&- || { 
    19                         hotplug_dev register atm0 
    20                         exit 0 
     18                # PPPoE over ATM 
     19                [ "$if" = "nas0" ] && { 
     20                        ifconfig nas0 2>&- >&- || { 
     21                                hotplug_dev register atm0 
     22                                exit 0 
     23                        } 
    2124                } 
    2225        ;; 
     
    2427esac 
    2528 
    26 [ "${if%%[0-9]*}" = "ppp" ] && if="$(nvram get ${type}_device)" 
    27  
    2829if [ "${if%%[0-9]}" = "br" ]; then 
    29         for sif in $(nvram get ${type}_ifnames); do 
     30        eval "ifnames=\"\${${type}_ifnames}\"" 
     31        for sif in $ifnames; do 
    3032                hotplug_dev register "$sif" 
    3133        done 
  • trunk/openwrt/package/base-files/default/sbin/mount_root

    r3114 r3588  
    11#!/bin/sh 
    2 . /etc/nvram.sh 
    3 is_clean() { 
    4         grep Broadcom /proc/cpuinfo 2>&- >&- || return 0 
    5         OFFSET="$((0x$(dd if=/dev/mtdblock/1 bs=1 skip=$((0x14)) count=2 2>&- | hexdump | grep 0000000 | cut -d ' ' -f 2) - 1))" 
    6         dd if=/dev/mtdblock/1 bs=1 skip=$OFFSET count=1 2>&- | hexdump -v | grep ' 0000' > /dev/null && return 255 || return 0 
     2is_dirty() { 
     3        grep Broadcom /proc/cpuinfo >&- || return 1 
     4        OFFSET="$(($(hexdump -v /dev/mtdblock/1 -s 20 -n 2 -e '"%d"')-1))" 
     5        return $(hexdump -v /dev/mtdblock/1 -s $OFFSET -n 1 -e '"%d"') 
    76} 
    87 
     8size=$(awk '/Mem:/ {l=5242880;print((s=$2/2)<l)?$2-l:s}' /proc/meminfo) 
     9mount none /tmp -t tmpfs -o size=$size 
     10 
    911if [ "$1" != "failsafe" ]; then  
     12        mtd unlock linux 
    1013        mount | grep jffs2 >&- 
    1114        if [ $? = 0 ] ; then 
    1215                if [ $(cat /proc/mtd | wc -l) = 6 ]; then 
    13                         echo 5 > /proc/sys/diag 
    14                         mtd unlock linux 
    1516                        mtd erase OpenWrt 
    1617                        jffs2root --move 
    1718                else 
    18                         mtd unlock rootfs 
    1919                        mount -o remount,rw /dev/root / 
    2020                fi 
    2121        else 
    22                 if [ -z "$(nvram get no_root_swap)" ]; then 
    23                         is_clean || { 
    24                                 mtd erase OpenWrt 
    25                                 mtd unlock linux 
    26                                 jffs2root --clean 
    27                         } 
    28                         mtd unlock OpenWrt 
    29                         mount -t jffs2 /dev/mtdblock/4 /jffs 
    30                         pivot_root /jffs /jffs/rom 
    31                         mount none /proc -t proc 
    32                         mount none /dev -t devfs 
    33                         umount /rom/proc /rom/dev >&- 
    34                 fi 
     22                . /bin/firstboot 
     23                is_dirty  
     24                [ $? != 0 ] && { 
     25                        mount /dev/mtdblock/4 /jffs 
     26                        pivot /jffs /rom 
     27                } || ramoverlay 
    3528        fi 
    3629fi 
    37 mount none /tmp -t tmpfs -o nosuid,nodev,mode=1777,size=50% 
     30 
     31mount none /tmp -t tmpfs -o remount,nosuid,nodev,mode=1777 
    3832mkdir -p /dev/pts 
    3933mount none /dev/pts -t devpts 
    40 grep sysfs /proc/filesystems >&- && mount -t sysfs none /sys 
     34mount -t sysfs none /sys 2>&- 
  • trunk/openwrt/package/base-files/default/usr/share/udhcpc/default.script

    r2996 r3588  
    11#!/bin/sh 
    22[ -z "$1" ] && echo "Error: should be run by udhcpc" && exit 1 
     3. /etc/config/network 
    34 
    45RESOLV_CONF="/tmp/resolv.conf" 
    56 
    67hotplug_event() { 
    7         nvram show 2>&- | grep _proto=dhcp | { 
    8                 while :; do 
    9                         read FOO 
    10                         [ -z "$FOO" ] && break 
    11                         FOO="${FOO%%_*}" 
    12                         [ "$(nvram get ${FOO}_ifname)" = "${interface}" ] || continue 
    13                         env -i ACTION="$1" INTERFACE="${FOO}" PROTO=dhcp /sbin/hotplug iface 
    14                 done 
    15         } 
     8        for ifname in lan wan wifi ${ifnames}; do 
     9                eval "proto=\"\${${ifname}_proto}\"" 
     10                eval "if=\"\${${ifname}_ifname}\"" 
     11                [ "$proto" = "dhcp" ] || continue 
     12                [ "$if" = "$interface" ] || continue 
     13                env -i ACTION="$1" INTERFACE="$ifname" PROTO=dhcp /sbin/hotplug iface 
     14        done 
    1615} 
    1716 
     
    2726 
    2827                if [ -n "$router" ] ; then 
    29  
    30                         if [ "$router" != "$(route -n | grep '^0.0.0.0' | grep $interface | awk '{ print $2 }')" ] ; then 
    31                                 while route del default gw 0.0.0.0 dev $interface 2>&- ; do 
    32                                         echo "removing old default route" 
    33                                 done                             
    34                                 for i in $router ; do 
    35                                         route add default gw $i dev $interface 
    36                                 done 
    37                         fi 
     28                        echo "deleting routers" 
     29                        while route del default gw 0.0.0.0 dev $interface >&- 2>&- ; do :; done 
     30                                         
     31                        for i in $router ; do 
     32                                echo "adding router $i" 
     33                                route add default gw $i dev $interface 
     34                        done 
    3835                fi 
    3936 
     
    4138                ${domain:+echo search $domain} >> $RESOLV_CONF 
    4239                for i in $dns ; do 
    43                         echo adding dns $i 
    44                         echo nameserver $i >> $RESOLV_CONF 
     40                        echo "adding dns $i" 
     41                        echo "nameserver $i" >> $RESOLV_CONF 
    4542                done 
    4643                 
  • trunk/openwrt/package/busybox/config/miscutils/Config.in

    r3587 r3588  
    209209          Enables the 'hdparm -d' option to get/set using_dma flag. 
    210210          This is dangerous stuff, so you should probably say N. 
     211 
     212config BUSYBOX_CONFIG_LOCK 
     213        bool "lock" 
     214        default y 
     215        help 
     216          Small utility for using locks in scripts 
    211217 
    212218config BUSYBOX_CONFIG_MAKEDEVS 
  • trunk/openwrt/package/busybox/config/networking/Config.in

    r3587 r3588  
    396396config BUSYBOX_CONFIG_IPCALC 
    397397        bool "ipcalc" 
    398         default y 
     398        default n 
    399399        help 
    400400          ipcalc takes an IP address and netmask and calculates the 
     
    403403config BUSYBOX_CONFIG_FEATURE_IPCALC_FANCY 
    404404        bool "  Fancy IPCALC, more options, adds 1 kbyte" 
    405         default y 
     405        default n 
    406406        depends on BUSYBOX_CONFIG_IPCALC 
    407407        help 
  • trunk/openwrt/package/dnsmasq/Makefile

    r3386 r3588  
    3232        install -d -m0755 $(IDIR_DNSMASQ)/etc/init.d/ 
    3333        install -m0644 ./files/dnsmasq.conf $(IDIR_DNSMASQ)/etc/dnsmasq.conf 
    34         install -m0755 ./files/S50dnsmasq $(IDIR_DNSMASQ)/etc/init.d/S50dnsmasq 
     34        install -m0755 ./files/dnsmasq.init $(IDIR_DNSMASQ)/etc/init.d/S50dnsmasq 
    3535        $(IPKG_BUILD) $(IDIR_DNSMASQ) $(PACKAGE_DIR) 
    3636 
  • trunk/openwrt/package/dnsmasq/files/dnsmasq.conf

    r2904 r3588  
    1010expand-hosts 
    1111 
     12@ifdef dhcp_enable 
     13dhcp-range=@@start@@,@@end@@,@@netmask@@,@@lease@@ 
     14@endif 
     15@ifdef wan_ifname 
     16except-interface=@@wan_ifname@@ 
     17@endif 
     18 
    1219# enable dhcp (start,end,netmask,leasetime) 
    1320dhcp-authoritative 
    14 #dhcp-range=192.168.1.100,192.168.1.250,255.255.255.0,12h 
    1521dhcp-leasefile=/tmp/dhcp.leases 
    1622 
  • trunk/openwrt/package/dnsmasq/files/dnsmasq.init

    • Property svn:executable deleted
    r3583 r3588  
    11#!/bin/sh 
    2 . /etc/functions.sh 
    3 . /etc/network.overrides 
    4 [ "$FAILSAFE" != "true" -a -e /etc/config/network ] && . /etc/config/network 
     2. /etc/config/network 
    53 
    6 # interface to use for DHCP 
     4# The following is to automatically configure the DHCP settings 
     5# based on config settings. Feel free to replace all this crap 
     6# with a simple "dnsmasq" and manage everything via the 
     7# /etc/dnsmasq.conf config file 
     8 
     9[ -f /etc/dnsmasq.conf ] || exit 
     10 
     11args="" 
    712iface=lan 
     13eval "ifname=\${${iface}_ifname}" 
    814 
    9 ifname=$(nvram get ${iface}_ifname) 
    10 ipaddr=$(nvram get ${iface}_ipaddr) 
    11 netmask=$(nvram get ${iface}_netmask) 
     15dhcp_enable="${dhcp_enable:-1}" 
     16dhcp_start="${dhcp_start:-100}" 
     17dhcp_num="${dhcp_num:-50}" 
     18dhcp_lease="${dhcp_lease:-12h}" 
    1219 
    13 # check for existing DHCP server 
    14 udhcpc -n -q -R -s /bin/true -i $ifname >&- || { 
     20# if dhcp_enable is unset and there is a dhcp server on the network already, default to dhcp_enable=0 
     21[ -z "$dhcp_enable" ] && udhcpc -n -q -R -s /bin/true -i $ifname >&- && dhcp_enable="${dhcp_enable:-0}" 
    1522 
    16   ipaddr=$(ip2int $ipaddr) 
    17   netmask=$(ip2int ${netmask:-255.255.255.0}) 
    18   network=$((ipaddr&netmask)) 
    19    
    20   start=$(nvram get dhcp_start) 
    21   start=$((network+${start:-100})) 
    22   end=$(nvram get dhcp_num) 
    23   end=$((start+${end:-150})) 
    24    
    25   wanproto=$(nvram get wan_proto) 
    26   [ -z "$wanproto" -o "$wanproto" = "none" ] || wanif=$(nvram get wan_ifname) 
    27    
    28   args="-K -F $(int2ip $start),$(int2ip $end),$(int2ip $netmask),12h ${wanif:+-I ${wanif} }" 
    29 } 
    30 dnsmasq ${args} 
     23# dhcp_enable=0 disables the dhcp server 
     24( 
     25        [ -z "$dhcp_enable" -o "$dhcp_enable" -eq 1 ] && { 
     26                # no existing DHCP server? 
     27 
     28                # calculate settings 
     29                eval "ipaddr=\${${iface}_ipaddr}" 
     30                eval "netmask=\${${iface}_netmask}" 
     31                eval $(ipcalc $ipaddr $netmask ${dhcp_start:-100} ${dhcp_num:-150}) 
     32                 
     33                # and pass the args via config parser defines 
     34                echo "@define dhcp_enable 1" 
     35                echo "@define netmask $NETMASK" 
     36                echo "@define start $START" 
     37                echo "@define end $END" 
     38                echo "@define lease ${dhcp_lease:-12h}" 
     39        } 
     40 
     41        # ignore requests from wan interface 
     42        [ -z "$wan_proto" -o "$wan_proto" = "none" ] || echo "@define wan_ifname $wan_ifname" 
     43 
     44        cat /etc/dnsmasq.conf 
     45) | awk -f /usr/lib/parse-config.awk | dnsmasq -C /proc/self/fd/0 
  • trunk/openwrt/package/ez-ipupdate/files/ez-ipupdate.hotplug

    r3574 r3588  
    1 . /etc/functions.sh 
    21NAME=ez-ipupdate 
    32CONFIG=/etc/$NAME.conf 
    43COMMAND=/usr/sbin/$NAME 
     4 
    55[ "$ACTION" = "ifup" -a "$INTERFACE" = "wan" ] && { 
    66        [ -x $COMMAND ] && [ -r $CONFIG ] && { 
    7                 IFNAME=$(nvram get ${INTERFACE}_ifname) 
    8                 $COMMAND -c $CONFIG -i $IFNAME 2>&1 | logger -t $NAME 
     7                eval "ifname=\"\${${INTERFACE}_ifname}\"" 
     8                $COMMAND -c $CONFIG -i $ifname 2>&1 | logger -t $NAME 
    99        } & 
    1010} 
  • trunk/openwrt/package/iptables/Makefile

    r3586 r3588  
    7373                 
    7474$(IPKG_IPTABLES): 
     75        install -d -m0755 $(IDIR_IPTABLES)/etc/config 
     76        install -m0644 ./files/firewall.config $(IDIR_IPTABLES)/etc/config/firewall 
     77        install -d -m0755 $(IDIR_IPTABLES)/etc/init.d 
     78        install -m0755 ./files/firewall.init $(IDIR_IPTABLES)/etc/init.d/S45firewall 
     79        install -m0755 ./files/firewall.user $(IDIR_IPTABLES)/etc/ 
     80        install -d -m0755 $(IDIR_IPTABLES)/usr/lib 
     81        install -m0644 ./files/firewall.awk $(IDIR_IPTABLES)/usr/lib 
    7582        install -d -m0755 $(IDIR_IPTABLES)/usr/sbin 
    7683        $(CP) $(PKG_INSTALL_DIR)/usr/sbin/iptables $(IDIR_IPTABLES)/usr/sbin/ 
  • trunk/openwrt/package/linux-atm/files/br2684.init

    r2531 r3588  
    22        case "$ACTION" in 
    33                register) 
    4                         [ "$(nvram get pppoe_atm)" = 1 ] && { 
    5                                 VPI=$(nvram get atm_vpi) 
    6                                 VCI=$(nvram get atm_vci) 
    7                                 case "$(nvram get atm_encaps)" in 
     4                        [ "$pppoe_atm" = 1 ] && { 
     5                                case "$atm_encaps" in 
    86                                        0|vc) ENCAPS=0 ;; 
    97                                        1|llc) ENCAPS=1 ;; 
     
    119                                esac 
    1210                                insmod br2684 2>&- >&- 
    13                                 br2684ctl -c0 -e${ENCAPS} -a${VPI:-8}.${VCI:-35} & 
     11                                br2684ctl -c0 -e${ENCAPS} -a${atm_vpi:-8}.${atm_vci:-35} & 
    1412                        } 
    1513                ;; 
  • trunk/openwrt/package/mtd/mtd.c

    r3200 r3588  
    9797 
    9898        /* check if image fits to mtd device */ 
    99         fd = mtd_open(mtd, O_RDWR); 
     99        fd = mtd_open(mtd, O_RDWR | O_SYNC); 
    100100        if(fd < 0) { 
    101101                fprintf(stderr, "Could not open mtd device: %s\n", mtd); 
     
    114114        }        
    115115         
     116        close(fd); 
    116117        return 1; 
    117118} 
     
    149150        int fd; 
    150151 
    151         fd = mtd_open(mtd, O_RDWR); 
     152        fd = mtd_open(mtd, O_RDWR | O_SYNC); 
    152153        if(fd < 0) { 
    153154                fprintf(stderr, "Could not open mtd device: %s\n", mtd); 
     
    172173        struct erase_info_user mtdLockInfo; 
    173174 
    174         fd = mtd_open(mtd, O_RDWR); 
     175        fd = mtd_open(mtd, O_RDWR | O_SYNC); 
    175176        if(fd < 0) { 
    176177                fprintf(stderr, "Could not open mtd device: %s\n", mtd); 
     
    223224        struct erase_info_user mtdEraseInfo; 
    224225 
    225         fd = mtd_open(mtd, O_RDWR); 
     226        fd = mtd_open(mtd, O_RDWR | O_SYNC); 
    226227        if(fd < 0) { 
    227228                fprintf(stderr, "Could not open mtd device: %s\n", mtd); 
     
    261262        struct mtd_info_user mtdInfo; 
    262263        struct erase_info_user mtdEraseInfo; 
    263  
    264         fd = mtd_open(mtd, O_RDWR); 
     264        int ret = 0; 
     265 
     266        fd = mtd_open(mtd, O_RDWR | O_SYNC); 
    265267        if(fd < 0) { 
    266268                fprintf(stderr, "Could not open mtd device: %s\n", mtd); 
     
    319321        if (!quiet) 
    320322                fprintf(stderr, "\b\b\b\b"); 
    321          
     323 
     324        close(fd); 
    322325        return 0; 
    323326} 
     
    464467        } 
    465468 
     469        sync(); 
     470         
    466471        if (boot) 
    467472                kill(1, 15); // send SIGTERM to init for reboot 
  • trunk/openwrt/package/ntpclient/files/ntpclient.init

    r2887 r3588  
    11#!/bin/sh 
    2 server=$(nvram get ntp_server) 
    32case "$ACTION" in 
    43        ifup) 
    54                ps x | grep '[n]tpclient' >&- || { 
    6                         route -n 2>&- | grep '^0.0.0.0' >&- && /usr/sbin/ntpclient -c 1 -s -h ${server:-pool.ntp.org} & 
     5                        route -n 2>&- | grep '^0.0.0.0' >&- && /usr/sbin/ntpclient -c 1 -s -h ${ntp_server:-pool.ntp.org} & 
    76                } 
    87                ;; 
  • trunk/openwrt/package/parprouted/files/parprouted.default

    r1542 r3588  
    1 LAN_IF=$(nvram get lan_ifname) 
    2 WIFI_IF=$(nvram get wifi_ifname) 
    3 OPTIONS="$LAN_IF $WIFI_IF" 
     1OPTIONS="$lan_ifname $wifi_ifname" 
  • trunk/openwrt/package/ppp/files/ifup.pppoa

    r3401 r3588  
    11#!/bin/sh 
    22[ $# = 0 ] && { echo "  $0 <group>"; exit; } 
    3 . /etc/functions.sh 
    4 . /etc/network.overrides 
    5 [ -e /etc/config/network ] && . /etc/config/network 
     3. /etc/config/network 
    64type=$1 
    75 
    8 [ "$(nvram get ${type}_proto)" = "pppoa" ] || { 
     6eval "proto=\"\${${type}_proto}\"" 
     7[ "$proto" = "pppoa" ] || { 
    98        echo "$0: ${type}_proto isn't pppoa" 
    109        exit 
     
    1514done 
    1615 
    17 VPI=$(nvram get atm_vpi) 
    18 VCI=$(nvram get atm_vci) 
    19 USERNAME=$(nvram get ppp_username) 
    20 PASSWORD=$(nvram get ppp_passwd) 
    21 KEEPALIVE=$(nvram get ppp_redialperiod) 
    22 KEEPALIVE=${KEEPALIVE:+lcp-echo-interval 1 lcp-echo-failure $KEEPALIVE} 
    23 DEMAND=$(nvram get ppp_demand) 
    24 case "$DEMAND" in 
     16KEEPALIVE=${ppp_redialperiod:+lcp-echo-interval $ppp_redialperiod lcp-echo-failure 5} 
     17case "$ppp_demand" in 
    2518        on|1|enabled) 
    26                 DEMAND=$(nvram get ppp_idletime) 
    27                 DEMAND=${IDLETIME:+demand idle $IDLETIME} 
     19                DEMAND=${ppp_idletime:+demand idle $ppp_idletime} 
    2820                [ -f /etc/ppp/filter ] && DEMAND=${DEMAND:+precompiled-active-filter /etc/ppp/filter $DEMAND} 
    2921        ;; 
    3022        *) DEMAND="persist";; 
    3123esac 
    32 MTU=$(nvram get ppp_mtu) 
    33 MTU=${MTU:-1500} 
     24MTU=${ppp_mtu:-1500} 
    3425 
    3526/usr/sbin/pppd \ 
    36         plugin pppoatm.so ${VPI:-8}.${VCI:-35} \ 
     27        plugin pppoatm.so ${atm_vpi:-8}.${atm_vci:-35} \ 
    3728        usepeerdns \ 
    3829        defaultroute \ 
    3930        linkname $type \ 
    4031        ipparam $type \ 
    41         user "$USERNAME" \ 
    42         password "$PASSWORD" \ 
     32        user "$ppp_username" \ 
     33        password "$ppp_passwd" \ 
    4334        mtu $MTU mru $MTU \ 
    4435        $DEMAND \ 
  • trunk/openwrt/package/ppp/files/ifup.pppoe

    r3401 r3588  
    11#!/bin/sh 
    22[ $# = 0 ] && { echo "  $0 <group>"; exit; } 
    3 . /etc/functions.sh 
    4 . /etc/network.overrides 
    5 [ -e /etc/config/network ] && . /etc/config/network 
     3. /etc/config/network 
    64type=$1 
    75 
    8 [ "$(nvram get ${type}_proto)" = "pppoe" ] || { 
     6eval "proto=\"\${${type}_proto}\"" 
     7[ "$proto" = "pppoe" ] || { 
    98        echo "$0: ${type}_proto isn't pppoe" 
    109        exit 
     
    1514done 
    1615 
    17 IFNAME=$(nvram get ${type}_device) 
    18 USERNAME=$(nvram get ppp_username) 
    19 PASSWORD=$(nvram get ppp_passwd) 
    20 KEEPALIVE=$(nvram get ppp_redialperiod) 
    21 KEEPALIVE=${KEEPALIVE:+lcp-echo-interval 1 lcp-echo-failure $KEEPALIVE} 
    22 DEMAND=$(nvram get ppp_demand) 
    23 case "$DEMAND" in 
     16eval "IFNAME=\"\${${type}_device}\"" 
     17KEEPALIVE=${ppp_redialperiod:+lcp-echo-interval $ppp_redialperiod lcp-echo-failure 5} 
     18case "$ppp_demand" in 
    2419        on|1|enabled) 
    25                 DEMAND=$(nvram get ppp_idletime) 
    26                 DEMAND=${IDLETIME:+demand idle $IDLETIME} 
     20                DEMAND=${ppp_idletime:+demand idle $ppp_idletime} 
    2721                [ -f /etc/ppp/filter ] && DEMAND=${DEMAND:+precompiled-active-filter /etc/ppp/filter $DEMAND} 
    2822        ;; 
    2923        *) DEMAND="persist";; 
    3024esac 
    31 MTU=$(nvram get ppp_mtu) 
    32 MTU=${MTU:-1492} 
     25MTU=${ppp_mtu:-1492} 
    3326 
    3427ifconfig $IFNAME up 
     
    4033        linkname $type \ 
    4134        ipparam $type \ 
    42         user "$USERNAME" \ 
    43         password "$PASSWORD" \ 
     35        user "$ppp_username" \ 
     36        password "$ppp_passwd" \ 
    4437        mtu $MTU mru $MTU \ 
    4538        $DEMAND \ 
  • trunk/openwrt/package/pptp/files/ifup.pptp

    r3401 r3588  
    11#!/bin/sh 
    2 . /etc/functions.sh 
     2[ $# = 0 ] && { echo "  $0 <group>"; exit; } 
     3. /etc/config/network 
    34type=$1 
    45 
    5 [ "$(nvram get ${type}_proto)" = "pptp" ] || exit 
     6eval "proto=\"\${${type}_proto}\"" 
     7[ "$proto" = "pptp" ] || { 
     8        echo "$0: ${type}_proto isn't pptp" 
     9        exit 
     10} 
    611 
    712[ -d "/var/lock" ] || mkdir -p /var/lock || exit 1 
     
    1116done 
    1217 
    13 PPTP_PROTO="$(nvram get pptp_proto)" 
    14 [ "$PPTP_PROTO" = "static" ] || PPTP_PROTO="" 
    15 PPTP_PROTO="${PPTP_PROTO:-dhcp}" 
    16 IP=$(nvram get pptp_server_ip) 
    17 USERNAME=$(nvram get ppp_username) 
    18 PASSWORD=$(nvram get ppp_passwd) 
    19 KEEPALIVE=$(nvram get ppp_redialperiod) 
    20 KEEPALIVE=${KEEPALIVE:+lcp-echo-interval 10 lcp-echo-failure $KEEPALIVE} 
    21 DEMAND=$(nvram get ppp_demand) 
    22 case "$DEMAND" in 
     18KEEPALIVE=${ppp_redialperiod:+lcp-echo-interval $ppp_redialperiod lcp-echo-failure 5} 
     19case "$ppp_demand" in 
    2320        on|1|enabled) 
    24                 DEMAND=$(nvram get ppp_idletime) 
    25                 DEMAND=${IDLETIME:+demand idle $IDLETIME} 
     21                DEMAND=${ppp_idletime:+demand idle $ppp_idletime} 
    2622                [ -f /etc/ppp/filter ] && DEMAND=${DEMAND:+precompiled-active-filter /etc/ppp/filter $DEMAND} 
    2723        ;; 
    2824        *) DEMAND="persist";; 
    2925esac 
    30 MTU=$(nvram get ppp_mtu) 
    31 MTU=${MTU:-1452} 
     26MTU=${ppp_mtu:-1452} 
    3227 
    33 do_ifup $PPTP_PROTO $type 
    34  
    35 # hack for some buggy ISPs 
    36 NETMASK=$(nvram get ${type}_netmask) 
    37 IFNAME=$(nvram get ${type}_device) 
    38 [ -z "$NETMASK" -o -z "$IFNAME" ] || ifconfig $IFNAME netmask $NETMASK 
     28[ "$pptp_proto" = "static" ] || pptp_proto="dhcp" 
     29do_ifup $pptp_proto $type 
    3930 
    4031/usr/sbin/pppd \ 
    41         pty "/usr/sbin/pptp $IP --loglevel 0 --nolaunchpppd" \ 
     32        pty "/usr/sbin/pptp $pptp_server_ip --loglevel 0 --nolaunchpppd" \ 
    4233        file /etc/ppp/options.pptp \ 
    4334        connect /bin/true \ 
     
    4738        linkname "$type" \ 
    4839        ipparam "$type" \ 
    49         user "$USERNAME" \ 
    50         password "$PASSWORD" \ 
     40        user "$ppp_username" \ 
     41        password "$ppp_passwd" \ 
    5142        mtu $MTU mru $MTU \ 
    5243        $DEMAND \ 
  • trunk/openwrt/target/linux/package/base-files/files/brcm-2.4/etc/init.d/S04nvram

    r3583 r3588  
    44# This file handles the NVRAM quirks of various hardware. 
    55 
    6 . /etc/network.overrides 
    7 alias debug=${DEBUG:-:} 
    8  
    96# WGT634u 
    107grep 'mtd0: 00060000' /proc/mtd 2>&- >&- && exit 
    118 
    12 remap () { 
    13         for type in lan wifi wan pppoe 
    14         do 
    15                 for s in '' s 
    16                 do 
    17                         eval nvram set ${type}_ifname$s=\"$(nvram get ${type}_ifname$s|sed s/$1/$2/g)\"  
    18                 done 
    19         done 
    20 } 
     9alias debug=${DEBUG:-:} 
    2110 
    2211nvram_default() { 
     
    3322# work around braindead CFE defaults in linksys routers 
    3423boardtype=$(nvram get boardtype) 
     24boardnum=$(nvram get boardnum) 
    3525boardflags=$(($(nvram get boardflags))) 
    36 [ "$boardtype" = "bcm94710dev" ] && boardtype="0xdeadbeef" 
    3726adm_switch="$(( ($boardflags & 0x80) >> 7 ))" 
     27 
    3828case "$(( $boardtype ))" in 
    39         "$((0x708))") 
     29        "1800") #0x708 
    4030                if [ "$adm_switch" = 0 ]; then 
    4131                        nvram_set sdram_init "$(printf 0x%04x $(( $(/usr/sbin/nvram get sdram_init) | 0x0100 )))" 
     
    5242                fi 
    5343        ;; 
    54         "$((0x467))") 
     44        "1127") #0x467 
    5545                nvram_set sdram_init "$(printf 0x%04x $(( $(/usr/sbin/nvram get sdram_init) | 0x0100 )))" 
    5646                [ "$COMMIT" = 1 ] && { 
     
    6757[ "$COMMIT" = "1" ] && nvram commit 
    6858 
    69  
    70 # linksys bug; remove when not using static configuration for lan 
    71 nvram set lan_proto="static" 
    72  
    73 # hacks for wrt54g 1.x hardware 
    74 [  "$(nvram get boardnum)"  = "42" \ 
    75 -a "$(nvram get boardtype)" = "bcm94710dev" ] && { 
    76         debug "### wrt54g 1.x hack ###" 
    77         nvram set vlan1hwname="et0" 
    78         nvram set vlan2hwname="et0" 
    79         remap eth0 vlan2 
    80         remap eth1 vlan1 
    81 } 
    82  
    83 # hacks for asus wl-500g deluxe 
    84 [  "$(nvram get boardtype)" = "bcm95365r" \ 
    85 -a "$(nvram get boardnum)" = "45" ] && { 
    86         debug "### wl-500g deluxe hacks ###" 
    87         nvram set vlan0hwname="et0" 
    88         nvram set vlan1hwname="et0" 
    89         remap eth0.1 vlan0 
    90         remap eth0 vlan1 
    91  
    92         # set up the vlan*ports variables for the asus wl-500g deluxe 
    93         # if they don't already exist  
    94         nvram_default vlan0ports "1 2 3 4 5*" 
    95         nvram_default vlan1ports "0 5" 
    96 } 
    97  
    98 # hacks for asus 
    99 case "$(nvram get productid)" in  
    100         WL300g) 
    101                 debug "### wl-300g hacks ###" 
    102                 nvram set lan_ifnames="eth0 eth2" 
    103                 nvram set wan_ifname="none" 
    104         ;; 
    105         WLHDD) 
    106                 debug "### wl-hdd hacks ###" 
    107                 nvram set lan_ifnames="eth1 eth2" 
    108                 nvram set wan_ifname="none" 
    109         ;; 
    110         *) 
    111                 # wl-500g defaults. these are placed here, because WL-HDD and WL-300g 
    112                 # might have the same nvram settings. 
    113                 [ "$(nvram get boardnum)" = "asusX" \ 
    114                 -a "$(nvram get boardtype)" = "bcm94710dev" ] && { 
    115                         nvram_default wan_device "eth1" 
    116                 } 
    117         ;; 
    118 esac 
    119  
    120 # hacks for wap54g hardware 
    121 [  "$(nvram get boardnum)" = "2" \ 
    122 -o "$(nvram get boardnum)" = "1024" ] && { 
    123         debug "### wap54g hack ###" 
    124         nvram set wan_ifname="none" 
    125 } 
    126  
    127 # hacks for buffalo wla2-g54l 
    128 [  "$(nvram get boardnum)" = "00" \ 
    129 -a "$(nvram get product_name)" = "Product_name" \ 
    130 -o "$(nvram get product_name)" = "WLA2-G54L" ] && { 
    131         debug "### wla2-g54l hacks ###" 
    132         nvram set wan_ifname="none" 
    133         nvram set lan_ifnames="vlan0" 
    134 } 
    135  
    136 # needed at least for wrt54gs v1.1 and wrt54g v2.0, v2.2 
    137 [ \! -z "$(nvram get boardrev)" ] && { 
    138         nvram_default wl0id 0x4320 
    139 } 
    140  
    141 # defaults 
    142 nvram_default lan_ifname "br0" 
    143 nvram_default lan_ifnames "$FAILSAFE_ifnames" 
    144  
    145 nvram_default wan_ifname "vlan1" 
    146 nvram_default wan_device "vlan1" 
    147 nvram_default wan_proto "dhcp" 
    148  
    149 nvram_default wl0_ssid OpenWrt 
    150 nvram_default wl0_mode ap 
    151 nvram_default wl0_infra 1 
    152 nvram_default wl0_radio 1 
    153  
    154 WAN_PROTO="$(nvram get wan_proto)" 
    155 WAN_IFNAME="$(nvram get wan_ifname)" 
    156 case "$WAN_PROTO" in 
    157         pp*) [ "${WAN_IFNAME%%[0-9]*}" = "ppp" ] || nvram set wan_ifname=ppp0;; 
    158         *) [ "${WAN_IFNAME%%[0-9]*}" = "ppp" ] && nvram set wan_ifname="$(nvram get wan_device)";; 
    159 esac 
     59# hack for some motorola routers 
     60nvram unset wl0gpio0 
    16061 
    16162[ "$(nvram get il0macaddr)" = "00:90:4c:5f:00:2a" ] && { 
     
    16465        awk '{OFS=FS=":";for(x=7,y=2;--x;){$x=sprintf("%02x",(y+="0x"$x)%256);y/=256}print}') 
    16566} 
    166  
  • trunk/openwrt/target/linux/package/base-files/files/brcm-2.4/etc/init.d/S05netconfig

    r3445 r3588  
    5151                c["lan_ifnames"] = "vlan0 ath0" 
    5252        } 
    53         if (nvram["boardtype"] == "0x0467") { 
     53        if ((nvram["boardtype"] == "0x0467") || (nvram["boardtype"] == "0x042f")) { 
    5454                c["vlan0ports"] = "0 1 2 3 5*" 
    5555                c["vlan1ports"] = "4 5" 
     
    102102        print "## PPP over Ethernet and PPTP" 
    103103        print "# wan_ifname=\"ppp0\"" 
     104        print "# ppp_username=\"my_username\"" 
     105        print "# ppp_passwd=\"my_password\"" 
    104106        print "# pptp_server_ip=\"192.168.0.1\"" 
    105107} 
  • trunk/openwrt/target/linux/package/base-files/files/brcm-2.6/etc/init.d/S05netconfig

    r3445 r3588  
    5151                c["lan_ifnames"] = "vlan0 ath0" 
    5252        } 
    53         if (nvram["boardtype"] == "0x0467") { 
     53        if ((nvram["boardtype"] == "0x0467") || (nvram["boardtype"] == "0x042f")) { 
    5454                c["vlan0ports"] = "0 1 2 3 5*" 
    5555                c["vlan1ports"] = "4 5" 
     
    102102        print "## PPP over Ethernet and PPTP" 
    103103        print "# wan_ifname=\"ppp0\"" 
     104        print "# ppp_username=\"my_username\"" 
     105        print "# ppp_passwd=\"my_password\"" 
    104106        print "# pptp_server_ip=\"192.168.0.1\"" 
    105107} 
Note: See TracChangeset for help on using the changeset viewer.