diff options
author | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
---|---|---|
committer | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
commit | 709c4d66e0b107ca606941b988bad717c0b45d9b (patch) | |
tree | 37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/havp | |
parent | fa6cd5a3b993f16c27de4ff82b42684516d433ba (diff) |
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.txt | 21 | ||||
-rw-r--r-- | recipes/havp/files/havp.init | 33 | ||||
-rw-r--r-- | recipes/havp/files/volatiles.05_havp | 5 | ||||
-rw-r--r-- | recipes/havp/havp-0.82/sysconfdir-is-etc.patch | 26 | ||||
-rw-r--r-- | recipes/havp/havp-0.86/reconfigure.patch | 164 | ||||
-rw-r--r-- | recipes/havp/havp.inc | 87 | ||||
-rw-r--r-- | recipes/havp/havp_0.82.bb | 5 | ||||
-rw-r--r-- | recipes/havp/havp_0.86.bb | 5 |
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" |