[oe-commits] org.oe.dev p3scan 2.9.05d: Add p3scan, a transparent proxy for POP3, POP3S and SMTP

lenehan commit openembedded-commits at lists.openembedded.org
Fri Oct 13 08:02:08 UTC 2006


p3scan 2.9.05d: Add p3scan, a transparent proxy for POP3, POP3S and SMTP
with virus scanning support. Default configuration uses clamav directly via
libclamav.

Author: lenehan at openembedded.org
Branch: org.openembedded.dev
Revision: 05ae7db20f9eaa0dd28712c87eb37d67106003e2
ViewMTN: http://monotone.openembedded.org/revision.psp?id=05ae7db20f9eaa0dd28712c87eb37d67106003e2
Files:
1
packages/p3scan
packages/p3scan/files
packages/p3scan/files/doc.configure.txt
packages/p3scan/files/dont-search-use-include.patch
packages/p3scan/files/libtool-fix.patch
packages/p3scan/files/p3scan.conf
packages/p3scan/files/p3scan.init
packages/p3scan/files/volatiles.05_p3scan
packages/p3scan/p3scan_2.9.05d.bb
Diffs:

#
# mt diff -r24a7d797f3ee40f2ffdedf26c96734baa1f58fdc -r05ae7db20f9eaa0dd28712c87eb37d67106003e2
#
# 
# 
# add_dir "packages/p3scan"
# 
# add_dir "packages/p3scan/files"
# 
# add_file "packages/p3scan/files/doc.configure.txt"
#  content [d4fa364f72c07d3c6f0222337a9ef8f74b1d025f]
# 
# add_file "packages/p3scan/files/dont-search-use-include.patch"
#  content [97c963313c2935c54ebfabd58536ac0461d003cd]
# 
# add_file "packages/p3scan/files/libtool-fix.patch"
#  content [1bf08178fd0102e305e5897c460b79bcbf045c07]
# 
# add_file "packages/p3scan/files/p3scan.conf"
#  content [d5588fb5d7452907407c4f32535c14dc5205a2e3]
# 
# add_file "packages/p3scan/files/p3scan.init"
#  content [e0035fb32f7fa88c4d26e08d59ad32649b70f4d7]
# 
# add_file "packages/p3scan/files/volatiles.05_p3scan"
#  content [4cb749441df8803f25cd98fe7a5e675dacce0956]
# 
# add_file "packages/p3scan/p3scan_2.9.05d.bb"
#  content [88f8c5b24463cd5057d217a3e964d131c0e2add7]
# 
============================================================
--- packages/p3scan/files/doc.configure.txt	d4fa364f72c07d3c6f0222337a9ef8f74b1d025f
+++ packages/p3scan/files/doc.configure.txt	d4fa364f72c07d3c6f0222337a9ef8f74b1d025f
@@ -0,0 +1,15 @@
+The following items needs to be considered when using clamsmtp:
+
+1. 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 25 -j REDIRECT --to-ports 8110
+     iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 110 -j REDIRECT --to-ports 8110
+     iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 995 -j REDIRECT --to-ports 8110
+
+   where eth0 is the incomming port, and 8110 is the port that p3scan is
+   running on. Also remember to enable transparent proxy support in the
+   configuration file.
+
+   The ports are 25 for smtp, 110 for pop3 and 995 for pop3s.
============================================================
--- packages/p3scan/files/dont-search-use-include.patch	97c963313c2935c54ebfabd58536ac0461d003cd
+++ packages/p3scan/files/dont-search-use-include.patch	97c963313c2935c54ebfabd58536ac0461d003cd
@@ -0,0 +1,11 @@
+--- p3scan-2.9.05d/configure.in	2006/10/12 00:49:31	1.1
++++ p3scan-2.9.05d/configure.in	2006/10/12 00:49:41
+@@ -34,8 +34,6 @@
+ # Checks for libraries.
+ 
+ AC_CHECK_LIB(pthread, pthread_create,  [], [AC_MSG_ERROR([library 'pthread' is required!])])
+-LDFLAGS="$LDFLAGS -L/usr/lib/pthread"
+-CPPFLAGS="$CPPFLAGS -I/usr/include/pthread"
+ 
+ # Checks for header files.
+ AC_HEADER_DIRENT
============================================================
--- packages/p3scan/files/libtool-fix.patch	1bf08178fd0102e305e5897c460b79bcbf045c07
+++ packages/p3scan/files/libtool-fix.patch	1bf08178fd0102e305e5897c460b79bcbf045c07
@@ -0,0 +1,24 @@
+Use our own libtool that knows about cross compiling, not the libtool
+that is included.
+
+--- p3scan-2.9.05d/aclocal.m4	2006/10/12 04:17:35	1.1
++++ p3scan-2.9.05d/aclocal.m4	2006/10/12 04:18:28
+@@ -73,8 +73,7 @@
+ LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+ 
+ # Always use our own libtool.
+-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+-AC_SUBST(LIBTOOL)dnl
++LIBTOOL="$host_alias-libtool"
+ 
+ # Prevent multiple expansion
+ define([AC_PROG_LIBTOOL], [])
+@@ -140,7 +139,7 @@
+ rm="rm -f"
+ 
+ # Global variables:
+-default_ofile=libtool
++default_ofile==${host_alias}-libtool
+ can_build_shared=yes
+ 
+ # All known linkers require a `.a' archive for static linking (except MSVC,
============================================================
--- packages/p3scan/files/p3scan.conf	d5588fb5d7452907407c4f32535c14dc5205a2e3
+++ packages/p3scan/files/p3scan.conf	d5588fb5d7452907407c4f32535c14dc5205a2e3
@@ -0,0 +1,16 @@
+# See /usr/share/doc/p3scan/ and/or p3scan(8) for more information
+
+# Delete infected messages
+delete
+
+# Maximum # of connections we will handle at once.
+maxchilds = 10
+
+# Tcp port to listen on
+# port = 8110
+
+# Where to look for an email-template when a notification message has to be sent.
+# template = /etc/p3scan/p3scan-en.mail
+
+# The username the daemon should run as.
+user = mail
============================================================
--- packages/p3scan/files/p3scan.init	e0035fb32f7fa88c4d26e08d59ad32649b70f4d7
+++ packages/p3scan/files/p3scan.init	e0035fb32f7fa88c4d26e08d59ad32649b70f4d7
@@ -0,0 +1,33 @@
+#!/bin/sh
+DAEMON=/usr/sbin/p3scan
+P3SCAN_CONFIG=/etc/p3scan/p3scan.conf
+PIDFILE=/var/run/p3scan/p3scan.pid
+NAME="p3scan"
+DESC="P3SCAN"
+
+test -r /etc/default/p3scan && . /etc/default/p3scan
+test -x "$DAEMON" || exit 0
+test ! -r "$P3SCAN_CONFIG" && exit 0
+        
+case "$1" in
+  start)
+    echo "Starting $DESC: "
+    start-stop-daemon --oknodo -S -x $DAEMON -- -c $P3SCAN_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
============================================================
--- packages/p3scan/files/volatiles.05_p3scan	4cb749441df8803f25cd98fe7a5e675dacce0956
+++ packages/p3scan/files/volatiles.05_p3scan	4cb749441df8803f25cd98fe7a5e675dacce0956
@@ -0,0 +1,4 @@
+# <type> <owner> <group> <mode> <path> <linksource>
+d mail mail 0755 /var/run/p3scan none
+d mail mail 0755 /var/spool/p3scan/children none
+d mail mail 0755 /var/spool/p3scan/notify none
============================================================
--- packages/p3scan/p3scan_2.9.05d.bb	88f8c5b24463cd5057d217a3e964d131c0e2add7
+++ packages/p3scan/p3scan_2.9.05d.bb	88f8c5b24463cd5057d217a3e964d131c0e2add7
@@ -0,0 +1,85 @@
+DESCRIPTION = "A transparent proxy-server for email clients. It is designed \
+to enable scanning of incoming/outgoing email messages (POP3, POPSS and \
+SMTP) for Virus's, Worms, Trojans, Spam and harmfull attachments."
+HOMEPAGE = "http://p3scan.sourceforge.net/"
+SECTION = "network"
+LICENSE = "GPLv2"
+DEPENDS = "gmp bzip2 zlib clamav openssl"
+RDEPENDS_${PN} = "${PN}-templates-en"
+PR = "r0"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/p3scan/p3scan-2.9.05d.tar.gz \
+           file://libtool-fix.patch;patch=1 \
+           file://dont-search-use-include.patch;patch=1 \
+           file://p3scan.init \
+           file://p3scan.conf \
+           file://doc.configure.txt \
+           file://volatiles.05_p3scan"
+
+inherit autotools update-rc.d
+
+EXTRA_OECONF = "--with-clamav=${STAGING_LIBDIR}/.. \
+                --with-openssl=${STAGING_LIBDIR}/.. \
+                --disable-ripmime"
+
+# Full manual install because the autoconf installer puts in lots of
+# stuff we don't want and in lots of odd directories.
+do_install () {
+        install -m 0755 -d ${D}${sysconfdir}/init.d \
+                           ${D}${docdir}/p3scan \
+                           ${D}${mandir}/man8 \
+                           ${D}${sysconfdir}/p3scan \
+                           ${D}${sysconfdir}/default/volatiles \
+                           ${D}${sbindir}
+        install -m 755 ${WORKDIR}/p3scan.init ${D}${sysconfdir}/init.d/p3scan
+        install -m 755 ${WORKDIR}/p3scan.conf ${D}${sysconfdir}/p3scan/p3scan.conf
+        install -m 644 ${WORKDIR}/doc.configure.txt ${D}${docdir}/p3scan/configure.txt
+        install -m 755 src/.libs/p3scan ${D}${sbindir}
+        for i in etc/p3scan-*.mail \
+                 etc/p3scan.whitelist \
+                 etc/p3scan.blacklist; do
+          install -m 644 $i ${D}${sysconfdir}/p3scan/`basename $i`
+        done
+        for i in README ChangeLog README-ripmime README-emergency \
+                 spamfaq.html etc/p3scan.conf.sample p3scan.sh \
+                 AUTHORS CONTRIBUTERS; do
+          install -m 644 $i ${D}${docdir}/p3scan/`basename $i`
+        done
+        install -m 644 man/p3scan.man ${D}${mandir}/man8/p3scan.8
+        # We need some /var directories
+        for i in 05_p3scan; do
+          install -m 0644 ${WORKDIR}/volatiles.$i ${D}${sysconfdir}/default/volatiles/$i
+        done
+}
+
+PACKAGES = "${PN}-dbg ${PN}-doc \
+            ${PN}-templates-ru ${PN}-templates-en ${PN}-templates-pt-br \
+            ${PN}-templates-sp ${PN}-templates-ge ${PN}-templates-fr \
+            ${PN}-templates-nl ${PN}-templates-pl ${PN}-templates-it \
+            ${PN}"
+
+FILES_${PN} = "${sysconfdir}/p3scan/* \
+               ${sysconfdir}/init.d ${sysconfdir}/default ${sbindir}"
+FILES_${PN}-templates-ru = "${sysconfdir}/p3scan/p3scan-ru.mail"
+FILES_${PN}-templates-en = "${sysconfdir}/p3scan/p3scan-en.mail"
+FILES_${PN}-templates-pt-br = "${sysconfdir}/p3scan/p3scan-pt-br.mail"
+FILES_${PN}-templates-sp = "${sysconfdir}/p3scan/p3scan-sp.mail"
+FILES_${PN}-templates-ge = "${sysconfdir}/p3scan/p3scan-ge.mail"
+FILES_${PN}-templates-fr = "${sysconfdir}/p3scan/p3scan-fr.mail"
+FILES_${PN}-templates-nl = "${sysconfdir}/p3scan/p3scan-nl.mail"
+FILES_${PN}-templates-pl = "${sysconfdir}/p3scan/p3scan-pl.mail"
+FILES_${PN}-templates-it = "${sysconfdir}/p3scan/p3scan-it.mail"
+
+# Add havp's user and groups
+pkg_postinst_${PN} () {
+        grep -q mail: /etc/group || addgroup --system havp
+        grep -q mail: /etc/passwd || \
+            adduser --disabled-password --home=${localstatedir}/mail --system \
+                    --ingroup mail --no-create-home -g "Mail" mail
+        /etc/init.d/populate-volatile.sh
+}
+
+CONFFILES_${PN} = "${sysconfdir}/p3scan/p3scan.conf"
+
+INITSCRIPT_NAME = "p3scan"
+INITSCRIPT_PARAMS = "defaults 65 35"






More information about the Openembedded-commits mailing list