1*0696600cSBjoern A. Zeeb#!/bin/sh 2*0696600cSBjoern A. Zeeb# 3*0696600cSBjoern A. Zeeb# $FreeBSD$ 4*0696600cSBjoern A. Zeeb# 5*0696600cSBjoern A. Zeeb 6*0696600cSBjoern A. Zeeb# netif is required for lo0 because syslogd tries to open a local socket 7*0696600cSBjoern A. Zeeb# 8*0696600cSBjoern A. Zeeb# PROVIDE: syslogd 9*0696600cSBjoern A. Zeeb# REQUIRE: mountcritremote FILESYSTEMS newsyslog netif 10*0696600cSBjoern A. Zeeb# BEFORE: SERVERS 11*0696600cSBjoern A. Zeeb 12*0696600cSBjoern A. Zeeb. /etc/rc.subr 13*0696600cSBjoern A. Zeeb 14*0696600cSBjoern A. Zeebname="syslogd" 15*0696600cSBjoern A. Zeebdesc="System log daemon" 16*0696600cSBjoern A. Zeebrcvar="syslogd_enable" 17*0696600cSBjoern A. Zeebpidfile="/var/run/syslog.pid" 18*0696600cSBjoern A. Zeebcommand="/usr/sbin/${name}" 19*0696600cSBjoern A. Zeebrequired_files="/etc/syslog.conf" 20*0696600cSBjoern A. Zeebstart_precmd="syslogd_precmd" 21*0696600cSBjoern A. Zeebextra_commands="reload" 22*0696600cSBjoern A. Zeeb 23*0696600cSBjoern A. Zeebsockfile="/var/run/syslogd.sockets" 24*0696600cSBjoern A. Zeebevalargs="rc_flags=\"\`set_socketlist\` \$rc_flags\"" 25*0696600cSBjoern A. Zeeb 26*0696600cSBjoern A. Zeebsyslogd_precmd() 27*0696600cSBjoern A. Zeeb{ 28*0696600cSBjoern A. Zeeb local _l _ldir 29*0696600cSBjoern A. Zeeb 30*0696600cSBjoern A. Zeeb # Transitional symlink for old binaries 31*0696600cSBjoern A. Zeeb # 32*0696600cSBjoern A. Zeeb if [ ! -L /dev/log ] && ! check_jail jailed; then 33*0696600cSBjoern A. Zeeb ln -sf /var/run/log /dev/log 34*0696600cSBjoern A. Zeeb fi 35*0696600cSBjoern A. Zeeb rm -f /var/run/log 36*0696600cSBjoern A. Zeeb 37*0696600cSBjoern A. Zeeb # Create default list of syslog sockets to watch 38*0696600cSBjoern A. Zeeb # 39*0696600cSBjoern A. Zeeb ( umask 022 ; > $sockfile ) 40*0696600cSBjoern A. Zeeb 41*0696600cSBjoern A. Zeeb # If running named(8) or ntpd(8) chrooted, added appropriate 42*0696600cSBjoern A. Zeeb # syslog socket to list of sockets to watch. 43*0696600cSBjoern A. Zeeb # 44*0696600cSBjoern A. Zeeb for _l in $altlog_proglist; do 45*0696600cSBjoern A. Zeeb eval _ldir=\$${_l}_chrootdir 46*0696600cSBjoern A. Zeeb if checkyesno ${_l}_enable && [ -n "$_ldir" ]; then 47*0696600cSBjoern A. Zeeb echo "${_ldir}/var/run/log" >> $sockfile 48*0696600cSBjoern A. Zeeb fi 49*0696600cSBjoern A. Zeeb done 50*0696600cSBjoern A. Zeeb 51*0696600cSBjoern A. Zeeb # If other sockets have been provided, change run_rc_command()'s 52*0696600cSBjoern A. Zeeb # internal copy of $syslogd_flags to force use of specific 53*0696600cSBjoern A. Zeeb # syslogd sockets. 54*0696600cSBjoern A. Zeeb # 55*0696600cSBjoern A. Zeeb if [ -s $sockfile ]; then 56*0696600cSBjoern A. Zeeb echo "/var/run/log" >> $sockfile 57*0696600cSBjoern A. Zeeb eval $evalargs 58*0696600cSBjoern A. Zeeb fi 59*0696600cSBjoern A. Zeeb 60*0696600cSBjoern A. Zeeb return 0 61*0696600cSBjoern A. Zeeb} 62*0696600cSBjoern A. Zeeb 63*0696600cSBjoern A. Zeebset_socketlist() 64*0696600cSBjoern A. Zeeb{ 65*0696600cSBjoern A. Zeeb local _s _socketargs 66*0696600cSBjoern A. Zeeb 67*0696600cSBjoern A. Zeeb _socketargs= 68*0696600cSBjoern A. Zeeb for _s in `cat $sockfile | tr '\n' ' '` ; do 69*0696600cSBjoern A. Zeeb _socketargs="-l $_s $_socketargs" 70*0696600cSBjoern A. Zeeb done 71*0696600cSBjoern A. Zeeb echo $_socketargs 72*0696600cSBjoern A. Zeeb} 73*0696600cSBjoern A. Zeebload_rc_config $name 74*0696600cSBjoern A. Zeebrun_rc_command "$1" 75