e3c46a3332
with theirs, so this information doesn't need to be in the live file. Having it in our CVS history is enough.
73 lines
1.4 KiB
Bash
Executable File
73 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
# PROVIDE: syslogd
|
|
# REQUIRE: mountcritremote cleanvar newsyslog
|
|
# BEFORE: SERVERS
|
|
|
|
. /etc/rc.subr
|
|
|
|
name="syslogd"
|
|
rcvar=`set_rcvar`
|
|
pidfile="/var/run/syslog.pid"
|
|
command="/usr/sbin/${name}"
|
|
required_files="/etc/syslog.conf"
|
|
start_precmd="syslogd_precmd"
|
|
extra_commands="reload"
|
|
|
|
sockfile="/var/run/syslogd.sockets"
|
|
evalargs="rc_flags=\"\`set_socketlist\` \$rc_flags\""
|
|
altlog_proglist="named"
|
|
|
|
syslogd_precmd()
|
|
{
|
|
local _l _ldir
|
|
|
|
# Transitional symlink for old binaries
|
|
#
|
|
if [ ! -L /dev/log ]; then
|
|
ln -sf /var/run/log /dev/log
|
|
fi
|
|
rm -f /var/run/log
|
|
|
|
# Create default list of syslog sockets to watch
|
|
#
|
|
( umask 022 ; > $sockfile )
|
|
|
|
# If running named(8) or ntpd(8) chrooted, added appropriate
|
|
# syslog socket to list of sockets to watch.
|
|
#
|
|
for _l in $altlog_proglist; do
|
|
eval _ldir=\$${_l}_chrootdir
|
|
if checkyesno `set_rcvar $_l` && [ -n "$_ldir" ]; then
|
|
echo "${_ldir}/var/run/log" >> $sockfile
|
|
fi
|
|
done
|
|
|
|
# If other sockets have been provided, change run_rc_command()'s
|
|
# internal copy of $syslogd_flags to force use of specific
|
|
# syslogd sockets.
|
|
#
|
|
if [ -s $sockfile ]; then
|
|
echo "/var/run/log" >> $sockfile
|
|
eval $evalargs
|
|
fi
|
|
|
|
return 0
|
|
}
|
|
|
|
set_socketlist()
|
|
{
|
|
local _s _socketargs
|
|
|
|
_socketargs=
|
|
for _s in `cat $sockfile | tr '\n' ' '` ; do
|
|
_socketargs="-l $_s $_socketargs"
|
|
done
|
|
echo $_socketargs
|
|
}
|
|
load_rc_config $name
|
|
run_rc_command "$1"
|