diff options
Diffstat (limited to 'package/base-files/files/lib')
11 files changed, 151 insertions, 163 deletions
diff --git a/package/base-files/files/lib/functions/network.sh b/package/base-files/files/lib/functions/network.sh index ead69aa626..0ff11c3ca1 100644 --- a/package/base-files/files/lib/functions/network.sh +++ b/package/base-files/files/lib/functions/network.sh @@ -222,7 +222,7 @@ __network_ipaddr() # determine first IPv4 address of given logical interface # 1: destination variable # 2: interface -network_get_ipaddr() { __network_ipaddr "$1" "$2" "address4" "%%/*" 0; } +network_get_ipaddr() { __network_ipaddr "$1" "$2" "address4" "%%/*" 0; } # determine first IPv6 address of given logical interface # 1: destination variable @@ -232,7 +232,7 @@ network_get_ipaddr6() { __network_ipaddr "$1" "$2" "address6" "%%/*" 0; } # determine first IPv4 subnet of given logical interface # 1: destination variable # 2: interface -network_get_subnet() { __network_ipaddr "$1" "$2" "address4" "%% *" 0; } +network_get_subnet() { __network_ipaddr "$1" "$2" "address4" "%% *" 0; } # determine first IPv6 subnet of given logical interface # 1: destination variable @@ -247,7 +247,7 @@ network_get_prefix6() { __network_ipaddr "$1" "$2" "prefix6" "%% *" 0; } # determine all IPv4 addresses of given logical interface # 1: destination variable # 2: interface -network_get_ipaddrs() { __network_ipaddr "$1" "$2" "address4" "%%/*" 1; } +network_get_ipaddrs() { __network_ipaddr "$1" "$2" "address4" "%%/*" 1; } # determine all IPv6 addresses of given logical interface # 1: destination variable @@ -257,7 +257,7 @@ network_get_ipaddrs6() { __network_ipaddr "$1" "$2" "address6" "%%/*" 1; } # determine all IPv4 subnets of given logical interface # 1: destination variable # 2: interface -network_get_subnets() { __network_ipaddr "$1" "$2" "address4" "" 1; } +network_get_subnets() { __network_ipaddr "$1" "$2" "address4" "" 1; } # determine all IPv6 subnets of given logical interface # 1: destination variable @@ -292,9 +292,9 @@ __network_gateway() # 1: destination variable # 2: interface # 3: consider inactive gateway if "true" (optional) -network_get_gateway() { __network_gateway "$1" "$2" 4 "${3:-0}"; } +network_get_gateway() { __network_gateway "$1" "$2" 4 "${3:-0}"; } -# determine IPv6 gateway of given logical interface +# determine IPv6 gateway of given logical interface # 1: destination variable # 2: interface # 3: consider inactive gateway if "true" (optional) @@ -354,7 +354,7 @@ __network_wan() # find the logical interface which holds the current IPv4 default route # 1: destination variable # 2: consider inactive default routes if "true" (optional) -network_find_wan() { __network_wan "$1" 4 "${2:-0}"; } +network_find_wan() { __network_wan "$1" 4 "${2:-0}"; } # find the logical interface which holds the current IPv6 default route # 1: destination variable @@ -384,12 +384,12 @@ network_is_up() # determine the layer 3 linux network device of the given logical interface # 1: destination variable # 2: interface -network_get_device() { __network_device "$1" "$2" l3_device; } +network_get_device() { __network_device "$1" "$2" l3_device; } # determine the layer 2 linux network device of the given logical interface # 1: destination variable # 2: interface -network_get_physdev() { __network_device "$1" "$2" device; } +network_get_physdev() { __network_device "$1" "$2" device; } __network_defer() diff --git a/package/base-files/files/lib/functions/service.sh b/package/base-files/files/lib/functions/service.sh index cbb717d4d0..d352a441cc 100644 --- a/package/base-files/files/lib/functions/service.sh +++ b/package/base-files/files/lib/functions/service.sh @@ -4,27 +4,27 @@ # Usage: service ACTION EXEC ARGS... # # Action: -# -C check if EXEC is alive -# -S start EXEC, passing it ARGS as its arguments -# -K kill EXEC, sending it a TERM signal if not specified otherwise +# -C check if EXEC is alive +# -S start EXEC, passing it ARGS as its arguments +# -K kill EXEC, sending it a TERM signal if not specified otherwise # # Environment variables exposed: -# SERVICE_DAEMONIZE run EXEC in background -# SERVICE_WRITE_PID create a pid-file and use it for matching -# SERVICE_MATCH_EXEC use EXEC command-line for matching (default) -# SERVICE_MATCH_NAME use EXEC process name for matching -# SERVICE_USE_PID assume EXEC create its own pid-file and use it for matching -# SERVICE_NAME process name to use (default to EXEC file part) -# SERVICE_PID_FILE pid file to use (default to /var/run/$SERVICE_NAME.pid) -# SERVICE_SIG signal to send when using -K -# SERVICE_SIG_RELOAD default signal used when reloading -# SERVICE_SIG_STOP default signal used when stopping -# SERVICE_STOP_TIME time to wait for a process to stop gracefully before killing it -# SERVICE_UID user EXEC should be run as -# SERVICE_GID group EXEC should be run as +# SERVICE_DAEMONIZE run EXEC in background +# SERVICE_WRITE_PID create a pid-file and use it for matching +# SERVICE_MATCH_EXEC use EXEC command-line for matching (default) +# SERVICE_MATCH_NAME use EXEC process name for matching +# SERVICE_USE_PID assume EXEC create its own pid-file and use it for matching +# SERVICE_NAME process name to use (default to EXEC file part) +# SERVICE_PID_FILE pid file to use (default to /var/run/$SERVICE_NAME.pid) +# SERVICE_SIG signal to send when using -K +# SERVICE_SIG_RELOAD default signal used when reloading +# SERVICE_SIG_STOP default signal used when stopping +# SERVICE_STOP_TIME time to wait for a process to stop gracefully before killing it +# SERVICE_UID user EXEC should be run as +# SERVICE_GID group EXEC should be run as # -# SERVICE_DEBUG don't do anything, but show what would be done -# SERVICE_QUIET don't print anything +# SERVICE_DEBUG don't do anything, but show what would be done +# SERVICE_QUIET don't print anything # SERVICE_QUIET=1 @@ -124,6 +124,3 @@ __END_OF_WARNING__ while grep -qs "$name" "/proc/$pid/cmdline"; do sleep 1; done done } - - - diff --git a/package/base-files/files/lib/preinit/10_indicate_failsafe b/package/base-files/files/lib/preinit/10_indicate_failsafe index 7761fd3be6..6afae410b6 100644 --- a/package/base-files/files/lib/preinit/10_indicate_failsafe +++ b/package/base-files/files/lib/preinit/10_indicate_failsafe @@ -5,14 +5,13 @@ # commands for emitting messages to network in failsafe mode indicate_failsafe_led () { - set_state failsafe + set_state failsafe } indicate_failsafe() { - echo "- failsafe -" - preinit_net_echo "Entering Failsafe!\n" - indicate_failsafe_led + echo "- failsafe -" + preinit_net_echo "Entering Failsafe!\n" + indicate_failsafe_led } boot_hook_add failsafe indicate_failsafe - diff --git a/package/base-files/files/lib/preinit/10_indicate_preinit b/package/base-files/files/lib/preinit/10_indicate_preinit index da70b97c40..dc22f577ea 100644 --- a/package/base-files/files/lib/preinit/10_indicate_preinit +++ b/package/base-files/files/lib/preinit/10_indicate_preinit @@ -3,48 +3,47 @@ # Copyright (C) 2010 Vertical Communications preinit_ip() { - # if the preinit interface isn't specified and ifname is set in - # preinit.arch use that interface - if [ -z "$pi_ifname" ]; then - pi_ifname=$ifname - fi - - [ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && { - ifconfig $pi_ifname $pi_ip netmask $pi_netmask broadcast $pi_broadcast up - } + # if the preinit interface isn't specified and ifname is set in + # preinit.arch use that interface + if [ -z "$pi_ifname" ]; then + pi_ifname=$ifname + fi + + [ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && { + ifconfig $pi_ifname $pi_ip netmask $pi_netmask broadcast $pi_broadcast up + } } preinit_ip_deconfig() { - [ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && { - ifconfig $pi_ifname 0.0.0.0 down - } + [ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && { + ifconfig $pi_ifname 0.0.0.0 down + } } preinit_net_echo() { [ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && { - { + { [ "$pi_preinit_net_messages" = "y" ] || { - [ "$pi_failsafe_net_message" = "true" ] && - [ "$pi_preinit_no_failsafe_netmsg" != "y" ] - } + [ "$pi_failsafe_net_message" = "true" ] && + [ "$pi_preinit_no_failsafe_netmsg" != "y" ] + } } && netmsg $pi_broadcast "$1" - } + } } preinit_echo() { - preinit_net_echo $1 - echo $1 + preinit_net_echo $1 + echo $1 } pi_indicate_led() { - set_state preinit + set_state preinit } pi_indicate_preinit() { - preinit_net_echo "Doing OpenWRT Preinit\n" - pi_indicate_led + preinit_net_echo "Doing OpenWRT Preinit\n" + pi_indicate_led } boot_hook_add preinit_main preinit_ip boot_hook_add preinit_main pi_indicate_preinit - diff --git a/package/base-files/files/lib/preinit/30_failsafe_wait b/package/base-files/files/lib/preinit/30_failsafe_wait index 522565940c..3d69baf3a4 100644 --- a/package/base-files/files/lib/preinit/30_failsafe_wait +++ b/package/base-files/files/lib/preinit/30_failsafe_wait @@ -3,95 +3,94 @@ # Copyright (C) 2010 Vertical Communications fs_wait_for_key () { - local timeout=$3 - local timer - local do_keypress - local keypress_true="$(mktemp)" - local keypress_wait="$(mktemp)" - local keypress_sec="$(mktemp)" - if [ -z "$keypress_wait" ]; then - keypress_wait=/tmp/.keypress_wait - touch $keypress_wait - fi - if [ -z "$keypress_true" ]; then - keypress_true=/tmp/.keypress_true - touch $keypress_true - fi - if [ -z "$keypress_sec" ]; then - keypress_sec=/tmp/.keypress_sec - touch $keypress_sec - fi + local timeout=$3 + local timer + local do_keypress + local keypress_true="$(mktemp)" + local keypress_wait="$(mktemp)" + local keypress_sec="$(mktemp)" + if [ -z "$keypress_wait" ]; then + keypress_wait=/tmp/.keypress_wait + touch $keypress_wait + fi + if [ -z "$keypress_true" ]; then + keypress_true=/tmp/.keypress_true + touch $keypress_true + fi + if [ -z "$keypress_sec" ]; then + keypress_sec=/tmp/.keypress_sec + touch $keypress_sec + fi - trap "echo 'true' >$keypress_true; lock -u $keypress_wait ; rm -f $keypress_wait" INT - trap "echo 'true' >$keypress_true; lock -u $keypress_wait ; rm -f $keypress_wait" USR1 + trap "echo 'true' >$keypress_true; lock -u $keypress_wait ; rm -f $keypress_wait" INT + trap "echo 'true' >$keypress_true; lock -u $keypress_wait ; rm -f $keypress_wait" USR1 - [ -n "$timeout" ] || timeout=1 - [ $timeout -ge 1 ] || timeout=1 - timer=$timeout - lock $keypress_wait - { - while [ $timer -gt 0 ]; do - echo "$timer" >$keypress_sec - timer=$(($timer - 1)) - sleep 1 - done - lock -u $keypress_wait - rm -f $keypress_wait - } & - - echo "Press the [$1] key and hit [enter] $2" - echo "Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level" - # if we're on the console we wait for input - { - while [ -r $keypress_wait ]; do - timer="$(cat $keypress_sec)" - - [ -n "$timer" ] || timer=1 - timer="${timer%%\ *}" - [ $timer -ge 1 ] || timer=1 - do_keypress="" - { - read -t "$timer" do_keypress - case "$do_keypress" in - $1) - echo "true" >$keypress_true - ;; - 1 | 2 | 3 | 4) - echo "$do_keypress" >/tmp/debug_level - ;; - *) - continue; - ;; - esac + [ -n "$timeout" ] || timeout=1 + [ $timeout -ge 1 ] || timeout=1 + timer=$timeout + lock $keypress_wait + { + while [ $timer -gt 0 ]; do + echo "$timer" >$keypress_sec + timer=$(($timer - 1)) + sleep 1 + done lock -u $keypress_wait rm -f $keypress_wait - } - done - } - lock -w $keypress_wait + } & + + echo "Press the [$1] key and hit [enter] $2" + echo "Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level" + # if we're on the console we wait for input + { + while [ -r $keypress_wait ]; do + timer="$(cat $keypress_sec)" + + [ -n "$timer" ] || timer=1 + timer="${timer%%\ *}" + [ $timer -ge 1 ] || timer=1 + do_keypress="" + { + read -t "$timer" do_keypress + case "$do_keypress" in + $1) + echo "true" >$keypress_true + ;; + 1 | 2 | 3 | 4) + echo "$do_keypress" >/tmp/debug_level + ;; + *) + continue; + ;; + esac + lock -u $keypress_wait + rm -f $keypress_wait + } + done + } + lock -w $keypress_wait - keypressed=1 - [ "$(cat $keypress_true)" = "true" ] && keypressed=0 - - rm -f $keypress_true - rm -f $keypress_wait - rm -f $keypress_sec - - return $keypressed + keypressed=1 + [ "$(cat $keypress_true)" = "true" ] && keypressed=0 + + rm -f $keypress_true + rm -f $keypress_wait + rm -f $keypress_sec + + return $keypressed } failsafe_wait() { - FAILSAFE= - grep -q 'failsafe=' /proc/cmdline && FAILSAFE=true && export FAILSAFE - if [ "$FAILSAFE" != "true" ]; then - pi_failsafe_net_message=true - preinit_net_echo "Please press button now to enter failsafe" - pi_failsafe_net_message=false - fs_wait_for_key f 'to enter failsafe mode' $fs_failsafe_wait_timeout && FAILSAFE=true - [ -f "/tmp/failsafe_button" ] && FAILSAFE=true && echo "- failsafe button "`cat /tmp/failsafe_button`" was pressed -" - [ "$FAILSAFE" = "true" ] && export FAILSAFE && touch /tmp/failsafe - fi + FAILSAFE= + grep -q 'failsafe=' /proc/cmdline && FAILSAFE=true && export FAILSAFE + if [ "$FAILSAFE" != "true" ]; then + pi_failsafe_net_message=true + preinit_net_echo "Please press button now to enter failsafe" + pi_failsafe_net_message=false + fs_wait_for_key f 'to enter failsafe mode' $fs_failsafe_wait_timeout && FAILSAFE=true + [ -f "/tmp/failsafe_button" ] && FAILSAFE=true && echo "- failsafe button "`cat /tmp/failsafe_button`" was pressed -" + [ "$FAILSAFE" = "true" ] && export FAILSAFE && touch /tmp/failsafe + fi } boot_hook_add preinit_main failsafe_wait - diff --git a/package/base-files/files/lib/preinit/40_run_failsafe_hook b/package/base-files/files/lib/preinit/40_run_failsafe_hook index faa043c171..cb43ad39cb 100644 --- a/package/base-files/files/lib/preinit/40_run_failsafe_hook +++ b/package/base-files/files/lib/preinit/40_run_failsafe_hook @@ -10,4 +10,3 @@ run_failsafe_hook() { } boot_hook_add preinit_main run_failsafe_hook - diff --git a/package/base-files/files/lib/preinit/50_indicate_regular_preinit b/package/base-files/files/lib/preinit/50_indicate_regular_preinit index c200dad671..bc223b358e 100644 --- a/package/base-files/files/lib/preinit/50_indicate_regular_preinit +++ b/package/base-files/files/lib/preinit/50_indicate_regular_preinit @@ -3,9 +3,8 @@ # Copyright (C) 2010 Vertical Communications indicate_regular_preinit() { - preinit_net_echo "Continuing with Regular Preinit\n" - pi_indicate_led + preinit_net_echo "Continuing with Regular Preinit\n" + pi_indicate_led } boot_hook_add preinit_main indicate_regular_preinit - diff --git a/package/base-files/files/lib/preinit/70_initramfs_test b/package/base-files/files/lib/preinit/70_initramfs_test index 15c0dcd902..8504e34db0 100644 --- a/package/base-files/files/lib/preinit/70_initramfs_test +++ b/package/base-files/files/lib/preinit/70_initramfs_test @@ -3,12 +3,11 @@ # Copyright (C) 2010 Vertical Communications initramfs_test() { - if [ -n "$INITRAMFS" ]; then - boot_run_hook initramfs - preinit_ip_deconfig - break - fi + if [ -n "$INITRAMFS" ]; then + boot_run_hook initramfs + preinit_ip_deconfig + break + fi } boot_hook_add preinit_main initramfs_test - diff --git a/package/base-files/files/lib/preinit/99_10_failsafe_login b/package/base-files/files/lib/preinit/99_10_failsafe_login index 05d6b7787b..15dcbd884f 100644 --- a/package/base-files/files/lib/preinit/99_10_failsafe_login +++ b/package/base-files/files/lib/preinit/99_10_failsafe_login @@ -3,16 +3,14 @@ # Copyright (C) 2010 Vertical Communications failsafe_netlogin () { - telnetd -l /bin/login.sh <> /dev/null 2>&1 + telnetd -l /bin/login.sh <> /dev/null 2>&1 } failsafe_shell() { - lock /tmp/.failsafe - ash --login - echo "Please reboot system when done with failsafe network logins" + lock /tmp/.failsafe + ash --login + echo "Please reboot system when done with failsafe network logins" } - boot_hook_add failsafe failsafe_netlogin boot_hook_add failsafe failsafe_shell - diff --git a/package/base-files/files/lib/preinit/99_10_run_init b/package/base-files/files/lib/preinit/99_10_run_init index a8f330f892..b4f0ec203d 100644 --- a/package/base-files/files/lib/preinit/99_10_run_init +++ b/package/base-files/files/lib/preinit/99_10_run_init @@ -3,8 +3,7 @@ # Copyright (C) 2010 Vertical Communications run_init() { - preinit_ip_deconfig + preinit_ip_deconfig } boot_hook_add preinit_main run_init - diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh index 6122ae7712..15ee70325b 100644 --- a/package/base-files/files/lib/upgrade/common.sh +++ b/package/base-files/files/lib/upgrade/common.sh @@ -38,7 +38,7 @@ supivot() { # <new_root> <old_root> mkdir -p $1$2 $1/proc $1/sys $1/dev $1/tmp $1/overlay && \ mount -o noatime,move /proc $1/proc && \ pivot_root $1 $1$2 || { - umount -l $1 $1 + umount -l $1 $1 return 1 } @@ -50,10 +50,10 @@ supivot() { # <new_root> <old_root> } run_ramfs() { # <command> [...] - install_bin /bin/busybox /bin/ash /bin/sh /bin/mount /bin/umount \ - /sbin/pivot_root /usr/bin/wget /sbin/reboot /bin/sync /bin/dd \ - /bin/grep /bin/cp /bin/mv /bin/tar /usr/bin/md5sum "/usr/bin/[" \ - /bin/vi /bin/ls /bin/cat /usr/bin/awk /usr/bin/hexdump \ + install_bin /bin/busybox /bin/ash /bin/sh /bin/mount /bin/umount \ + /sbin/pivot_root /usr/bin/wget /sbin/reboot /bin/sync /bin/dd \ + /bin/grep /bin/cp /bin/mv /bin/tar /usr/bin/md5sum "/usr/bin/[" \ + /bin/vi /bin/ls /bin/cat /usr/bin/awk /usr/bin/hexdump \ /bin/sleep /bin/zcat /usr/bin/bzcat /usr/bin/printf /usr/bin/wc install_bin /sbin/mtd @@ -94,7 +94,7 @@ kill_remaining() { # [ <signal> ] local cmdline read cmdline < /proc/$pid/cmdline - # Skip kernel threads + # Skip kernel threads [ -n "$cmdline" ] || continue case "$name" in |