#!/sbin/openrc-run # Copyright 1999-2011 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" depend() { need net before squid use logger } get_config() { awk '$1 == "'$1'" { print $2 }' "/etc/ufdbGuard.conf" } 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() { gentables local logdir=$(get_config logdir) if [ ! -d "${logdir}" ] ; then mkdir -p ${logdir} chown -R ${UFDB_USER} ${logdir} fi if [ ! -d /var/run/ufdbguardd ] ; then mkdir -p /var/run/ufdbguard chown -R ${UFDB_USER} /var/run/ufdbguard fi ebegin "Starting ufdbGuard" start-stop-daemon --start \ --user ${UFDB_USER} \ --wait 1500 \ --exec /usr/libexec/ufdbguard/ufdbguardd \ --pidfile /var/run/ufdbguard/ufdbguardd.pid -- \ -c /etc/ufdbGuard.conf ${UFDB_OPTS} eend $? "Failed to start ufdbGuard" } stop() { ebegin "Stopping ufdbGuard" start-stop-daemon --stop \ --exec /usr/libexec/ufdbguard/ufdbguardd \ --pidfile /var/run/ufdbguard/ufdbguardd.pid eend $? "Failed to stop ufdbGuard" } reload() { if ! [ -f /var/run/ufdbguard/ufdbguardd.pid ]; then eerror "Unable to find PID file for ufdbguardd, was it just started?" return 1 fi gentables ebegin "Reloading ufdbGuard" kill -HUP "$(cat /var/run/ufdbguard/ufdbguardd.pid)" eend $? "Failed to reload ufdbGuard" } reconfig() { reload }