diff options
Diffstat (limited to 'scripts/netcfg-daemon')
-rwxr-xr-x | scripts/netcfg-daemon | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/scripts/netcfg-daemon b/scripts/netcfg-daemon deleted file mode 100755 index b3111da..0000000 --- a/scripts/netcfg-daemon +++ /dev/null @@ -1,102 +0,0 @@ -#!/bin/bash -# -# This script implements support for the NETWORKS array in /etc/conf.d/netcfg. - -. /usr/lib/network/globals -. /etc/conf.d/netcfg -STATE_FILE="$STATE_DIR/netcfg-daemon" -LAST_STATE="/var/lib/netcfg/netcfg.state" - -case "$1" in - start) - (( $(id -u) )) && exit_stderr "This script should be run as root." - [[ -e $STATE_FILE ]] && exit_err "netcfg-daemon is already started" - [[ ${NETWORKS+x} != x ]] && exit_err "NETWORKS is not set in /etc/conf.d/netcfg" - - if [[ ${#NETWORKS[@]} -eq 1 ]]; then - case $NETWORKS in - last) - if [[ ! -e $LAST_STATE ]]; then - report_err "No recorded netcfg state to restore" - # This counts as successful startup since the daemon - # should be stopped on shutdown. - exit 0 - fi - - # The order in LAST_STATE is meaningless so we can just as - # well start the profiles in parallel. - while read profile; do - if /usr/bin/netcfg up "$profile"; then - echo "$profile" >> "$STATE_FILE" - fi & - done < "$LAST_STATE" - wait - exit $? ;; - menu) - /usr/bin/netcfg-menu ${NETWORKS_MENU_TIMEOUT-5} && \ - mv "$STATE_DIR/menu" "$STATE_FILE" - exit $? ;; - esac - fi - - for profile in "${NETWORKS[@]}"; do - if [[ "$profile" = "${profile#@}" ]]; then - if /usr/bin/netcfg check-iface "$profile"; then - echo "$profile" >> "$STATE_FILE" - fi - else - # It is up to the user to make sure no backgrounded profile - # uses an interface that is used by another active profile. - if /usr/bin/netcfg up "${profile#@}"; then - echo "$profile" >> "$STATE_FILE" - fi >/dev/null & - PROFILE_BKGD=1 - fi - done - # Generate a return value. - [[ -f $STATE_FILE || -n $PROFILE_BKGD ]] - ;; - stop) - (( $(id -u) )) && exit_stderr "This script should be run as root." - - if [[ ${#NETWORKS[@]} -eq 1 && $NETWORKS = last ]]; then - mkdir -p "$(dirname "$LAST_STATE")" - /usr/bin/netcfg current > "$LAST_STATE" - /usr/bin/netcfg all-down - exit $? - fi - - [[ ! -e $STATE_FILE ]] && exit_err "netcfg-daemon was not started" - # Stop the profiles in the reverse order they were started. - tac "$STATE_FILE" | ( - while read profile; do - if [[ -e "$STATE_DIR/profiles/${profile#@}" ]]; then - if [[ "$profile" = "${profile#@}" ]]; then - /usr/bin/netcfg down "$profile" || exit $? - else - /usr/bin/netcfg down "${profile#@}" & - fi - fi - done - rm "$STATE_FILE" - # Generate a return value and make sure we are good to restart. - wait - ) - ;; - restart) - "$0" stop - sleep 1 - "$0" start - ;; - status) - if [[ -e $STATE_FILE ]]; then - report_notice "profiles started by netcfg-daemon:" - sed 's/^@//' "$STATE_FILE" - else - report_notice "netcfg-daemon was not started" - fi - ;; - *) - echo "Usage: $0 {start|stop|restart|status}" -esac - |