summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-proxy/ufdbguard/files/ufdb.initd')
-rw-r--r--net-proxy/ufdbguard/files/ufdb.initd83
1 files changed, 83 insertions, 0 deletions
diff --git a/net-proxy/ufdbguard/files/ufdb.initd b/net-proxy/ufdbguard/files/ufdb.initd
new file mode 100644
index 000000000000..88da66136aab
--- /dev/null
+++ b/net-proxy/ufdbguard/files/ufdb.initd
@@ -0,0 +1,83 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# 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
+}