#!/sbin/openrc-run # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # reconfig is what the upstream documentation suggests, so let's # provide it for compatibility. extra_started_commands="reload reconfig" : ${configfile:=/etc/ufdbGuard.conf} pidfile=/var/run/ufdbguard/ufdbguardd.pid command=/usr/libexec/ufdbguard/ufdbguardd command_arguments="-c ${configfile} ${FUDB_OPTS}" start_stop_daemon_args="--user ${UFDB_USER} --wait 1500" name="ufdbGuard Daemon" depend() { need localmount before squid use logger } get_config() { # Okay this sounds silly, but it is important because the settings # in ufdbGuard are quoted, so this unquotes them. eval echo $(awk '$1 == "'$1'" { print $2 }' "${configfile}") } gentables() { local dbhome=$(get_config dbhome) for gt in ${UFDB_GT} ; do [ -f "${dbhome}/${gt}/domains" ] || continue urls= [ -f "${dbhome}/${gt}/urls" ] && urls="${dbhome}/${gt}/urls" ebegin "Generating domainlist ${gt}" ufdbGenTable ${GENTABLE_OPTIONS} -t "${gt}" -d "${dbhome}/${gt}/domains" ${urls:+-u "${urls}"} eend $? done } start_pre() { gentables checkpath -d -m 0755 -o ${UFDB_USER} $(get_config logdir) "$(dirname "${pidfile}")" } reload() { if ! [ -f ${pidfile} ]; then eerror "Unable to find PID file for ufdbguardd, was it just started?" return 1 fi gentables ebegin "Reloading ufdbGuard" kill -HUP "$(cat ${pidfile})" eend $? "Failed to reload ufdbGuard" } reconfig() { reload }