diff options
-rw-r--r-- | mail/Makefile | 1 | ||||
-rw-r--r-- | mail/p5-qpsmtpd/Makefile | 76 | ||||
-rw-r--r-- | mail/p5-qpsmtpd/distinfo | 3 | ||||
-rw-r--r-- | mail/p5-qpsmtpd/files/qpsmtpd.sh.in | 78 | ||||
-rw-r--r-- | mail/p5-qpsmtpd/pkg-descr | 14 | ||||
-rw-r--r-- | mail/p5-qpsmtpd/pkg-plist | 92 |
6 files changed, 264 insertions, 0 deletions
diff --git a/mail/Makefile b/mail/Makefile index 4ece946f3079..e611ab2d1b91 100644 --- a/mail/Makefile +++ b/mail/Makefile @@ -382,6 +382,7 @@ SUBDIR += p5-URI-imaps SUBDIR += p5-WWW-GMail SUBDIR += p5-WWW-Hotmail + SUBDIR += p5-qpsmtpd SUBDIR += p5-vpopmail SUBDIR += pantomime SUBDIR += pathalias diff --git a/mail/p5-qpsmtpd/Makefile b/mail/p5-qpsmtpd/Makefile new file mode 100644 index 000000000000..ecfdec6f2f2a --- /dev/null +++ b/mail/p5-qpsmtpd/Makefile @@ -0,0 +1,76 @@ +# New ports collection makefile for: qpsmtpd +# Date created: 1 January 2007 +# Whom: Zane C. Bowers +# +# $FreeBSD$ +# + +PORTNAME= qpsmtpd +PORTVERSION= 0.32 +CATEGORIES= mail +DISTNAME= qpsmtpd-${PORTVERSION} + +MAINTAINER= vvelox@vvelox.net +COMMENT= A flexible SMTP daemon written in Perl and featuring a plugin API + +#none for Net::Milter yet... meaning the milter plugin does not work and thus deleted when installed +#none for Clamd yet... meaning the plugins/virus/clamd does not work and thus deleted when installed +RUN_DEPENDS= ${SITE_PERL}/${PERL_ARCH}/Net/DNS.pm:${PORTSDIR}/dns/p5-Net-DNS \ + ${SITE_PERL}/${PERL_ARCH}/MIME/Base64.pm:${PORTSDIR}/converters/p5-MIME-Base64 \ + ${SITE_PERL}/Mail/Header.pm:${PORTSDIR}/mail/p5-Mail-Tools \ + ${SITE_PERL}/IO/Socket/SSL.pm:${PORTSDIR}/security/p5-IO-Socket-SSL \ + spamd:${PORTSDIR}/mail/p5-Mail-SpamAssassin \ + ${SITE_PERL}/${PERL_ARCH}/Net/DNS/Resolver.pm:${PORTSDIR}/dns/p5-Net-DNS \ + ${SITE_PERL}/Date/Parse.pm:${PORTSDIR}/devel/p5-TimeDate \ + ${SITE_PERL}/File/Temp.pm:${PORTSDIR}/devel/p5-File-Temp \ + ${SITE_PERL}/${PERL_ARCH}/Geo/IP.pm:${PORTSDIR}/net/p5-Geo-IP \ + ${SITE_PERL}/Net/LDAP.pm:${PORTSDIR}/net/p5-perl-ldap \ + ${SITE_PERL}/Digest/HMAC_MD5.pm:${PORTSDIR}/security/p5-Digest-HMAC + +MASTER_SITES= http://smtpd.develooper.com/files/ + +PKGNAMEPREFIX= p5- + +WRKSRC= ${WRKDIR}/${DISTNAME} + +PERL_CONFIGURE= yes + +MAN3= Qpsmtpd::Constants.3 \ + Qpsmtpd::DSN.3 \ + Qpsmtpd::Auth.3 \ + Qpsmtpd::Transaction.3 \ + Qpsmtpd::Address.3 \ + Qpsmtpd.3 \ + Qpsmtpd::Connection.3 \ + Qpsmtpd::Postfix.3 \ + Apache::Qpsmtpd.3 + +USE_RC_SUBR= qpsmtpd.sh + +pre-configure: + @${RM} -v ${WRKSRC}/plugins/milter + @${RM} -v ${WRKSRC}/plugins/virus/clamdscan + +post-install: + @${MKDIR} -v ${PREFIX}/share/examples/${PORTNAME} + @${CP} -v ${WRKSRC}/config.sample/* ${PREFIX}/share/examples/${PORTNAME} + @${MKDIR} -v ${PREFIX}/share/${PORTNAME} + @${MKDIR} -v ${PREFIX}/share/${PORTNAME}/plugins + @${CP} -vr ${WRKSRC}/plugins/ ${PREFIX}/share/${PORTNAME}/plugins + @${ECHO_MSG} + @${ECHO_MSG} + @${ECHO_MSG} '*****************************************************************' + @${ECHO_MSG} + @${ECHO_MSG} "Please read http://wiki.qpsmtpd.org/ for more info about" + @${ECHO_MSG} "installation." + @${ECHO_MSG} + @${ECHO_MSG} "The example config can be found in "${PREFIX}"/share/examples/"${PORTNAME}"/" + @${ECHO_MSG} + @${ECHO_MSG} "The plugins can be found in "${PREFIX}"/share/"${PORTNAME}"/plugins/" + @${ECHO_MSG} + @${ECHO_MSG} "This port does also not make any assumptions about what user you" + @${ECHO_MSG} "wish to use or install location." + @${ECHO_MSG} + @${ECHO_MSG} '*****************************************************************' + +.include <bsd.port.mk> diff --git a/mail/p5-qpsmtpd/distinfo b/mail/p5-qpsmtpd/distinfo new file mode 100644 index 000000000000..d967bcb282e1 --- /dev/null +++ b/mail/p5-qpsmtpd/distinfo @@ -0,0 +1,3 @@ +MD5 (qpsmtpd-0.32.tar.gz) = ec4622643b7fd504676dadd3b238bcf5 +SHA256 (qpsmtpd-0.32.tar.gz) = 21ff3cd3a929dbcfe694fdfd6cb7f581e8e4dfcd3e56f0449c90a218200d1e0e +SIZE (qpsmtpd-0.32.tar.gz) = 108080 diff --git a/mail/p5-qpsmtpd/files/qpsmtpd.sh.in b/mail/p5-qpsmtpd/files/qpsmtpd.sh.in new file mode 100644 index 000000000000..52124aada89a --- /dev/null +++ b/mail/p5-qpsmtpd/files/qpsmtpd.sh.in @@ -0,0 +1,78 @@ +#!/bin/sh + +# PROVIDE: qpsmtpd +# REQUIRE: NETWORKING SERVERS +# BEFORE: securelevel + +#variables +#qpsmtpd_user = the user to run qpsmtpd-forkserver under +#qpsmtpd_group = the group the pid dir will be chowned to +#qpsmtpd_port = the port it should listen on +#qpsmtpd_max_per_ip = max connections per IP +#qpsmtpd_max_connections = maximum total connections +#qpsmtpd_listen_on = IP to listen on + +. "/etc/rc.subr" + +name="qpsmtpd" +rcvar=`set_rcvar` + +command="%%PREFIX%%/bin/qpsmtpd-forkserver" +pidfile="/var/run/qpsmtpd/qpsmtpd.pid" + +start_precmd="start_precmd" +start_cmd="start_cmd" +stop_cmd="stop_cmd" + +start_precmd() +{ + #exits if no user is specified + if [ -z $qpsmtpd_user ]; then + echo "qpsmtpd_user not set" + exit 1 + fi + + #exits if no group is specified + if [ -z $qpsmtpd_group ]; then + echo "qpsmtpd_group not set" + exit 1 + fi + + #sets it to the default if the port is not specified + if [ -z $qpsmtpd_port ]; then + qpsmtpd_port="2525" + fi + + #set it to the default max per ip + if [ -z $qpsmtpd_max_per_ip ]; then + qpsmtpd_max_per_ip="5" + fi + + #set it do the max number of connections total + if [ -z $qpsmtpd_max_connections ]; then + qpsmtpd_max_connections="15" + fi + + #set the default listen on to everything + if [ -z $qpsmtpd_listen_on ]; then + qpsmtpd_listen_on="0.0.0.0" + fi + + if [ ! -d /var/run/qpsmtpd/ ] ; then + mkdir /var/run/qpsmtpd + fi + + chown $qpsmtpd_user:$qpsmtpd_group /var/run/qpsmtpd +} + +start_cmd() +{ + eval $command -p $qpsmtpd_port -c $qpsmtpd_max_connections -u $qpsmtpd_users -m $qpsmtpd_max_per_ip -l $qpsmtpd_listen_on --pid-file $pidfile +} + +stop_cmd() +{ + kill `cat $pidfile` +} + +run_rc_command "$1" diff --git a/mail/p5-qpsmtpd/pkg-descr b/mail/p5-qpsmtpd/pkg-descr new file mode 100644 index 000000000000..5b68995d900f --- /dev/null +++ b/mail/p5-qpsmtpd/pkg-descr @@ -0,0 +1,14 @@ +Qpsmtpd started as a replacement daemon for the SMTP receiver (qmail-smtpd) +from the qmail mail transport agent (MTA). qmail-smtpd has a number of +shortcomings (e.g. being unable to check the validity of a recipient mail +address) and is written in C which makes it burdensome to modify and extend. +Qpsmtpd, on the other hand, is written in pure perl and can be customized +easily. It consists of a core that implements a complete SMTP server, and a +number of plugins/modules which control the operations. Such plugins +include plugins to check the recipient and sender as well as plugins for +virus scanning, spam checking, blocking lists (dns and rhs), AUTH and TLS. +Qpsmtpd can not only be used with qmail but also with e.g. postfix and +exim. It can also write messages to a Maildir or forward it to a remote +host without buffering. + +WWW: http://smtpd.develooper.com/ diff --git a/mail/p5-qpsmtpd/pkg-plist b/mail/p5-qpsmtpd/pkg-plist new file mode 100644 index 000000000000..0e74f2e9e572 --- /dev/null +++ b/mail/p5-qpsmtpd/pkg-plist @@ -0,0 +1,92 @@ +bin/qpsmtpd-forkserver +bin/qpsmtpd +%%SITE_PERL%%/Qpsmtpd.pm +%%SITE_PERL%%/Qpsmtpd/SelectServer.pm +%%SITE_PERL%%/Qpsmtpd/Utils.pm +%%SITE_PERL%%/Qpsmtpd/TcpServer.pm +%%SITE_PERL%%/Qpsmtpd/Constants.pm +%%SITE_PERL%%/Qpsmtpd/Auth.pm +%%SITE_PERL%%/Qpsmtpd/DSN.pm +%%SITE_PERL%%/Qpsmtpd/Transaction.pm +%%SITE_PERL%%/Qpsmtpd/Address.pm +%%SITE_PERL%%/Qpsmtpd/Plugin.pm +%%SITE_PERL%%/Qpsmtpd/SMTP.pm +%%SITE_PERL%%/Qpsmtpd/Postfix.pm +%%SITE_PERL%%/Qpsmtpd/Connection.pm +%%SITE_PERL%%/Apache/Qpsmtpd.pm +%%SITE_PERL%%/%%PERL_ARCH%%/auto/qpsmtpd/.packlist +@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/qpsmtpd +@dirrm %%SITE_PERL%%/Qpsmtpd/ +@dirrm %%SITE_PERL%%/Apache/ +%%EXAMPLESDIR%%/IP +%%EXAMPLESDIR%%/badhelo +%%EXAMPLESDIR%%/badrcptto_patterns +%%EXAMPLESDIR%%/dnsbl_zones +%%EXAMPLESDIR%%/invalid_resolvable_fromhost +%%EXAMPLESDIR%%/logging +%%EXAMPLESDIR%%/loglevel +%%EXAMPLESDIR%%/plugins +%%EXAMPLESDIR%%/relayclients +%%EXAMPLESDIR%%/require_resolvable_fromhost +%%EXAMPLESDIR%%/rhsbl_zones +%%EXAMPLESDIR%%/size_threshold +@dirrm %%EXAMPLESDIR%% +%%DATADIR%%/plugins/ident/geoip +%%DATADIR%%/plugins/ident/p0f +@dirrm %%DATADIR%%/plugins/ident +%%DATADIR%%/plugins/auth/auth_cvm_unix_local +%%DATADIR%%/plugins/auth/auth_flat_file +%%DATADIR%%/plugins/auth/auth_ldap_bind +%%DATADIR%%/plugins/auth/auth_vpopmail_sql +%%DATADIR%%/plugins/auth/authdeny +%%DATADIR%%/plugins/auth/authnull +@dirrm %%DATADIR%%/plugins/auth +%%DATADIR%%/plugins/queue/exim-bsmtp +%%DATADIR%%/plugins/queue/maildir +%%DATADIR%%/plugins/queue/postfix-queue +%%DATADIR%%/plugins/queue/qmail-queue +%%DATADIR%%/plugins/queue/smtp-forward +@dirrm %%DATADIR%%/plugins/queue +%%DATADIR%%/plugins/logging/adaptive +%%DATADIR%%/plugins/logging/devnull +%%DATADIR%%/plugins/logging/file +%%DATADIR%%/plugins/logging/syslog +%%DATADIR%%/plugins/logging/warn +@dirrm %%DATADIR%%/plugins/logging +%%DATADIR%%/plugins/virus/uvscan +%%DATADIR%%/plugins/virus/bitdefender +%%DATADIR%%/plugins/virus/check_for_hi_virus +%%DATADIR%%/plugins/virus/clamav +%%DATADIR%%/plugins/virus/hbedv +%%DATADIR%%/plugins/virus/kavscanner +%%DATADIR%%/plugins/virus/klez_filter +%%DATADIR%%/plugins/virus/sophie +%%DATADIR%%/plugins/virus/aveclient +@dirrm %%DATADIR%%/plugins/virus +%%DATADIR%%/plugins/check_earlytalker +%%DATADIR%%/plugins/check_loop +%%DATADIR%%/plugins/check_norelay +%%DATADIR%%/plugins/check_relay +%%DATADIR%%/plugins/check_spamhelo +%%DATADIR%%/plugins/content_log +%%DATADIR%%/plugins/count_unrecognized_commands +%%DATADIR%%/plugins/dns_whitelist_soft +%%DATADIR%%/plugins/dnsbl +%%DATADIR%%/plugins/greylisting +%%DATADIR%%/plugins/hosts_allow +%%DATADIR%%/plugins/http_config +%%DATADIR%%/plugins/check_badrcptto_patterns +%%DATADIR%%/plugins/check_badrcptto +%%DATADIR%%/plugins/check_badmailfromto +%%DATADIR%%/plugins/quit_fortune +%%DATADIR%%/plugins/rcpt_ok +%%DATADIR%%/plugins/require_resolvable_fromhost +%%DATADIR%%/plugins/rhsbl +%%DATADIR%%/plugins/sender_permitted_from +%%DATADIR%%/plugins/spamassassin +%%DATADIR%%/plugins/tls +%%DATADIR%%/plugins/tls_cert +%%DATADIR%%/plugins/check_basicheaders +%%DATADIR%%/plugins/check_badmailfrom +@dirrm %%DATADIR%%/plugins/ +@dirrm %%DATADIR%% |