diff options
author | dougb <dougb@FreeBSD.org> | 2004-03-14 19:10:06 +0000 |
---|---|---|
committer | dougb <dougb@FreeBSD.org> | 2004-03-14 19:10:06 +0000 |
commit | 454914fc9f0a10637ca62e1ec36ceb40dc1cff1c (patch) | |
tree | fa53015b5d9c8163861501f9076770f51faa4760 /etc/rc.d | |
parent | 49840535480459dfac02d861688ee858e596bde3 (diff) | |
download | FreeBSD-src-454914fc9f0a10637ca62e1ec36ceb40dc1cff1c.zip FreeBSD-src-454914fc9f0a10637ca62e1ec36ceb40dc1cff1c.tar.gz |
1. Remove the named_rcng variable. Mike's caution in this area was a good
thing, but we're ready to move on.
2. Remove the -g default argument in named_flags. It doesn't actually do
what most users think it does, and what most users want it to do is already
accomplished with a proper default group for the bind user, which we have.
Also, the -g knob does something entirely different in BIND 9, which leads
to a lot of needless confusion/aggravation.
3. In the rc.d script, don't bogusly override $command, or $rc_flags. Both
are adequately handled in rc.conf[.local].
4. DO properly override $rc_flags if user has named_chrootdir set.
This may need to be revisited, but should be ok for now.
5. Protect all chrootdir-related bits under that variable, instead of
named_rcng.
There is more work to be done here, especially in the area of BIND 9
compatibility, but this is a start at least.
Prompted in part by (legitmate) grousing from: kuriyama, Randy Bush
Diffstat (limited to 'etc/rc.d')
-rwxr-xr-x | etc/rc.d/named | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/etc/rc.d/named b/etc/rc.d/named index 0d4cb9d..eb0d454 100755 --- a/etc/rc.d/named +++ b/etc/rc.d/named @@ -13,12 +13,9 @@ name="named" rcvar=`set_rcvar` -command="/usr/sbin/${name}" start_precmd="named_precmd" required_dirs="$named_chrootdir" # if it is set, it must exist extra_commands="reload" -nuser=bind -ngroup=bind # If running in a chroot cage, ensure that the appropriate files # exist inside the cage, as well as helper symlinks into the cage @@ -64,28 +61,16 @@ make_symlinks() { ln -fs "${named_chrootdir}${named_pidfile}" ${named_pidfile} ln -fs "${named_chrootdir}/var/run/ndc" /var/run/ndc - } named_precmd() { - ! checkyesno named_rcng && return 0 # Is the user using a sandbox? - if [ -z "$named_chrootdir" ]; then - rc_flags="-u $nuser -g $ngroup $rc_flags" - return 0 + if [ -n "$named_chrootdir" ]; then + rc_flags="$rc_flags -t $named_chrootdir" + checkyesno named_chroot_autoupdate && chroot_autoupdate + checkyesno named_symlink_enable && make_symlinks fi - - # Do the following checks only if the user wants them done - checkyesno named_chroot_autoupdate && chroot_autoupdate - - # Make the symlinks only if the user wants them done. - checkyesno named_symlink_enable && make_symlinks - - # Change run_rc_commands()'s internal copy of $named_flags - # - ! checkyesno named_rcng && return - rc_flags="-u $nuser -g $ngroup -t ${named_chrootdir} $rc_flags" } load_rc_config $name |