1*325ce30bSDavid van Moolenbroek#!/bin/sh 2*325ce30bSDavid van Moolenbroek# 3*325ce30bSDavid van Moolenbroek# $NetBSD: syslogd,v 1.15 2004/10/11 13:29:52 lukem Exp $ 4*325ce30bSDavid van Moolenbroek# 5*325ce30bSDavid van Moolenbroek 6*325ce30bSDavid van Moolenbroek# PROVIDE: syslogd 7*325ce30bSDavid van Moolenbroek# REQUIRE: mountcritremote sysdb wscons 8*325ce30bSDavid van Moolenbroek# BEFORE: SERVERS 9*325ce30bSDavid van Moolenbroek 10*325ce30bSDavid van Moolenbroek$_rc_subr_loaded . /etc/rc.subr 11*325ce30bSDavid van Moolenbroek 12*325ce30bSDavid van Moolenbroekname="syslogd" 13*325ce30bSDavid van Moolenbroekrcvar=$name 14*325ce30bSDavid van Moolenbroekcommand="/usr/sbin/${name}" 15*325ce30bSDavid van Moolenbroekpidfile="/var/run/${name}.pid" 16*325ce30bSDavid van Moolenbroekrequired_files="/etc/syslog.conf" 17*325ce30bSDavid van Moolenbroekstart_precmd="syslogd_precmd" 18*325ce30bSDavid van Moolenbroekextra_commands="reload" 19*325ce30bSDavid van Moolenbroek 20*325ce30bSDavid van Moolenbroek_sockfile="/var/run/syslogd.sockets" 21*325ce30bSDavid van Moolenbroek 22*325ce30bSDavid van Moolenbroeksyslogd_precmd() 23*325ce30bSDavid van Moolenbroek{ 24*325ce30bSDavid van Moolenbroek # Transitional symlink for old binaries 25*325ce30bSDavid van Moolenbroek # 26*325ce30bSDavid van Moolenbroek # MINIX 3: unsupported, disabled 27*325ce30bSDavid van Moolenbroek #if [ ! -h /dev/log ]; then 28*325ce30bSDavid van Moolenbroek # ln -sf /var/run/log /dev/log 29*325ce30bSDavid van Moolenbroek #fi 30*325ce30bSDavid van Moolenbroek # MINIX 3: end 31*325ce30bSDavid van Moolenbroek 32*325ce30bSDavid van Moolenbroek # Create default list of syslog sockets to watch 33*325ce30bSDavid van Moolenbroek # 34*325ce30bSDavid van Moolenbroek ( umask 022 ; > $_sockfile ) 35*325ce30bSDavid van Moolenbroek 36*325ce30bSDavid van Moolenbroek # Find /etc/rc.d scripts with "chrootdir" rcorder(8) keyword, 37*325ce30bSDavid van Moolenbroek # and if $${app}_chrootdir is a directory, add appropriate 38*325ce30bSDavid van Moolenbroek # syslog socket to list of sockets to watch. 39*325ce30bSDavid van Moolenbroek # 40*325ce30bSDavid van Moolenbroek for _lr in $(rcorder -k chrootdir /etc/rc.d/*); do 41*325ce30bSDavid van Moolenbroek ( 42*325ce30bSDavid van Moolenbroek _l=${_lr##*/} 43*325ce30bSDavid van Moolenbroek load_rc_config ${_l} 44*325ce30bSDavid van Moolenbroek eval _ldir=\$${_l}_chrootdir 45*325ce30bSDavid van Moolenbroek if checkyesno $_l && [ -n "$_ldir" ]; then 46*325ce30bSDavid van Moolenbroek echo "${_ldir}/var/run/log" >> $_sockfile 47*325ce30bSDavid van Moolenbroek fi 48*325ce30bSDavid van Moolenbroek ) 49*325ce30bSDavid van Moolenbroek done 50*325ce30bSDavid van Moolenbroek 51*325ce30bSDavid van Moolenbroek # If other sockets have been provided, change run_rc_command()'s 52*325ce30bSDavid van Moolenbroek # internal copy of $syslogd_flags to force use of specific 53*325ce30bSDavid van Moolenbroek # syslogd sockets. 54*325ce30bSDavid van Moolenbroek # 55*325ce30bSDavid van Moolenbroek if [ -s $_sockfile ]; then 56*325ce30bSDavid van Moolenbroek echo "/var/run/log" >> $_sockfile 57*325ce30bSDavid van Moolenbroek rc_flags="-P $_sockfile $rc_flags" 58*325ce30bSDavid van Moolenbroek fi 59*325ce30bSDavid van Moolenbroek 60*325ce30bSDavid van Moolenbroek return 0 61*325ce30bSDavid van Moolenbroek} 62*325ce30bSDavid van Moolenbroek 63*325ce30bSDavid van Moolenbroekload_rc_config $name 64*325ce30bSDavid van Moolenbroekrun_rc_command "$1" 65