Merge branch 'vendor/EXPAT'
[dragonfly.git] / etc / rc.d / named
1 #!/bin/sh
2 #
3 # $NetBSD: named,v 1.10 2002/03/22 04:33:59 thorpej Exp $
4 # $FreeBSD: src/etc/rc.d/named,v 1.6 2003/01/12 04:53:54 mtm Exp $
5 # $DragonFly: src/etc/rc.d/named,v 1.8 2006/09/20 21:48:38 victor Exp $
6 #
7
8 # PROVIDE: named
9 # REQUIRE: SERVERS
10 # BEFORE:  DAEMON
11
12 . /etc/rc.subr
13
14 name="named"
15 rcvar=`set_rcvar`
16 command="/usr/sbin/${name}"
17 start_precmd="named_precmd"
18 required_dirs="$named_chrootdir"        # if it is set, it must exist
19 extra_commands="reload"
20
21 nuser=bind
22
23 named_precmd()
24 {
25         # Is the user using a sandbox?
26         if [ -z "$named_chrootdir" ]; then
27                 rc_flags="-u $nuser $rc_flags"
28                 return 0
29
30         # If it is using a sandbox and the user haven't changed the default
31         # named_flags, change the named.conf path to stop bind shouting a
32         # warning about config file path being part of the sandbox path
33         elif [ ! -n "$named_flags" ]; then
34                 rc_flags="-c named.conf"
35         fi
36
37         #       Change run_rc_commands()'s internal copy of $named_flags
38         #
39         rc_flags="-u $nuser -t ${named_chrootdir} $rc_flags"
40         for file in localtime protocols services; do
41                 if [ -r /etc/$file ]; then
42                         cmp -s /etc/$file "${named_chrootdir}/etc/$file" ||
43                             cp -p /etc/$file "${named_chrootdir}/etc/$file"
44                 fi
45         done
46 }
47
48 load_rc_config $name
49 # The following variable requires that rc.conf be loaded first
50 #
51 required_dirs="$named_chrootdir"        # if it is set, it must exist
52 pidfile="${named_chrootdir}${named_pidfile:-/var/run/${name}.pid}"
53
54 run_rc_command "$1"