syslogd revision 103019
155682Smarkm#!/bin/sh 255682Smarkm# 355682Smarkm# $NetBSD: syslogd,v 1.12 2002/03/22 04:34:00 thorpej Exp $ 455682Smarkm# $FreeBSD: head/etc/rc.d/syslogd 103019 2002-09-06 16:18:05Z gordon $ 555682Smarkm# 655682Smarkm 755682Smarkm# PROVIDE: syslogd 855682Smarkm# REQUIRE: mountcritremote sysdb wscons 955682Smarkm# BEFORE: SERVERS 1055682Smarkm# KEYWORD: FreeBSD NetBSD 1155682Smarkm 1255682Smarkm. /etc/rc.subr 1355682Smarkm 1455682Smarkmname="syslogd" 1555682Smarkmrcvar=`set_rcvar` 1655682Smarkmcommand="/usr/sbin/${name}" 1755682Smarkmrequired_files="/etc/syslog.conf" 1855682Smarkmstart_precmd="syslogd_precmd" 1955682Smarkmextra_commands="reload" 2055682Smarkm 2155682Smarkm_sockfile="/var/run/syslogd.sockets" 2255682Smarkm 2355682Smarkmcase ${OSTYPE} in 2455682SmarkmFreeBSD) 2555682Smarkm pidfile="/var/run/syslog.pid" 2655682Smarkm evalargs="rc_flags=\"\`set_socketlist\` \$rc_flags\"" 2755682Smarkm altlog_proglist="named" 2855682Smarkm ;; 2955682SmarkmNetBSD) 3055682Smarkm pidfile="/var/run/${name}.pid" 3155682Smarkm evalargs="rc_flags=\"-P \$_sockfile \$rc_flags\"" 3255682Smarkm altlog_proglist="named ntpd" 3355682Smarkm ;; 3455682Smarkmesac 3555682Smarkm 36178825Sdfrsyslogd_precmd() 3755682Smarkm{ 3855682Smarkm # Transitional symlink for old binaries 3955682Smarkm # 4055682Smarkm if [ ! -h /dev/log ]; then 4155682Smarkm ln -sf /var/run/log /dev/log 4255682Smarkm fi 4355682Smarkm rm -f /var/run/log 4455682Smarkm 4555682Smarkm # Create default list of syslog sockets to watch 4655682Smarkm # 4755682Smarkm ( umask 022 ; > $_sockfile ) 4855682Smarkm 4955682Smarkm # If running named(8) or ntpd(8) chrooted, added appropriate 5055682Smarkm # syslog socket to list of sockets to watch. 5155682Smarkm # 5255682Smarkm for _l in $altlog_proglist; do 5355682Smarkm eval _ldir=\$${_l}_chrootdir 5455682Smarkm if checkyesno `set_rcvar $_l` && [ -n "$_ldir" ]; then 5555682Smarkm echo "${_ldir}/var/run/log" >> $_sockfile 5655682Smarkm fi 5755682Smarkm done 5855682Smarkm 5955682Smarkm # If other sockets have been provided, change run_rc_command()'s 6078527Sassar # internal copy of $syslogd_flags to force use of specific 6155682Smarkm # syslogd sockets. 6278527Sassar # 6355682Smarkm if [ -s $_sockfile ]; then 6455682Smarkm echo "/var/run/log" >> $_sockfile 6555682Smarkm eval $evalargs 6655682Smarkm fi 6755682Smarkm 6855682Smarkm return 0 6955682Smarkm} 7055682Smarkm 7155682Smarkmset_socketlist() 7255682Smarkm{ 7355682Smarkm _socketargs= 7455682Smarkm for _s in `cat $_sockfile | tr '\n' ' '` ; do 7555682Smarkm _socketargs="-l $_s $_socketargs" 7655682Smarkm done 7755682Smarkm echo $_socketargs 7855682Smarkm} 7955682Smarkmload_rc_config $name 8055682Smarkmrun_rc_command "$1" 8155682Smarkm