xref: /freebsd/libexec/rc/rc.d/syslogd (revision f99f0ee14e3af81c23150a6a340259ca8a33d01a)
10696600cSBjoern A. Zeeb#!/bin/sh
20696600cSBjoern A. Zeeb#
30696600cSBjoern A. Zeeb#
40696600cSBjoern A. Zeeb
50696600cSBjoern A. Zeeb# netif is required for lo0 because syslogd tries to open a local socket
60696600cSBjoern A. Zeeb#
70696600cSBjoern A. Zeeb# PROVIDE: syslogd
80696600cSBjoern A. Zeeb# REQUIRE: mountcritremote FILESYSTEMS newsyslog netif
90696600cSBjoern A. Zeeb# BEFORE:  SERVERS
100696600cSBjoern A. Zeeb
110696600cSBjoern A. Zeeb. /etc/rc.subr
120696600cSBjoern A. Zeeb
130696600cSBjoern A. Zeebname="syslogd"
140696600cSBjoern A. Zeebdesc="System log daemon"
150696600cSBjoern A. Zeebrcvar="syslogd_enable"
160696600cSBjoern A. Zeebpidfile="/var/run/syslog.pid"
170696600cSBjoern A. Zeebcommand="/usr/sbin/${name}"
180696600cSBjoern A. Zeebrequired_files="/etc/syslog.conf"
190696600cSBjoern A. Zeebstart_precmd="syslogd_precmd"
200696600cSBjoern A. Zeebextra_commands="reload"
210696600cSBjoern A. Zeeb
220696600cSBjoern A. Zeebsockfile="/var/run/syslogd.sockets"
230696600cSBjoern A. Zeebevalargs="rc_flags=\"\`set_socketlist\` \$rc_flags\""
240696600cSBjoern A. Zeeb
25*f99f0ee1SAlexander Leidinger: ${syslogd_svcj_options:="net_basic"}
26*f99f0ee1SAlexander Leidinger
270696600cSBjoern A. Zeebsyslogd_precmd()
280696600cSBjoern A. Zeeb{
290696600cSBjoern A. Zeeb	local _l _ldir
300696600cSBjoern A. Zeeb
310696600cSBjoern A. Zeeb	#	Transitional symlink for old binaries
320696600cSBjoern A. Zeeb	#
330696600cSBjoern A. Zeeb	if [ ! -L /dev/log ] && ! check_jail jailed; then
340696600cSBjoern A. Zeeb		ln -sf /var/run/log /dev/log
350696600cSBjoern A. Zeeb	fi
360696600cSBjoern A. Zeeb	rm -f /var/run/log
370696600cSBjoern A. Zeeb
380696600cSBjoern A. Zeeb	#	Create default list of syslog sockets to watch
390696600cSBjoern A. Zeeb	#
400696600cSBjoern A. Zeeb	( umask 022 ; > $sockfile )
410696600cSBjoern A. Zeeb
420696600cSBjoern A. Zeeb	#	If running named(8) or ntpd(8) chrooted, added appropriate
430696600cSBjoern A. Zeeb	#	syslog socket to list of sockets to watch.
440696600cSBjoern A. Zeeb	#
450696600cSBjoern A. Zeeb	for _l in $altlog_proglist; do
460696600cSBjoern A. Zeeb		eval _ldir=\$${_l}_chrootdir
470696600cSBjoern A. Zeeb		if checkyesno ${_l}_enable && [ -n "$_ldir" ]; then
480696600cSBjoern A. Zeeb			echo "${_ldir}/var/run/log" >> $sockfile
490696600cSBjoern A. Zeeb		fi
500696600cSBjoern A. Zeeb	done
510696600cSBjoern A. Zeeb
520696600cSBjoern A. Zeeb	#	If other sockets have been provided, change run_rc_command()'s
530696600cSBjoern A. Zeeb	#	internal copy of $syslogd_flags to force use of specific
540696600cSBjoern A. Zeeb	#	syslogd sockets.
550696600cSBjoern A. Zeeb	#
560696600cSBjoern A. Zeeb	if [ -s $sockfile ]; then
570696600cSBjoern A. Zeeb		echo "/var/run/log" >> $sockfile
580696600cSBjoern A. Zeeb		eval $evalargs
590696600cSBjoern A. Zeeb	fi
600696600cSBjoern A. Zeeb
610696600cSBjoern A. Zeeb	return 0
620696600cSBjoern A. Zeeb}
630696600cSBjoern A. Zeeb
640696600cSBjoern A. Zeebset_socketlist()
650696600cSBjoern A. Zeeb{
660696600cSBjoern A. Zeeb	local _s _socketargs
670696600cSBjoern A. Zeeb
680696600cSBjoern A. Zeeb	_socketargs=
690696600cSBjoern A. Zeeb	for _s in `cat $sockfile | tr '\n' ' '` ; do
700696600cSBjoern A. Zeeb		_socketargs="-l $_s $_socketargs"
710696600cSBjoern A. Zeeb	done
720696600cSBjoern A. Zeeb	echo $_socketargs
730696600cSBjoern A. Zeeb}
740696600cSBjoern A. Zeebload_rc_config $name
750696600cSBjoern A. Zeebrun_rc_command "$1"
76