+++ /dev/null
-#!/bin/sh
-
-PROGRAM="sysctl"
-
-SYSCTL_ARGS=""
-
-# shellcheck source=/dev/null
-[ -r "/etc/default/$PROGRAM" ] && . "/etc/default/$PROGRAM"
-
-# Files are read from directories in the SYSCTL_SOURCES list, in the given
-# order. A file may be used more than once, since there can be multiple
-# symlinks to it. No attempt is made to prevent this.
-SYSCTL_SOURCES="/etc/sysctl.d/ /usr/local/lib/sysctl.d/ /usr/lib/sysctl.d/ /lib/sysctl.d/ /etc/sysctl.conf"
-
-# Use some scripting to mimic the --system option of the sysctl provided by
-# procps-ng but still reporting errors. Users not interested on error report
-# can put "-e" in SYSCTL_ARGS.
-#
-# The file redirections do the following:
-#
-# - stdout is redirected to syslog with facility.level "kern.info"
-# - stderr is redirected to syslog with facility.level "kern.err"
-# - file dscriptor 4 is used to pass the result to the "start" function.
-#
-# Testing the sysctl exit code is fruitless, as at the moment, since it ends
-# with status zero even if errors happen. Hopefully this will be fixed in a
-# future version of Busybox.
-#
-run_program() {
- # shellcheck disable=SC2086 # we need the word splitting
- find $SYSCTL_SOURCES -maxdepth 1 -name '*.conf' -print0 2> /dev/null | \
- xargs -0 -r -n 1 readlink -f | {
- prog_status="OK"
- while :; do
- read -r file
- if [ -z "$file" ]; then
- echo "$prog_status" >&4
- break
- fi
- echo "* Applying $file ..."
- /sbin/sysctl -p "$file" $SYSCTL_ARGS || prog_status="FAIL"
- done 2>&1 >&3 | /usr/bin/logger -t sysctl -p kern.err
- } 3>&1 | /usr/bin/logger -t sysctl -p kern.info
-}
-
-start() {
- printf '%s %s: ' "$1" "$PROGRAM"
- status=$(run_program 4>&1)
- echo "$status"
- if [ "$status" = "OK" ]; then
- return 0
- fi
- return 1
-}
-
-case "$1" in
- start)
- start "Running";;
- restart|reload)
- start "Rerunning";;
- stop)
- :;;
- *)
- echo "Usage: $0 {start|stop|restart|reload}"
- exit 1
-esac