84 lines
1.9 KiB
Plaintext
84 lines
1.9 KiB
Plaintext
#!/sbin/runscript
|
|
# Copyright 1999-2011 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Header: /var/cvsroot/gentoo-x86/net-proxy/ufdbguard/files/ufdb.initd,v 1.4 2011/09/14 11:37:04 flameeyes Exp $
|
|
|
|
# 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
|
|
}
|