summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-proxy/havp/files/havp.initd')
-rw-r--r--net-proxy/havp/files/havp.initd59
1 files changed, 59 insertions, 0 deletions
diff --git a/net-proxy/havp/files/havp.initd b/net-proxy/havp/files/havp.initd
new file mode 100644
index 000000000000..44b00fcd0fbe
--- /dev/null
+++ b/net-proxy/havp/files/havp.initd
@@ -0,0 +1,59 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+ use clamd \
+ squid apache2 bfilter mman junkbuster oops polipo privoxy tinyproxy wwwoffled
+ #havp could be used in conjuction with any parent proxies enumerated above
+}
+
+get_havp_opt() {
+ eval HAVP_$1=`awk '/^[ \t]*'$1'[ \t]+/ { print $2; }' < /etc/havp/havp.config`
+}
+
+checkconfig() {
+ if [ ! -f /etc/havp/havp.config ] ; then
+ eerror "No /etc/havp/havp.config file exists!"
+ return 1
+ fi
+
+ local HAVP_USER
+ get_havp_opt USER
+ if [ -n "${HAVP_USER}" ] && ! getent passwd ${HAVP_USER} > /dev/null ; then
+ eerror "${HAVP_USER} user is missing!"
+ return 1
+ fi
+ local HAVP_GROUP
+ get_havp_opt GROUP
+ if [ -n "${HAVP_GROUP}" ] && ! getent group ${HAVP_GROUP} > /dev/null ; then
+ eerror "${HAVP_GROUP} group is missing!"
+ return 1
+ fi
+}
+
+
+start() {
+ checkconfig || return 1
+
+ checkpath --directory \
+ --owner "${HAVP_USER:-havp}:${HAVP_GROUP:-havp}" --mode 0755 /run/havp
+ checkpath --directory \
+ --owner "${HAVP_USER:-havp}:${HAVP_GROUP:-havp}" --mode 0700 /var/log/havp
+ checkpath --directory \
+ --owner "${HAVP_USER:-havp}:${HAVP_GROUP:-havp}" --mode 0750 /var/tmp/havp
+
+ ebegin "Starting HTTP AntiVirus Proxy"
+ start-stop-daemon --start --exec /usr/sbin/havp > /dev/null
+ eend $?
+}
+
+stop() {
+ local HAVP_PIDFILE
+ get_havp_opt PIDFILE
+
+ ebegin "Stopping HTTP AntiVirus Proxy"
+ start-stop-daemon --stop --pidfile=${HAVD_PIDFILE:-/var/run/havp/havp.pid}
+ eend $?
+}