named revision 1.10
11.1Slukem#!/bin/sh 21.1Slukem# 31.10Sthorpej# $NetBSD: named,v 1.10 2002/03/22 04:33:59 thorpej Exp $ 41.1Slukem# 51.1Slukem 61.1Slukem# PROVIDE: named 71.2Slukem# REQUIRE: SERVERS 81.10Sthorpej# BEFORE: DAEMON 91.1Slukem 101.1Slukem. /etc/rc.subr 111.1Slukem 121.1Slukemname="named" 131.6Slukemrcvar=$name 141.1Slukemcommand="/usr/sbin/${name}" 151.1Slukempidfile="/var/run/${name}.pid" 161.7Slukemstart_precmd="named_precmd" 171.7Slukemextra_commands="reload" 181.7Slukemrequired_dirs="$named_chrootdir" # if it is set, it must exist 191.7Slukem 201.7Slukemnamed_precmd() 211.7Slukem{ 221.7Slukem if [ -z "$named_chrootdir" ]; then 231.7Slukem return 0; 241.7Slukem fi 251.7Slukem 261.7Slukem # If running in a chroot cage, ensure that the appropriate files 271.7Slukem # exist inside the cage, as well as helper symlinks into the cage 281.7Slukem # from outside. 291.7Slukem # 301.7Slukem # As this is called after the is_running and required_dir checks 311.7Slukem # are made in run_rc_command(), we can safely assume ${named_chrootdir} 321.7Slukem # exists and named isn't running at this point (unless forcestart 331.7Slukem # is used). 341.7Slukem # 351.4Slukem 361.7Slukem if [ ! -x "${named_chrootdir}/usr/libexec/named-xfer" -o \ 371.7Slukem "${named_chrootdir}/usr/libexec/named-xfer" -ot \ 381.7Slukem /usr/libexec/named-xfer ]; then 391.7Slukem rm -f "${named_chrootdir}/usr/libexec/named-xfer" 401.7Slukem cp -p /usr/libexec/named-xfer "${named_chrootdir}/usr/libexec" 411.7Slukem fi 421.7Slukem if [ ! -c "${named_chrootdir}/dev/null" ]; then 431.7Slukem rm -f "${named_chrootdir}/dev/null" 441.7Slukem ( cd /dev ; /bin/pax -rw -pe null "${named_chrootdir}/dev" ) 451.7Slukem fi 461.7Slukem if [ -f /etc/localtime ]; then 471.7Slukem cmp -s /etc/localtime "${named_chrootdir}/etc/localtime" || \ 481.7Slukem cp -p /etc/localtime "${named_chrootdir}/etc/localtime" 491.7Slukem fi 501.8Slukem ln -fs "${named_chrootdir}/var/run/named.pid" /var/run/named.pid 511.8Slukem ln -fs "${named_chrootdir}/var/run/ndc" /var/run/ndc 521.7Slukem 531.7Slukem # Change run_rc_commands()'s internal copy of $named_flags 541.7Slukem # 551.9Slukem rc_flags="-u named -g named -t ${named_chrootdir} $rc_flags" 561.7Slukem} 571.1Slukem 581.5Slukemload_rc_config $name 591.3Slukemrun_rc_command "$1" 60