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