aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/havp
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/havp
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
downloadopenembedded-709c4d66e0b107ca606941b988bad717c0b45d9b.tar.gz
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/havp')
-rw-r--r--recipes/havp/files/doc.configure.txt21
-rw-r--r--recipes/havp/files/havp.init33
-rw-r--r--recipes/havp/files/volatiles.05_havp5
-rw-r--r--recipes/havp/havp-0.82/sysconfdir-is-etc.patch26
-rw-r--r--recipes/havp/havp-0.86/reconfigure.patch164
-rw-r--r--recipes/havp/havp.inc87
-rw-r--r--recipes/havp/havp_0.82.bb5
-rw-r--r--recipes/havp/havp_0.86.bb5
8 files changed, 346 insertions, 0 deletions
diff --git a/recipes/havp/files/doc.configure.txt b/recipes/havp/files/doc.configure.txt
new file mode 100644
index 0000000000..f88fb405ec
--- /dev/null
+++ b/recipes/havp/files/doc.configure.txt
@@ -0,0 +1,21 @@
+The following items needs to be considered when using havp:
+
+1. Madatory locking
+
+ The filesystem on which SCANTEMPFILE lives must have madatory
+ locking enabled (mand option to mount). Note that nfs does not
+ support madatory locking.
+
+2. Scanning directory size
+
+ If you have limited space on the SCANTEMPFILE then you will need
+ to set MAXSCANSIZE.
+
+3. Transparent proxy
+
+ For transparent proxying you need an IP tables rule such as:
+
+ iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
+
+ where eth0 is the incomming port, and 8080 is the port that havp
+ is running on.
diff --git a/recipes/havp/files/havp.init b/recipes/havp/files/havp.init
new file mode 100644
index 0000000000..245a28e7bc
--- /dev/null
+++ b/recipes/havp/files/havp.init
@@ -0,0 +1,33 @@
+#!/bin/sh
+DAEMON=/usr/sbin/havp
+HAVP_CONFIG=/etc/havp/havp.config
+PIDFILE=/var/run/havp/havp.pid
+NAME="havp"
+DESC="HAVP"
+
+test -r /etc/default/havp && . /etc/default/havp
+test -x "$DAEMON" || exit 0
+test ! -r "$HAVP_CONFIG" && exit 0
+
+case "$1" in
+ start)
+ echo "Starting $DESC: "
+ start-stop-daemon --oknodo -S -x $DAEMON -- -c $HAVP_CONFIG
+ echo "$NAME."
+ ;;
+
+ stop)
+ echo "Stopping $DESC:"
+ start-stop-daemon -K -p $PIDFILE
+ ;;
+
+ restart)
+ $0 stop >/dev/null 2>&1
+ $0 start
+ ;;
+
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 0
+ ;;
+esac
diff --git a/recipes/havp/files/volatiles.05_havp b/recipes/havp/files/volatiles.05_havp
new file mode 100644
index 0000000000..3a9551fc1f
--- /dev/null
+++ b/recipes/havp/files/volatiles.05_havp
@@ -0,0 +1,5 @@
+# <type> <owner> <group> <mode> <path> <linksource>
+d havp havp 0775 /var/log/havp none
+d havp havp 0755 /var/lib/havp none
+d havp havp 0755 /var/run/havp none
+d havp havp 0755 /var/tmp/havp none
diff --git a/recipes/havp/havp-0.82/sysconfdir-is-etc.patch b/recipes/havp/havp-0.82/sysconfdir-is-etc.patch
new file mode 100644
index 0000000000..518a56f440
--- /dev/null
+++ b/recipes/havp/havp-0.82/sysconfdir-is-etc.patch
@@ -0,0 +1,26 @@
+--- havp-0.82/havp/default.h.in 2006/10/05 09:05:18 1.1
++++ havp-0.82/havp/default.h.in 2006/10/05 09:05:31
+@@ -51,7 +51,7 @@
+ "ENABLEAVAST","AVASTSOCKET","AVASTSERVER","AVASTPORT"
+ //SCANNERS
+
+-#define CONFIGFILE "/usr/local/etc/havp/havp.config"
++#define CONFIGFILE "/etc/havp/havp.config"
+
+
+ //##############################################################
+--- havp-0.82/havp/params.cpp 2006/10/05 09:04:45 1.1
++++ havp-0.82/havp/params.cpp 2006/10/05 09:05:06
+@@ -58,9 +58,9 @@
+ SetConfig("KEEPBACKTIME", "5");
+ SetConfig("TRICKLING", "30");
+ SetConfig("WHITELISTFIRST", "true");
+- SetConfig("WHITELIST", "/usr/local/etc/havp/whitelist");
+- SetConfig("BLACKLIST", "/usr/local/etc/havp/blacklist");
+- SetConfig("TEMPLATEPATH", "/usr/local/etc/havp/templates/en");
++ SetConfig("WHITELIST", "/etc/havp/whitelist");
++ SetConfig("BLACKLIST", "/etc/havp/blacklist");
++ SetConfig("TEMPLATEPATH", "/etc/havp/templates/en");
+ SetConfig("TEMPDIR", "/var/tmp");
+ SetConfig("SCANTEMPFILE", "/var/tmp/havp/havp-XXXXXX");
+ SetConfig("PIDFILE", "/var/run/havp/havp.pid");
diff --git a/recipes/havp/havp-0.86/reconfigure.patch b/recipes/havp/havp-0.86/reconfigure.patch
new file mode 100644
index 0000000000..6485efaa42
--- /dev/null
+++ b/recipes/havp/havp-0.86/reconfigure.patch
@@ -0,0 +1,164 @@
+Fix templates for autoreconf. Also copy non autoheader generated settings
+from default.h.in to defs.h and include that from the autogenerated
+default.h - maybe there's some way to stop autoreconf wiping them all out
+but I have no idea what that is. This at least makes it all work as
+expected.
+
+Index: havp-0.86/configure.in
+===================================================================
+--- havp-0.86.orig/configure.in 2007-03-17 23:34:01.000000000 +1100
++++ havp-0.86/configure.in 2007-05-16 11:17:27.000000000 +1000
+@@ -9,6 +9,7 @@
+ AC_PREFIX_DEFAULT(/usr/local)
+
+ AC_CONFIG_HEADER(havp/default.h)
++AH_BOTTOM([#include "defs.h"])
+
+ AC_ARG_ENABLE(locking,[ --disable-locking Disable mandatory locking (not needed on Linux/Solaris system)], enable_locking=$enableval, enable_locking=yes)
+ AC_ARG_ENABLE(ssl-tunnel,[ --enable-ssl-tunnel Enable SSL proxying (not scanned, only forwarded!)], enable_ssl_tunnel=$enableval, enable_ssl_tunnel=no)
+@@ -53,7 +54,7 @@
+ then
+ AC_MSG_RESULT([disabled, no dynamic scanning!])
+
+- AC_DEFINE(NOMAND)
++ AC_DEFINE(NOMAND, 1, [Enable mandatory locking])
+ else
+ if test "$mandatory" = "yes"
+ then
+@@ -78,7 +79,7 @@
+
+ if test "$enable_ssl_tunnel" = "yes"
+ then
+- AC_DEFINE(SSLTUNNEL)
++ AC_DEFINE(SSLTUNNEL, 1, [Enable SSL tunnel])
+ fi
+
+ AC_MSG_CHECKING(for ClamAV scanner library)
+@@ -118,7 +119,7 @@
+ LDFLAGS="$LDFLAGS -lclamav"
+
+ SCANNEROBJECTS="clamlibscanner.o"
+- AC_DEFINE(USECLAMLIB)
++ AC_DEFINE(USECLAMLIB, 1, [Enable clamav library])
+
+ AC_MSG_RESULT([found $clamversion in $clamprefix])
+ else
+@@ -136,7 +137,7 @@
+ SCANNEROBJECTS="$SCANNEROBJECTS trophiescanner.o"
+ LDFLAGS="-L/etc/iscan -lvsapi $LDFLAGS"
+
+- AC_DEFINE(USETROPHIE)
++ AC_DEFINE(USETROPHIE, 1, [Use Trend Micro scanner])
+ else
+ AC_MSG_RESULT([/etc/iscan/libvsapi.so not found, disabled])
+ fi
+@@ -151,14 +152,14 @@
+ test "$localstatedir" = '${prefix}/var' && localstatedir=/var || localstatedir=$localstatedir
+ sysconfdir=`eval echo $sysconfdir | $PERL -pe 's#/havp/?$##'`
+ localstatedir=`eval echo $localstatedir`
+-AC_DEFINE_UNQUOTED(CONFIGFILE, "$sysconfdir/havp/havp.config")
+-AC_DEFINE_UNQUOTED(WHITELISTFILE, "$sysconfdir/havp/whitelist")
+-AC_DEFINE_UNQUOTED(BLACKLISTFILE, "$sysconfdir/havp/blacklist")
+-AC_DEFINE_UNQUOTED(TEMPLATEPATH, "$sysconfdir/havp/templates/en")
+-AC_DEFINE_UNQUOTED(ACCESSLOG, "$localstatedir/log/havp/access.log")
+-AC_DEFINE_UNQUOTED(ERRORLOG, "$localstatedir/log/havp/error.log")
+-AC_DEFINE_UNQUOTED(SCANTEMPFILE, "$localstatedir/tmp/havp/havp-XXXXXX")
+-AC_DEFINE_UNQUOTED(PIDFILE, "$localstatedir/run/havp/havp.pid")
++AC_DEFINE_UNQUOTED([CONFIGFILE], "$sysconfdir/havp/havp.config", [Config file])
++AC_DEFINE_UNQUOTED([WHITELISTFILE], "$sysconfdir/havp/whitelist", [Whitelist file])
++AC_DEFINE_UNQUOTED([BLACKLISTFILE], "$sysconfdir/havp/blacklist", [Blkaclist file])
++AC_DEFINE_UNQUOTED([TEMPLATEPATH], "$sysconfdir/havp/templates/en", [Template path])
++AC_DEFINE_UNQUOTED([ACCESSLOG], "$localstatedir/log/havp/access.log", [Access log file])
++AC_DEFINE_UNQUOTED([ERRORLOG], "$localstatedir/log/havp/error.log", [Error log file])
++AC_DEFINE_UNQUOTED([SCANTEMPFILE], "$localstatedir/tmp/havp/havp-XXXXXX", [Scanner temp file])
++AC_DEFINE_UNQUOTED([PIDFILE], "$localstatedir/run/havp/havp.pid", [PID file])
+
+ AC_SUBST(SCANNEROBJECTS)
+ AC_SUBST(CFLAGS)
+Index: havp-0.86/havp/defs.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ havp-0.86/havp/defs.h 2007-05-16 11:19:59.000000000 +1000
+@@ -0,0 +1,82 @@
++#define VERSION "0.86"
++
++//##############################################################
++//Define if you want to rewrite a URL
++//#define REWRITE URLRewrite["havp"]="www.server-side.de"; URLRewrite["www.havp"]="www.server-side.de";
++
++//##############################################################
++//Parameters in Configurationfile
++
++#define CONFIGPARAMS \
++ "WHITELISTFIRST","TEMPDIR","RANGE","USER","GROUP", \
++ "SERVERNUMBER","PORT","BIND_ADDRESS","SOURCE_ADDRESS","KEEPBACKBUFFER", \
++ "KEEPBACKTIME","TRICKLING","MAXSCANSIZE","WHITELIST","BLACKLIST","PIDFILE", \
++ "DAEMON","TRANSPARENT","LOG_OKS","ACCESSLOG","ERRORLOG","LOGLEVEL", \
++ "USESYSLOG","SYSLOGNAME","SYSLOGFACILITY","SYSLOGLEVEL","IGNOREVIRUS", \
++ "DISPLAYINITIALMESSAGES","DBRELOAD","SCANTEMPFILE","TEMPLATEPATH", \
++ "PARENTPROXY","PARENTPORT","MAXSERVERS","FORWARDED_IP","X_FORWARDED_FOR","FAILSCANERROR", \
++ "MAXDOWNLOADSIZE","SCANNERTIMEOUT","STREAMUSERAGENT","STREAMSCANSIZE","SCANIMAGES", \
++ "ENABLECLAMLIB","CLAMDBDIR","CLAMBLOCKBROKEN","CLAMBLOCKMAX","CLAMBLOCKENCRYPTED", \
++ "CLAMMAXFILES","CLAMMAXFILESIZE","CLAMMAXRECURSION","CLAMMAXRATIO", \
++ "ENABLEAVG","AVGSERVER","AVGPORT", \
++ "ENABLEAVESERVER","AVESOCKET", \
++ "ENABLEFPROT","FPROTSERVER","FPROTPORT", \
++ "ENABLETROPHIE","TROPHIEMAXFILES","TROPHIEMAXFILESIZE","TROPHIEMAXRATIO", \
++ "ENABLENOD32","NOD32SOCKET","NOD32VERSION", \
++ "ENABLECLAMD","CLAMDSOCKET","CLAMDSERVER","CLAMDPORT", \
++ "ENABLESOPHIE","SOPHIESOCKET", \
++ "ENABLEAVAST","AVASTSOCKET","AVASTSERVER","AVASTPORT", \
++ "ENABLEARCAVIR","ARCAVIRSOCKET"
++//SCANNERS
++
++
++//##############################################################
++//Configuration not setable in havp.config
++
++//Time format
++#define TIMEFORMAT "%d/%m/%Y %H:%M:%S "
++
++//CONNTIMEOUT in seconds
++#define CONNTIMEOUT 60
++
++//RECVTIMEOUT in seconds
++#define RECVTIMEOUT 120
++
++//SENDTIMEOUT in seconds
++#define SENDTIMEOUT 120
++
++//Maximum client connection waiting for accept
++#define MAXCONNECTIONS 1024
++
++//Maximum bytes received in one request
++#define MAXRECV 14600
++
++//Maximum logfile line length
++#define STRINGLENGTH 1000
++
++//Maximum hardlock size - do not change
++#define MAXFILELOCKSIZE 1000000000
++
++//Valid Methods
++#define METHODS \
++ "GET","POST","HEAD","CONNECT","PUT","TRACE","PURGE","OPTIONS","UNLOCK", \
++ "SEARCH","PROPFIND","BPROPFIND","PROPPATCH","BPROPPATCH","MKCOL","COPY", \
++ "BCOPY","MOVE","LOCK","BMOVE","DELETE","BDELETE","SUBSCRIBE","UNSUBSCRIBE", \
++ "POLL","REPORT","ERROR","NONE"
++
++//Maximum length of SCANTEMPFILE
++#define MAXSCANTEMPFILELENGTH 200
++
++//Maximum length of http headers
++#define MAXHTTPHEADERLENGTH 20480
++
++// HTML Error String
++#define ERROR_DNS "dns.html"
++#define VIRUS_FOUND "virus.html"
++#define ERROR_SCANNER "scanner.html"
++#define ERROR_DOWN "down.html"
++#define ERROR_INVALID "invalid.html"
++#define ERROR_REQUEST "request.html"
++#define ERROR_BODY "error.html"
++#define ERROR_BLACKLIST "blacklist.html"
++#define ERROR_MAXSIZE "maxsize.html"
diff --git a/recipes/havp/havp.inc b/recipes/havp/havp.inc
new file mode 100644
index 0000000000..e0f4849ecf
--- /dev/null
+++ b/recipes/havp/havp.inc
@@ -0,0 +1,87 @@
+DESCRIPTION = "HAVP (HTTP Antivirus Proxy) is a proxy with a ClamAV \
+anti-virus scanner. The main aims are continuous, non-blocking \
+downloads and smooth scanning of dynamic and password protected HTTP \
+traffic. Havp antivirus proxy has a parent and transparent proxy \
+mode. It can be used with squid or standalone."
+HOMEPAGE = "http://www.server-side.de"
+SECTION = "network"
+LICENSE = "GPLv2"
+DEPENDS = "clamav"
+RDEPENDS_${PN} += "${PN}-templates-css2 ${PN}-templates-en"
+
+SRC_URI = "http://www.server-side.de/download/havp-${PV}.tar.gz \
+ file://havp.init \
+ file://doc.configure.txt \
+ file://volatiles.05_havp"
+
+inherit autotools update-rc.d
+
+EXTRA_OECONF = "--with-scanner=libclamav"
+
+do_configure_append () {
+ # Change the paths for /usr/local/etc (patch was applied to change them)
+ # And enable clamav as the scanner that is to be used.
+ sed -e 's:ENABLECLAMLIB false:ENABLECLAMLIB true:' \
+ -e 's:/usr/local/etc:/etc:' \
+ etc/havp/havp.config > etc/havp/havp.config.oe
+}
+do_install () {
+ install -m 0755 -d ${D}${sbindir} ${D}${sysconfdir}/havp \
+ ${D}${sysconfdir}/init.d ${D}${docdir}/havp \
+ ${D}${sysconfdir}/default/volatiles
+ install -m 755 havp/havp ${D}${sbindir}
+ install -m 755 ${WORKDIR}/havp.init ${D}${sysconfdir}/init.d/havp
+ install -m 755 INSTALL ${D}${docdir}/havp
+ install -m 755 ${WORKDIR}/doc.configure.txt ${D}${docdir}/havp/configure.txt
+ install -m 644 etc/havp/havp.config.oe ${D}${sysconfdir}/havp/havp.config
+ install -m 644 etc/havp/havp.config.oe ${D}${docdir}/havp/havp.config.default
+
+ for i in whitelist blacklist; do
+ install -m 644 etc/havp/$i ${D}${sysconfdir}/havp/$i
+ done
+ cp -r etc/havp/templates ${D}${sysconfdir}/havp
+ chmod -R a+rX ${D}${sysconfdir}/havp/templates
+
+ # We need some /var directories
+ for i in 05_havp; do
+ install -m 0644 ${WORKDIR}/volatiles.$i ${D}${sysconfdir}/default/volatiles/$i
+ done
+}
+
+PACKAGES = "${PN}-dbg ${PN}-doc \
+ ${PN}-templates-br ${PN}-templates-css2 ${PN}-templates-de \
+ ${PN}-templates-en ${PN}-templates-es ${PN}-templates-fr \
+ ${PN}-templates-it ${PN}-templates-nl ${PN}-templates-pf \
+ ${PN}-templates-pl ${PN}-templates-ru ${PN}-templates-sv \
+ ${PN}"
+
+FILES_${PN} = "${sysconfdir}/havp/blacklist ${sysconfdir}/havp/whitelist \
+ ${sysconfdir}/havp/havp.config* \
+ ${sysconfdir}/init.d ${sysconfdir}/default ${sbindir}/*"
+FILES_${PN}-templates-br = "${sysconfdir}/havp/templates/br"
+FILES_${PN}-templates-css2 = "${sysconfdir}/havp/templates/css2"
+FILES_${PN}-templates-de = "${sysconfdir}/havp/templates/de"
+FILES_${PN}-templates-en = "${sysconfdir}/havp/templates/en"
+FILES_${PN}-templates-es = "${sysconfdir}/havp/templates/es"
+FILES_${PN}-templates-fr = "${sysconfdir}/havp/templates/fr"
+FILES_${PN}-templates-it = "${sysconfdir}/havp/templates/it"
+FILES_${PN}-templates-nl = "${sysconfdir}/havp/templates/nl"
+FILES_${PN}-templates-pf = "${sysconfdir}/havp/templates/pf"
+FILES_${PN}-templates-pl = "${sysconfdir}/havp/templates/pl"
+FILES_${PN}-templates-ru = "${sysconfdir}/havp/templates/ru"
+FILES_${PN}-templates-sv = "${sysconfdir}/havp/templates/sv"
+
+# Add havp's user and groups
+pkg_postinst_${PN} () {
+ grep -q havp: /etc/group || addgroup havp
+ grep -q havp: /etc/passwd || \
+ adduser --disabled-password --home=${localstatedir}/lib/havp/ --system \
+ --ingroup havp --no-create-home -g "HAVP" havp
+ /etc/init.d/populate-volatile.sh update
+}
+
+CONFFILES_${PN} = "${sysconfdir}/havp/havp.config \
+ ${sysconfdir}/havp/blacklist ${sysconfdir}/havp/whitelist"
+
+INITSCRIPT_NAME = "havp"
+INITSCRIPT_PARAMS = "defaults 55 45"
diff --git a/recipes/havp/havp_0.82.bb b/recipes/havp/havp_0.82.bb
new file mode 100644
index 0000000000..447c37b01b
--- /dev/null
+++ b/recipes/havp/havp_0.82.bb
@@ -0,0 +1,5 @@
+require havp.inc
+
+PR = "r3"
+
+SRC_URI_append += " file://sysconfdir-is-etc.patch;patch=1"
diff --git a/recipes/havp/havp_0.86.bb b/recipes/havp/havp_0.86.bb
new file mode 100644
index 0000000000..c1e392e80f
--- /dev/null
+++ b/recipes/havp/havp_0.86.bb
@@ -0,0 +1,5 @@
+require havp.inc
+
+PR = "r1"
+
+SRC_URI_append += " file://reconfigure.patch;patch=1"