svn commit: r202335 - stable/6/etc/rc.d
Doug Barton
dougb at FreeBSD.org
Fri Jan 15 03:07:42 UTC 2010
Author: dougb
Date: Fri Jan 15 03:07:42 2010
New Revision: 202335
URL: http://svn.freebsd.org/changeset/base/202335
Log:
MFC r201367, r201370:
Virtualize the location of "the configuration directory" instead of
hard-coding it to be /etc/namedb
Modified:
stable/6/etc/rc.d/named
Directory Properties:
stable/6/etc/ (props changed)
Modified: stable/6/etc/rc.d/named
==============================================================================
--- stable/6/etc/rc.d/named Fri Jan 15 03:06:39 2010 (r202334)
+++ stable/6/etc/rc.d/named Fri Jan 15 03:07:42 2010 (r202335)
@@ -44,19 +44,19 @@ chroot_autoupdate()
warn "chroot directory structure not updated"
fi
- # Create /etc/namedb symlink
+ # Create (or update) the configuration directory symlink
#
- if [ ! -L /etc/namedb ]; then
- if [ -d /etc/namedb ]; then
- warn "named chroot: /etc/namedb is a directory!"
- elif [ -e /etc/namedb ]; then
- warn "named chroot: /etc/namedb exists!"
+ if [ ! -L "${named_conf%/*}" ]; then
+ if [ -d "${named_conf%/*}" ]; then
+ warn "named chroot: ${named_conf%/*} is a directory!"
+ elif [ -e "${named_conf%/*}" ]; then
+ warn "named chroot: ${named_conf%/*} exists!"
else
- ln -s ${named_chrootdir}/etc/namedb /etc/namedb
+ ln -s ${named_confdir} ${named_conf%/*}
fi
else
# Make sure it points to the right place.
- ln -shf ${named_chrootdir}/etc/namedb /etc/namedb
+ ln -shf ${named_confdir} ${named_conf%/*}
fi
# Mount a devfs in the chroot directory if needed
@@ -180,12 +180,12 @@ named_prestart()
# Create an rndc.key file for the user if none exists
#
confgen_command="${command%/named}/rndc-confgen -a -b256 -u $named_uid \
- -c ${named_chrootdir}/etc/namedb/rndc.key"
- if [ -s "${named_chrootdir}/etc/namedb/rndc.conf" ]; then
+ -c ${named_confdir}/rndc.key"
+ if [ -s "${named_confdir}/rndc.conf" ]; then
unset confgen_command
fi
- if [ -s "${named_chrootdir}/etc/namedb/rndc.key" ]; then
- case `stat -f%Su ${named_chrootdir}/etc/namedb/rndc.key` in
+ if [ -s "${named_confdir}/rndc.key" ]; then
+ case `stat -f%Su ${named_confdir}/rndc.key` in
root|$named_uid) ;;
*) $confgen_command ;;
esac
@@ -199,8 +199,8 @@ named_prestart()
warn "named_auto_forward enabled, but no /etc/resolv.conf"
# Empty the file in case it is included in named.conf
- [ -s "${named_chrootdir}/etc/namedb/auto_forward.conf" ] &&
- create_file ${named_chrootdir}/etc/namedb/auto_forward.conf
+ [ -s "${named_confdir}/auto_forward.conf" ] &&
+ create_file ${named_confdir}/auto_forward.conf
${command%/named}/named-checkconf $named_conf ||
err 3 'named-checkconf for $named_conf failed'
@@ -249,19 +249,19 @@ named_prestart()
mv /var/run/naf-resolv.conf /etc/resolv.conf
fi
- if cmp -s ${named_chrootdir}/etc/namedb/auto_forward.conf \
+ if cmp -s ${named_confdir}/auto_forward.conf \
/var/run/auto_forward.conf; then
unlink /var/run/auto_forward.conf
else
- [ -e "${named_chrootdir}/etc/namedb/auto_forward.conf" ] &&
- unlink ${named_chrootdir}/etc/namedb/auto_forward.conf
+ [ -e "${named_confdir}/auto_forward.conf" ] &&
+ unlink ${named_confdir}/auto_forward.conf
mv /var/run/auto_forward.conf \
- ${named_chrootdir}/etc/namedb/auto_forward.conf
+ ${named_confdir}/auto_forward.conf
fi
else
# Empty the file in case it is included in named.conf
- [ -s "${named_chrootdir}/etc/namedb/auto_forward.conf" ] &&
- create_file ${named_chrootdir}/etc/namedb/auto_forward.conf
+ [ -s "${named_confdir}/auto_forward.conf" ] &&
+ create_file ${named_confdir}/auto_forward.conf
fi
${command%/named}/named-checkconf $named_conf ||
@@ -275,5 +275,6 @@ load_rc_config $name
required_dirs="$named_chrootdir" # if it is set, it must exist
required_files="${named_conf:=/etc/namedb/named.conf}"
pidfile="${named_pidfile:-/var/run/named/pid}"
+named_confdir="${named_chrootdir}${named_conf%/*}"
run_rc_command "$1"
More information about the svn-src-stable
mailing list