summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorJamie Lenehan <lenehan@twibble.org>2006-10-11 07:43:14 +0000
committerJamie Lenehan <lenehan@twibble.org>2006-10-11 07:43:14 +0000
commit50b7db3705352b328ab5b947a9448739ed8a4cff (patch)
tree28d811f0a35679fde4d118adaf50ac274820904d /packages
parent5bcecf82b1b20206879da6dc41c59968eea898d6 (diff)
clamsmtp 1.8: Add clamsmtp, an smtp proxy with virus scanning support
cia clamav (clamad-daemon). It has optional support transparent proxying as well.
Diffstat (limited to 'packages')
-rw-r--r--packages/clamsmtp/.mtn2git_empty0
-rw-r--r--packages/clamsmtp/clamsmtp_1.8.bb40
-rw-r--r--packages/clamsmtp/files/.mtn2git_empty0
-rw-r--r--packages/clamsmtp/files/clamsmtp.init33
-rw-r--r--packages/clamsmtp/files/doc.configure.txt15
-rw-r--r--packages/clamsmtp/files/update-config.patch23
6 files changed, 111 insertions, 0 deletions
diff --git a/packages/clamsmtp/.mtn2git_empty b/packages/clamsmtp/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/clamsmtp/.mtn2git_empty
diff --git a/packages/clamsmtp/clamsmtp_1.8.bb b/packages/clamsmtp/clamsmtp_1.8.bb
new file mode 100644
index 0000000000..38103de033
--- /dev/null
+++ b/packages/clamsmtp/clamsmtp_1.8.bb
@@ -0,0 +1,40 @@
+DESCRIPTION = "ClamSMTP is an SMTP filter that allows you to check for \
+viruses using the ClamAV anti-virus software. It accepts SMTP connections \
+and forwards the SMTP commands and responses to another SMTP server. The \
+'DATA' email body is intercepted and scanned before forwarding. ClamSMTP \
+has an optional transparent proxy mode."
+HOMEPAGE = "http://memberwebs.com/nielsen/software/clamsmtp/"
+SECTION = "network"
+LICENSE = "BSD"
+DEPENDS = "clamav"
+RDEPENDS_${PN} = "clamav-daemon"
+PR = "r1"
+
+SRC_URI = "http://memberwebs.com/nielsen/software/clamsmtp/clamsmtp-${PV}.tar.gz \
+ file://update-config.patch;patch=1 \
+ file://clamsmtp.init \
+ file://doc.configure.txt"
+
+inherit autotools update-rc.d
+
+do_configure () {
+ # no autoreconf please
+ aclocal
+ autoconf
+ libtoolize --force
+ oe_runconf
+}
+do_install_append () {
+ install -m 0755 -d ${D}${sysconfdir}/init.d \
+ ${D}${docdir}/clamsmtp
+ install -m 755 ${WORKDIR}/clamsmtp.init ${D}${sysconfdir}/init.d/clamsmtpd
+ install -m 644 doc/clamsmtpd.conf ${D}${sysconfdir}/clamsmtpd.conf
+ install -m 644 README ${D}${docdir}/clamsmtp
+ install -m 644 ${WORKDIR}/doc.configure.txt ${D}${docdir}/clamsmtp/configure.txt
+ install -m 644 scripts/virus_action.sh ${D}${docdir}/clamsmtp
+}
+
+CONFFILES_${PN} = "${sysconfdir}/clamsmtpd.conf"
+
+INITSCRIPT_NAME = "clamsmtpd"
+INITSCRIPT_PARAMS = "defaults 65 35"
diff --git a/packages/clamsmtp/files/.mtn2git_empty b/packages/clamsmtp/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/clamsmtp/files/.mtn2git_empty
diff --git a/packages/clamsmtp/files/clamsmtp.init b/packages/clamsmtp/files/clamsmtp.init
new file mode 100644
index 0000000000..7f30d1f724
--- /dev/null
+++ b/packages/clamsmtp/files/clamsmtp.init
@@ -0,0 +1,33 @@
+#!/bin/sh
+DAEMON=/usr/sbin/clamsmtpd
+CLAMSMTPD_CONFIG=/etc/clamsmtpd.conf
+PIDFILE=/var/run/clamav/clamsmtpd.pid
+NAME="clamsmtpd"
+DESC="ClamSMTPD"
+
+test -r /etc/default/$NAME && . /etc/default/$NAME
+test -x "$DAEMON" || exit 0
+test ! -r "$CLAMSMTPD_CONFIG" && exit 0
+
+case "$1" in
+ start)
+ echo "Starting $DESC: "
+ start-stop-daemon --oknodo -S -x $DAEMON -- -p $PIDFILE -f $CLAMSMTPD_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/packages/clamsmtp/files/doc.configure.txt b/packages/clamsmtp/files/doc.configure.txt
new file mode 100644
index 0000000000..b06487f31a
--- /dev/null
+++ b/packages/clamsmtp/files/doc.configure.txt
@@ -0,0 +1,15 @@
+The following items needs to be considered when using clamsmtp:
+
+1. Scanning is done via clamd (clamav-daemon)
+
+ The clamd daemon must be running for scanning to take place.
+
+2. 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 10025
+
+ where eth0 is the incomming port, and 10025 is the port that clamsmtpd
+ is running on. Also remember to enable transparent proxy support in the
+ configuration file.
diff --git a/packages/clamsmtp/files/update-config.patch b/packages/clamsmtp/files/update-config.patch
new file mode 100644
index 0000000000..dd67c39e19
--- /dev/null
+++ b/packages/clamsmtp/files/update-config.patch
@@ -0,0 +1,23 @@
+Run as the clamav user.
+Use the sock that clamd actually creates.
+
+--- clamsmtp-1.8/doc/clamsmtpd.conf 2006/10/11 06:43:31 1.1
++++ clamsmtp-1.8/doc/clamsmtpd.conf 2006/10/11 06:44:04
+@@ -29,7 +29,7 @@
+ #Listen: 0.0.0.0:10025
+
+ # The address clamd is listening on
+-#ClamAddress: /var/run/clamav/clamd
++ClamAddress: /var/run/clamav/clamd.ctl
+
+ # A header to add to all scanned email
+ #Header: X-Virus-Scanned: ClamAV using ClamSMTP
+@@ -47,7 +47,7 @@
+ #TransparentProxy: off
+
+ # User to switch to
+-#User: clamav
++User: clamav
+
+ # Virus actions: There's an option to run a script every time a virus is found.
+ # !IMPORTANT! This can open a hole in your server's security big enough to drive