summaryrefslogtreecommitdiffstats
path: root/etc/rc.d/sysctl
diff options
context:
space:
mode:
Diffstat (limited to 'etc/rc.d/sysctl')
-rw-r--r--etc/rc.d/sysctl119
1 files changed, 64 insertions, 55 deletions
diff --git a/etc/rc.d/sysctl b/etc/rc.d/sysctl
index 1e315f2..c478828 100644
--- a/etc/rc.d/sysctl
+++ b/etc/rc.d/sysctl
@@ -1,61 +1,70 @@
#!/bin/sh
#
-# Copyright (c) 1999 Warner Losh
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-# SUCH DAMAGE.
-#
+# $NetBSD: sysctl,v 1.12 2002/04/29 12:10:23 lukem Exp $
# $FreeBSD$
#
-#
-# Read in /etc/sysctl.conf and set things accordingly
-#
+# PROVIDE: sysctl
+# REQUIRE: root ipfilter ipsec
+# BEFORE: DAEMON
+# KEYWORD: FreeBSD NetBSD
+
+. /etc/rc.subr
+
+name="sysctl"
+stop_cmd=":"
+
+case `${CMD_OSTYPE}` in
+FreeBSD)
+ start_cmd="FreeBSD_start"
+ extra_commands="reload lastload"
+ reload_cmd="FreeBSD_start"
+ lastload_cmd="FreeBSD_start last"
+ ;;
+NetBSD)
+ start_cmd="NetBSD_start"
+ ;;
+esac
+
+FreeBSD_start()
+{
+ #
+ # Read in /etc/sysctl.conf and set things accordingly
+ #
+ if [ -f /etc/sysctl.conf ]; then
+ while read var comments
+ do
+ case ${var} in
+ \#*|'')
+ ;;
+ *)
+ mib=${var%=*}
+ val=${var#*=}
+
+ if current_value=`${SYSCTL} -n ${mib} 2>/dev/null`; then
+ case ${current_value} in
+ ${val})
+ ;;
+ *)
+ sysctl ${var}
+ ;;
+ esac
+ elif [ "$1" -eq "last" ]; then
+ warn "sysctl ${mib} does not exits."
+ fi
+ ;;
+ esac
+ done < /etc/sysctl.conf
+ fi
+}
+
+NetBSD_start()
+{
+ if [ -r /etc/sysctl.conf ]; then
+ echo "Setting sysctl variables:"
+ ${SYSCTL} -f /etc/sysctl.conf
+ fi
+}
-if [ -f /etc/sysctl.conf ]; then
- while read var comments
- do
- case ${var} in
- \#*|'')
- ;;
- *)
- mib=${var%=*}
- val=${var#*=}
-
- if current_value=`sysctl -n ${mib} 2>/dev/null`; then
- case ${current_value} in
- ${val}) ;;
- *)
- sysctl ${var}
- ;;
- esac
- else
- case ${1} in
- last)
- echo "Warning: sysctl ${mib} does not exist"
- ;;
- esac
- fi
- ;;
- esac
- done < /etc/sysctl.conf
-fi
+load_rc_config $name
+run_rc_command "$1"
OpenPOWER on IntegriCloud