named revision 1.8
11.1Slukem#!/bin/sh 21.1Slukem# 31.8Slukem# $NetBSD: named,v 1.8 2001/10/11 07:10:08 lukem Exp $ 41.1Slukem# 51.1Slukem 61.1Slukem# PROVIDE: named 71.2Slukem# REQUIRE: SERVERS 81.1Slukem 91.1Slukem. /etc/rc.subr 101.1Slukem 111.1Slukemname="named" 121.6Slukemrcvar=$name 131.1Slukemcommand="/usr/sbin/${name}" 141.1Slukempidfile="/var/run/${name}.pid" 151.7Slukemstart_precmd="named_precmd" 161.7Slukemextra_commands="reload" 171.7Slukemrequired_dirs="$named_chrootdir" # if it is set, it must exist 181.7Slukem 191.7Slukemnamed_precmd() 201.7Slukem{ 211.7Slukem if [ -z "$named_chrootdir" ]; then 221.7Slukem return 0; 231.7Slukem fi 241.7Slukem 251.7Slukem # If running in a chroot cage, ensure that the appropriate files 261.7Slukem # exist inside the cage, as well as helper symlinks into the cage 271.7Slukem # from outside. 281.7Slukem # 291.7Slukem # As this is called after the is_running and required_dir checks 301.7Slukem # are made in run_rc_command(), we can safely assume ${named_chrootdir} 311.7Slukem # exists and named isn't running at this point (unless forcestart 321.7Slukem # is used). 331.7Slukem # 341.4Slukem 351.7Slukem if [ ! -x "${named_chrootdir}/usr/libexec/named-xfer" -o \ 361.7Slukem "${named_chrootdir}/usr/libexec/named-xfer" -ot \ 371.7Slukem /usr/libexec/named-xfer ]; then 381.7Slukem rm -f "${named_chrootdir}/usr/libexec/named-xfer" 391.7Slukem cp -p /usr/libexec/named-xfer "${named_chrootdir}/usr/libexec" 401.7Slukem fi 411.7Slukem if [ ! -c "${named_chrootdir}/dev/null" ]; then 421.7Slukem rm -f "${named_chrootdir}/dev/null" 431.7Slukem ( cd /dev ; /bin/pax -rw -pe null "${named_chrootdir}/dev" ) 441.7Slukem fi 451.7Slukem if [ -f /etc/localtime ]; then 461.7Slukem cmp -s /etc/localtime "${named_chrootdir}/etc/localtime" || \ 471.7Slukem cp -p /etc/localtime "${named_chrootdir}/etc/localtime" 481.7Slukem fi 491.8Slukem ln -fs "${named_chrootdir}/var/run/named.pid" /var/run/named.pid 501.8Slukem ln -fs "${named_chrootdir}/var/run/ndc" /var/run/ndc 511.7Slukem 521.7Slukem # Change run_rc_commands()'s internal copy of $named_flags 531.7Slukem # 541.7Slukem _flags="-u named -g named -t ${named_chrootdir} $_flags" 551.7Slukem} 561.1Slukem 571.5Slukemload_rc_config $name 581.3Slukemrun_rc_command "$1" 59