summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2004-12-02 04:08:18 +0000
committerjlam <jlam@pkgsrc.org>2004-12-02 04:08:18 +0000
commitfdc4b334af9b50993aefbb97bd45681d90a3aa56 (patch)
tree5ee870ec928f76b3df65a7e2d6f42376ffd57d0a
parent222690ede7fb241120dcda7e7a433cd2afc50929 (diff)
downloadpkgsrc-fdc4b334af9b50993aefbb97bd45681d90a3aa56.tar.gz
proxsmtp 0.6 - SMTP proxy content filter
ProxSMTP is a flexible tool that allows you to reject, change or log email based on arbitrary critera. It accepts SMTP connections and forwards the SMTP commands and responses to another SMTP server. The 'DATA' email body is intercepted and filtered before forwarding. ProxSMTP can be used as a transparent proxy to filter an entire network's SMTP traffic at the router.
-rw-r--r--doc/CHANGES3
-rw-r--r--mail/proxsmtp/DESCR6
-rw-r--r--mail/proxsmtp/Makefile33
-rw-r--r--mail/proxsmtp/PLIST8
-rw-r--r--mail/proxsmtp/distinfo6
-rw-r--r--mail/proxsmtp/files/proxsmtpd.sh72
-rw-r--r--mail/proxsmtp/patches/patch-aa13
-rw-r--r--mail/proxsmtp/patches/patch-ab13
8 files changed, 153 insertions, 1 deletions
diff --git a/doc/CHANGES b/doc/CHANGES
index c77cd3f36c6..9c0ece3f2ee 100644
--- a/doc/CHANGES
+++ b/doc/CHANGES
@@ -1,4 +1,4 @@
-$NetBSD: CHANGES,v 1.8207 2004/12/02 00:09:45 dmcmahill Exp $
+$NetBSD: CHANGES,v 1.8208 2004/12/02 04:09:00 jlam Exp $
Changes to the packages collection and infrastructure in 2004:
@@ -5704,3 +5704,4 @@ Changes to the packages collection and infrastructure in 2004:
Updated gv to 3.6.0 [xtraeme 2004-12-01]
Updated wesnoth to 0.8.7 [wiz 2004-12-01]
Updated ng-spice to 15 [dmcmahill 2004-12-01]
+ Added proxsmtp-0.6 [jlam 2004-12-01]
diff --git a/mail/proxsmtp/DESCR b/mail/proxsmtp/DESCR
new file mode 100644
index 00000000000..34a1724c09e
--- /dev/null
+++ b/mail/proxsmtp/DESCR
@@ -0,0 +1,6 @@
+ProxSMTP is a flexible tool that allows you to reject, change or log
+email based on arbitrary critera. It accepts SMTP connections and
+forwards the SMTP commands and responses to another SMTP server. The
+'DATA' email body is intercepted and filtered before forwarding.
+ProxSMTP can be used as a transparent proxy to filter an entire
+network's SMTP traffic at the router.
diff --git a/mail/proxsmtp/Makefile b/mail/proxsmtp/Makefile
new file mode 100644
index 00000000000..008c449e6b9
--- /dev/null
+++ b/mail/proxsmtp/Makefile
@@ -0,0 +1,33 @@
+# $NetBSD: Makefile,v 1.1.1.1 2004/12/02 04:08:18 jlam Exp $
+
+DISTNAME= proxsmtp-0.6
+CATEGORIES= mail
+MASTER_SITES= http://memberwebs.com/nielsen/software/proxsmtp/
+
+MAINTAINER= jlam@NetBSD.org
+HOMEPAGE= http://memberwebs.com/nielsen/software/proxsmtp/
+COMMENT= SMTP proxy content filter
+
+USE_BUILDLINK3= yes
+GNU_CONFIGURE= yes
+USE_PKGINSTALL= yes
+
+EGDIR= ${PREFIX}/share/examples/${PKGBASE}
+CONF_FILES= ${EGDIR}/proxsmtpd.conf ${PKG_SYSCONFDIR}/proxsmtpd.conf
+RCD_SCRIPTS= proxsmtpd
+
+INSTALLATION_DIRS= share/examples/${PKGBASE}
+
+.include "../../mk/pthread.buildlink3.mk"
+
+post-install:
+ ${INSTALL_DATA_DIR} ${EGDIR}
+ for file in \
+ doc/proxsmtpd.conf \
+ scripts/add_header.sh \
+ scripts/spamassassin.sh; \
+ do \
+ ${INSTALL_DATA} ${WRKSRC}/$$file ${EGDIR}; \
+ done
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/mail/proxsmtp/PLIST b/mail/proxsmtp/PLIST
new file mode 100644
index 00000000000..00537f01dd5
--- /dev/null
+++ b/mail/proxsmtp/PLIST
@@ -0,0 +1,8 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2004/12/02 04:08:18 jlam Exp $
+man/man5/proxsmtpd.conf.5
+man/man8/proxsmtpd.8
+sbin/proxsmtpd
+share/examples/proxsmtp/add_header.sh
+share/examples/proxsmtp/proxsmtpd.conf
+share/examples/proxsmtp/spamassassin.sh
+@dirrm share/examples/proxsmtp
diff --git a/mail/proxsmtp/distinfo b/mail/proxsmtp/distinfo
new file mode 100644
index 00000000000..dd0f6e3b738
--- /dev/null
+++ b/mail/proxsmtp/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1.1.1 2004/12/02 04:08:18 jlam Exp $
+
+SHA1 (proxsmtp-0.6.tar.gz) = 463398ce22bd0641bd1de8a7879886dbb7b2842b
+Size (proxsmtp-0.6.tar.gz) = 151627 bytes
+SHA1 (patch-aa) = 09bba87bf89e0f3a54b68fc77922052f88563579
+SHA1 (patch-ab) = bf38136bc4fd91319a2d5c3069fcc3b980950902
diff --git a/mail/proxsmtp/files/proxsmtpd.sh b/mail/proxsmtp/files/proxsmtpd.sh
new file mode 100644
index 00000000000..7dc89bbff78
--- /dev/null
+++ b/mail/proxsmtp/files/proxsmtpd.sh
@@ -0,0 +1,72 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: proxsmtpd.sh,v 1.1.1.1 2004/12/02 04:08:18 jlam Exp $
+#
+# PROVIDE: proxsmtpd
+# REQUIRE: LOGIN
+# BEFORE: mail
+# KEYWORD: shutdown
+#
+
+if [ -f /etc/rc.subr ]; then
+ . /etc/rc.subr
+fi
+
+name="proxsmtpd"
+rcvar=$name
+command="@PREFIX@/sbin/${name}"
+
+start_precmd="proxsmtpd_prestart"
+stop_postcmd="proxsmtpd_poststop"
+
+user="nobody"
+tempdir="/tmp"
+pidfile=/var/run/${name}.pid
+conffile="@PKG_SYSCONFDIR@/${name}.conf"
+if [ -f "${conffile}" ]; then
+ user=`@AWK@ 'BEGIN {r = "nobody"}; /^User:/ {r = $2}; END {print r}' ${conffile}`
+ tempdir=`@AWK@ 'BEGIN {r = "/tmp"}; /^TempDirectory:/ {r = $2}; END {print r}' ${conffile}`
+
+ case ${tempdir} in
+ /tmp) ;;
+ *) pidfile="${tempdir}/${name}.pid" ;;
+ esac
+fi
+
+command_args="-p ${pidfile}"
+
+proxsmtpd_prestart()
+{
+ case ${tempdir} in
+ /tmp) ;;
+ *) if [ ! -d "${tempdir}" ]; then
+ @MKDIR@ -p ${tempdir}
+ fi
+ @CHOWN@ -R ${user} ${tempdir}
+ @CHMOD@ -R 0700 ${tempdir}
+ ;;
+ esac
+ @TOUCH@ ${pidfile}
+ @CHOWN@ ${user} ${pidfile}
+}
+
+proxsmtpd_poststop()
+{
+ @RM@ -f ${pidfile}
+ case ${tempdir} in
+ /tmp) ;;
+ *) @RMDIR@ -p ${tempdir} 2>/dev/null || @TRUE@
+ esac
+}
+
+if [ -f /etc/rc.subr -a -d /etc/rc.d -a -f /etc/rc.d/DAEMON ]; then
+ load_rc_config $name
+ run_rc_command "$1"
+else
+ if [ -f /etc/rc.conf ]; then
+ . /etc/rc.conf
+ fi
+ @ECHO@ -n " ${name}"
+ eval ${start_precmd}
+ ${command} ${proxsmtpd_flags} ${command_args}
+fi
diff --git a/mail/proxsmtp/patches/patch-aa b/mail/proxsmtp/patches/patch-aa
new file mode 100644
index 00000000000..59a3381defa
--- /dev/null
+++ b/mail/proxsmtp/patches/patch-aa
@@ -0,0 +1,13 @@
+$NetBSD: patch-aa,v 1.1.1.1 2004/12/02 04:08:18 jlam Exp $
+
+--- common/sock_any.h.orig 2004-09-03 20:34:42.000000000 -0400
++++ common/sock_any.h
+@@ -57,7 +57,7 @@ struct sockaddr_any
+ struct sockaddr_in6 in6;
+ #endif
+ } s;
+- size_t namelen;
++ socklen_t namelen;
+ };
+
+ #define SANY_ADDR(any) ((any).s.a)
diff --git a/mail/proxsmtp/patches/patch-ab b/mail/proxsmtp/patches/patch-ab
new file mode 100644
index 00000000000..cbd795e0fb9
--- /dev/null
+++ b/mail/proxsmtp/patches/patch-ab
@@ -0,0 +1,13 @@
+$NetBSD: patch-ab,v 1.1.1.1 2004/12/02 04:08:18 jlam Exp $
+
+--- common/smtppass.c.orig 2004-10-30 14:27:33.000000000 -0400
++++ common/smtppass.c
+@@ -586,7 +586,7 @@ static spctx_t* init_thread(int fd)
+ g_unique_id++;
+ sp_unlock();
+
+- sp_messagex(ctx, LOG_DEBUG, "processing %d on thread %x", fd, (int)pthread_self());
++ sp_messagex(ctx, LOG_DEBUG, "processing %d on thread %p", fd, pthread_self());
+
+ /* Connect to the outgoing server ... */
+ if(make_connections(ctx, fd) == -1)