Bug 77637 - [NEW PORT] mail/qmail-spamcontrol: A SECURE, reliable, and FAST MTA with SpamControl patches
Summary: [NEW PORT] mail/qmail-spamcontrol: A SECURE, reliable, and FAST MTA with Spam...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Sergei Kolobov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-02-17 14:30 UTC by Renato Botelho
Modified: 2005-03-11 16:29 UTC (History)
1 user (show)

See Also:


Attachments
qmail-spamcontrol-1.03.2312.shar (20.03 KB, text/plain)
2005-02-17 14:30 UTC, Renato Botelho
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Renato Botelho 2005-02-17 14:30:23 UTC
ATTENTION Commiters!!!

Please, don´t commit this PR before these:

http://www.freebsd.org/cgi/query-pr.cgi?pr=77553
http://www.freebsd.org/cgi/query-pr.cgi?pr=77636

This new port won´t work without these two PR´s.

-------------------

SpamControl is a collection of patches for qmail developed and maintained
by Erwin Hoffman (feh@fehcom.de).

Some SpamControl features: smtp-auth (plain, login and cram-md5),
requirement of brackets on addresses, qmail-queue, bigtodo, moreipme, 
recipients...

WWW: http://www.fehcom.de/qmail/spamcontrol.html

Generated with FreeBSD Port Tools 0.63
Comment 1 Sergei Kolobov freebsd_committer freebsd_triage 2005-02-17 16:16:06 UTC
Responsible Changed
From-To: freebsd-ports-bugs->sergei

I will handle it.
Comment 2 Renato Botelho 2005-02-24 10:17:13 UTC
This is a new version of the port, there are some changes on files/spamcontrol.patch:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	qmail-spamcontrol
#	qmail-spamcontrol/files
#	qmail-spamcontrol/files/spamcontrol.patch
#	qmail-spamcontrol/Makefile
#	qmail-spamcontrol/pkg-descr
#	qmail-spamcontrol/pkg-plist
#
echo c - qmail-spamcontrol
mkdir -p qmail-spamcontrol > /dev/null 2>&1
echo c - qmail-spamcontrol/files
mkdir -p qmail-spamcontrol/files > /dev/null 2>&1
echo x - qmail-spamcontrol/files/spamcontrol.patch
sed 's/^X//' >qmail-spamcontrol/files/spamcontrol.patch << 'END-of-qmail-spamcontrol/files/spamcontrol.patch'
Xdiff --exclude=conf-spamcontrol -ruN orig/qmail-smtpd.c.patch galle/qmail-smtpd.c.patch
X--- orig/qmail-smtpd.c.patch	Sun Jan 30 08:27:34 2005
X+++ galle/qmail-smtpd.c.patch	Tue Feb 22 14:13:55 2005
X@@ -1,8 +1,6 @@
X---- qmail-smtpd.c.orig  1998-06-15
X-+++ qmail-smtpd.c       2005-01-30
X---- .././qmail-1.03/qmail-smtpd.c	Mon Jun 15 12:53:16 1998
X-+++ ../qmail-1.03.2312/qmail-smtpd.c	Sun Jan 30 11:24:25 2005
X-@@ -20,14 +20,51 @@
X+--- qmail-smtpd.c.orig	Tue Feb  1 07:47:52 2005
X++++ qmail-smtpd.c	Tue Feb 22 14:12:57 2005
X+@@ -20,14 +20,52 @@
X  #include "now.h"
X  #include "exit.h"
X  #include "rcpthosts.h"
X@@ -20,6 +18,7 @@
X +#define CRAM_MD5
X +#define AUTHSLEEP 5
X +#define RECIPIENTS550
X++#define LOCALMFREQAUTH
X +
X +#define MIMETYPE_LEN 9
X +#define LOADER_LEN 5
X@@ -55,7 +54,7 @@
X  int safewrite(fd,buf,len) int fd; char *buf; int len;
X  {
X    int r;
X-@@ -48,9 +85,6 @@
X+@@ -48,9 +86,6 @@
X  void die_control() { out("421 unable to read controls (#4.3.0)\r\n"); flush(); _exit(1); }
X  void die_ipme() { out("421 unable to figure out my IP addresses (#4.3.0)\r\n"); flush(); _exit(1); }
X  void straynewline() { out("451 See http://pobox.com/~djb/docs/smtplf.html.\r\n"); flush(); _exit(1); }
X@@ -65,7 +64,7 @@
X  void err_unimpl() { out("502 unimplemented (#5.5.1)\r\n"); }
X  void err_syntax() { out("555 syntax error (#5.5.4)\r\n"); }
X  void err_wantmail() { out("503 MAIL first (#5.5.1)\r\n"); }
X-@@ -58,6 +92,114 @@
X+@@ -58,6 +93,114 @@
X  void err_noop() { out("250 ok\r\n"); }
X  void err_vrfy() { out("252 send some mail, i'll try my best\r\n"); }
X  void err_qqt() { out("451 qqt failure (#4.3.0)\r\n"); }
X@@ -180,7 +179,7 @@
X  
X  
X  stralloc greeting = {0};
X-@@ -76,6 +218,7 @@
X+@@ -76,6 +219,7 @@
X    smtp_greet("221 "); out("\r\n"); flush(); _exit(0);
X  }
X  
X@@ -188,7 +187,7 @@
X  char *remoteip;
X  char *remotehost;
X  char *remoteinfo;
X-@@ -85,10 +228,30 @@
X+@@ -85,10 +229,30 @@
X  stralloc helohost = {0};
X  char *fakehelo; /* pointer into helohost, or 0 */
X  
X@@ -220,7 +219,7 @@
X  }
X  
X  int liphostok = 0;
X-@@ -97,6 +260,39 @@
X+@@ -97,6 +261,40 @@
X  stralloc bmf = {0};
X  struct constmap mapbmf;
X  
X@@ -248,6 +247,7 @@
X +char *localmfcheck;
X +char *mfdnscheck;
X +char *reqauth;
X++char *localmf_reqauth;
X +
X +int maxrcptcount = 0;
X +int flaglocal = -1;
X@@ -260,7 +260,7 @@
X  void setup()
X  {
X    char *x;
X-@@ -111,17 +307,24 @@
X+@@ -111,17 +309,24 @@
X    if (timeout <= 0) timeout = 1;
X  
X    if (rcpthosts_init() == -1) die_control();
X@@ -286,7 +286,7 @@
X    remoteip = env_get("TCPREMOTEIP");
X    if (!remoteip) remoteip = "unknown";
X    local = env_get("TCPLOCALHOST");
X-@@ -131,11 +334,70 @@
X+@@ -131,11 +336,76 @@
X    if (!remotehost) remotehost = "unknown";
X    remoteinfo = env_get("TCPREMOTEINFO");
X    relayclient = env_get("RELAYCLIENT");
X@@ -338,6 +338,12 @@
X +  qhpsi = env_get("QHPSI");
X +  if (!qhpsi) qhpsi = "unknown";
X +
X++  #ifdef LOCALMFREQAUTH
X++    localmf_reqauth = env_get("LOCALMFREQAUTH");
X++  #else
X++    localmf_reqauth = 0;
X++  #endif
X++
X +#ifdef RELAYMAILFROM
X +  if (!relayclient) {
X +    relaymailfromok = control_readfile(&relaymailfrom,"control/relaymailfrom",0);
X@@ -358,7 +364,7 @@
X  
X  int addrparse(arg)
X  char *arg;
X-@@ -151,12 +413,17 @@
X+@@ -151,12 +421,17 @@
X    i = str_chr(arg,'<');
X    if (arg[i])
X      arg += i + 1;
X@@ -376,17 +382,12 @@
X  
X    /* strip source route */
X    if (*arg == '@') while (*arg) if (*arg++ == ':') break;
X-@@ -199,12 +466,106 @@
X+@@ -199,12 +474,106 @@
X  
X  int bmfcheck()
X  {
X +  int i;
X-   int j;
X--  if (!bmfok) return 0;
X--  if (constmap(&mapbmf,addr.s,addr.len - 1)) return 1;
X--  j = byte_rchr(addr.s,addr.len,'@');
X--  if (j < addr.len)
X--    if (constmap(&mapbmf,addr.s + j,addr.len - j - 1)) return 1;
X++  int j;
X +  int k = 0;
X +  char subvalue;
X +
X@@ -436,7 +437,12 @@
X +int bhelocheck()
X +{
X +  int i;
X-+  int j;
X+   int j;
X+-  if (!bmfok) return 0;
X+-  if (constmap(&mapbmf,addr.s,addr.len - 1)) return 1;
X+-  j = byte_rchr(addr.s,addr.len,'@');
X+-  if (j < addr.len)
X+-    if (constmap(&mapbmf,addr.s + j,addr.len - j - 1)) return 1;
X +  int k = 0;
X +  char subvalue;
X + 
X@@ -488,7 +494,7 @@
X    return 0;
X  }
X  
X-@@ -216,21 +577,126 @@
X+@@ -216,21 +585,136 @@
X    return r;
X  }
X  
X@@ -583,6 +589,16 @@
X +    }
X +}
X +
X++int mailfromallowed()
X++{
X++  int r;
X++
X++  r = rcpthosts(mailfrom.s,strlen(mailfrom.s));
X++  if (r == -1) die_control();
X++
X++  return ((r == 1) ? 0 : 1);
X++}
X++
X +#ifdef RELAYMAILFROM
X +int rmfcheck()
X +{
X@@ -618,7 +634,7 @@
X  }
X  void smtp_rset()
X  {
X-@@ -240,28 +706,73 @@
X+@@ -240,28 +724,74 @@
X  void smtp_mail(arg) char *arg;
X  {
X    if (!addrparse(arg)) { err_syntax(); return; }
X@@ -671,6 +687,7 @@
X +    flagrcpt = rcptallowed();
X +    if (!flagrcpt) { err_recipient("Reject::RCPT::Failed_Rcptto:",remoteip,remotehost,helohost.s,mailfrom.s,addr.s); flagerrcpts++; return; } 
X +    if (reqauth) if (!flagauth) { err_authreq("Reject::ORIG::Missing_Auth:",remoteip,remotehost,helohost.s,mailfrom.s,addr.s); return; }
X++    if (localmf_reqauth && !flagauth && !mailfromallowed()) { err_authreq("Reject::ORIG::Local_MailFrom_Req_Auth:",remoteip,remotehost,helohost.s,mailfrom.s,addr.s); return; }
X    }
X -  else
X -    if (!addrallowed()) { err_nogateway(); return; }
X@@ -697,7 +714,7 @@
X  }
X  
X  
X-@@ -279,11 +790,69 @@
X+@@ -279,11 +809,69 @@
X  substdio ssin = SUBSTDIO_FDBUF(saferead,0,ssinbuf,sizeof ssinbuf);
X  
X  struct qmail qqt;
X@@ -768,7 +785,7 @@
X    if (bytestooverflow)
X      if (!--bytestooverflow)
X        qmail_fail(&qqt);
X-@@ -316,8 +885,8 @@
X+@@ -316,8 +904,8 @@
X          if (flagmaybex) if (pos == 7) ++*hops;
X          if (pos < 2) if (ch != "\r\n"[pos]) flagmaybey = 0;
X          if (flagmaybey) if (pos == 1) flaginheader = 0;
X@@ -778,7 +795,7 @@
X        if (ch == '\n') { pos = 0; flagmaybex = flagmaybey = flagmaybez = 1; }
X      }
X      switch(state) {
X-@@ -373,31 +942,275 @@
X+@@ -373,31 +961,275 @@
X    if (!seenmail) { err_wantmail(); return; }
X    if (!rcptto.len) { err_wantrcpt(); return; }
X    seenmail = 0;
X@@ -991,7 +1008,7 @@
X +
X +  if (!user.len || !pass.len) return err_input();
X +  return authenticate();
X-+}
X+ }
X +#endif
X +
X +struct authcmd {
X@@ -1046,10 +1063,10 @@
X +    case 1:
X +      err_authfail("Reject::ORIG::Failed_Auth:",remoteip,remotehost,helohost.s,user.s,authcmds[i].text);
X +  }
X- }
X- 
X-+/* this file is too long --------------------------------------------- GO ON */
X++}
X +
X++/* this file is too long --------------------------------------------- GO ON */
X+ 
X  struct commands smtpcommands[] = {
X    { "rcpt", smtp_rcpt, 0 }
X  , { "mail", smtp_mail, 0 }
X@@ -1058,7 +1075,7 @@
X  , { "quit", smtp_quit, flush }
X  , { "helo", smtp_helo, flush }
X  , { "ehlo", smtp_ehlo, flush }
X-@@ -408,8 +1221,11 @@
X+@@ -408,8 +1240,11 @@
X  , { 0, err_unimpl, flush }
X  } ;
X  
END-of-qmail-spamcontrol/files/spamcontrol.patch
echo x - qmail-spamcontrol/Makefile
sed 's/^X//' >qmail-spamcontrol/Makefile << 'END-of-qmail-spamcontrol/Makefile'
X# New ports collection makefile for:	qmail-spamcontrol
X# Date created:		01 Feb 2005
X# Whom:			Renato Botelho <renato@galle.com.br> et al.
X#
X# $FreeBSD$
X#
X
XPORTNAME=	qmail
XPORTVERSION=	${QMAIL_VERSION}.${SPAMCONTROL_VERSION}
XCATEGORIES=	mail
XPKGNAMESUFFIX=	-spamcontrol
X
XPATCH_SITES+=	http://www.fehcom.de/qmail/spamcontrol/:spamcontrol
XPATCHFILES+=	spamcontrol-${SPAMCONTROL_VERSION}_tgz.bin:spamcontrol
X
XMAINTAINER=	renato@galle.com.br
XCOMMENT=	A SECURE, reliable, and FAST MTA with SpamControl patches
X
X# Block soma patches because SpamControl contain the same patches inside
XMAIN_QMAIL_PORT_BUILD_WITH_OPTIONS_ADVERTISE_BARRIER=	yes
XMAIN_QMAIL_PORT_DNS_PATCH_BARRIER=	yes
XMAIN_QMAIL_PORT_SENDMAIL_F_PATCH_BARRIER=	yes
XMAIN_QMAIL_PORT_WITH_BIG_CONCURRENCY_PATCH_BARRIER=	yes
XMAIN_QMAIL_PORT_WITH_BIG_TODO_PATCH_BARRIER=	yes
XMAIN_QMAIL_PORT_WITH_OUTGOINGIP_PATCH_BARRIER=	yes
XMAIN_QMAIL_PORT_WITH_QMAILQUEUE_PATCH_BARRIER=	yes
X
XSPAMCONTROL_VERSION=	2312
XSPAMCONTROL_EXTRA_MANS=	qmail-badloadertypes.8 qmail-badmimetypes.8 qmail-recipients.8
XSPAMCONTROL_CONF=	"${WRKDIR}/conf-spamcontrol"
X
XALL_TARGET+=	${SPAMCONTROL_EXTRA_MANS}
X
XMAN8+=	${SPAMCONTROL_EXTRA_MANS}
X
XDOCFILES+=	${WRKSRC}/doc/conf-spamcontrol ${WRKSRC}/doc/Makefile.djbdns \
X		${WRKSRC}/doc/badmailfrom ${WRKSRC}/doc/badmimetypes \
X		${WRKSRC}/doc/badloadertypes ${WRKSRC}/doc/badrcptto \
X		${WRKSRC}/doc/tarpitcount ${WRKSRC}/doc/install_spamcontrol.sh  \
X		${WRKSRC}/doc/README.spamcontrol ${WRKSRC}/doc/README_spamcontrol.html \
X		${WRKSRC}/doc/README.wildmat ${WRKSRC}/doc/README.auth \
X		${WRKSRC}/doc/README.moreipme ${WRKSRC}/doc/README.bigtodo \
X		${WRKSRC}/doc/README.qmailqueue ${WRKSRC}/doc/README.bouncemaxbytes \
X		${WRKSRC}/doc/README.doublebouncetrim ${WRKSRC}/doc/README.recipients \
X		${WRKSRC}/doc/README.djbdns ${WRKSRC}/doc/INSTALL.spamcontrol \
X		${WRKSRC}/doc/TESTING.spamcontrol ${WRKSRC}/doc/HISTORY.spamcontrol \
X		${WRKSRC}/doc/FILES.spamcontrol ${WRKSRC}/doc/LICENSE.spamcontrol \
X		${WRKSRC}/doc/TODO.spamcontrol ${WRKSRC}/doc/RELEASE_22.spamcontrol \
X		${WRKSRC}/doc/RELEASE_23.spamcontrol ${WRKSRC}/doc/LOGGING.spamcontrol \
X		${WRKSRC}/doc/SMTPREPLY.spamcontrol
X
X# Using default from master port, i.e., /var/qmail
XPREFIX?=	${QMAIL_PORT_PREFIX}
X
X.if !defined(PRE_MK_INCLUDED)
X.include <bsd.port.pre.mk>
X.endif
X
XQMAIL_PORT=	${.CURDIR}/../qmail
XQMAIL_PORT_PREFIX!=	cd ${QMAIL_PORT} && ${MAKE} -V PREFIX
X
X# Fill SELECTED_OPTIONS with options to write conf-spamcontrol
X.if defined(SPAMCONTROL_WITH_RELAYMAILFROM)
XSELECTED_OPTIONS+=	relaymailfrom=yes
X.else
XSELECTED_OPTIONS+=	relaymailfrom=no
X.endif
X
X.if defined(SPAMCONTROL_WITH_QUITASAP)
XSELECTED_OPTIONS+=	quitasap=yes
X.else
XSELECTED_OPTIONS+=	quitasap=no
X.endif
X
X.if !defined(SPAMCONTROL_WITHOUT_REQBRACKETS)
XSELECTED_OPTIONS+=	reqbrackets=yes
X.else
XSELECTED_OPTIONS+=	reqbrackets=no
X.endif
X
X.if !defined(SPAMCONTROL_WITHOUT_VERP)
XSELECTED_OPTIONS+=	verp=yes
X.else
XSELECTED_OPTIONS+=	verp=no
X.endif
X
X.if defined(SPAMCONTROL_WITH_RECIPIENTS550)
XSELECTED_OPTIONS+=	recipients550=yes
X.else
XSELECTED_OPTIONS+=	recipients550=no
X.endif
X
X.if defined(SPAMCONTROL_WITH_LOCALMFREQAUTH)
XSELECTED_OPTIONS+=	localmfreqauth=yes
X.else
XSELECTED_OPTIONS+=	localmfreqauth=no
X.endif
X
X.if defined(SPAMCONTROL_WITH_AUTHCRAM)
XSELECTED_OPTIONS+=	authcram=yes
X.else
XSELECTED_OPTIONS+=	authcram=no
X.endif
X
X.if defined(SPAMCONTROL_WITH_MOREIPME)
XSELECTED_OPTIONS+=	moreipme=yes
X.else
XSELECTED_OPTIONS+=	moreipme=no
X.endif
X
X.if defined(SPAMCONTROL_WITH_BIGTODO)
XSELECTED_OPTIONS+=	bigtodo=yes
X.else
XSELECTED_OPTIONS+=	bigtodo=no
X.endif
X
Xpre-fetch: qmail-spamcontrol-pre-fetch
X
Xqmail-spamcontrol-pre-fetch:
X	@${ECHO_MSG} ""
X	@${ECHO_MSG} "You may use the following build options:"
X	@${ECHO_MSG} ""
X	@${ECHO_MSG} "SPAMCONTROL_WITH_RELAYMAILFROM		Permit to open relay based"
X	@${ECHO_MSG} "					on mailfrom (may be dangerous)"
X	@${ECHO_MSG} "SPAMCONTROL_WITH_QUITASAP		Close SMTP session in case of a"
X	@${ECHO_MSG} "					filter condition (violates SMTP RFC)"
X	@${ECHO_MSG} "SPAMCONTROL_WITHOUT_REQBRACKETS	Disable function that requires"
X	@${ECHO_MSG} "					brackets in <addresses>"
X	@${ECHO_MSG} "SPAMCONTROL_WITHOUT_VERP		Disable VERP addresses for recipients"
X	@${ECHO_MSG} "SPAMCONTROL_WITH_RECIPIENTS550		In case of non existing"
X	@${ECHO_MSG} "					recipients get a direct 550 reply"
X	@${ECHO_MSG} "					instead of a deferred bounce (via 450)"
X	@${ECHO_MSG} "SPAMCONTROL_WITH_LOCALMFREQAUTH		Require authentication when"
X	@${ECHO_MSG} "					mailfrom is @ your local-domains"
X	@${ECHO_MSG} "SPAMCONTROL_WITH_AUTHCRAM		Aditional CRAM-MD5 support; needs"
X	@${ECHO_MSG} "					a CRAM-MD5 supporting PAM (ie. cmd5chkpw)"
X	@${ECHO_MSG} "SPAMCONTROL_WITH_MOREIPME		Scott Gifford's additional control"
X	@${ECHO_MSG} "					files moreipme and notipme"
X	@${ECHO_MSG} "SPAMCONTROL_WITH_BIGTODO		Bruce Guenter's BigToDo patch	consider"
X	@${ECHO_MSG} "					raising conf-split in the first place"
X	@${ECHO_MSG} ""
X
Xpre-patch: qmail-spamcontrol-pre-patch
X
Xqmail-spamcontrol-pre-patch:
X	@${ECHO_CMD} "# generated by qmail-spamcontrol port" > ${SPAMCONTROL_CONF}
X	@for F in ${SELECTED_OPTIONS}; do \
X	  ${ECHO_CMD} "$$F" >> ${SPAMCONTROL_CONF}; \
X	done
X
Xslaveport-post-patch: qmail-spamcontrol-post-patch
X
Xqmail-spamcontrol-post-patch:
X	@cd ${WRKSRC} ; \
X	${TAR} -xzf ${DISTDIR}/spamcontrol-${SPAMCONTROL_VERSION}_tgz.bin ; \
X	${PATCH} < ${.CURDIR}/files/spamcontrol.patch; \
X	${CP} ${SPAMCONTROL_CONF} ${WRKSRC}; \
X	${ECHO_CMD} ${WRKSRC} > ${WRKSRC}/conf-qmail; \
X	./install_spamcontrol.sh
X
Xpost-install:
X	@${MKDIR} ${PREFIX}/scripts; \
X	for F in ${WRKSRC}/scripts/*; do \
X	  ${INSTALL_SCRIPT} $$F ${PREFIX}/scripts; \
X	done
X
X# Local overrides
XMASTERDIR=	${QMAIL_PORT}
XPKGDIR_LOCAL=	${.CURDIR}
XDESCR=		${PKGDIR_LOCAL}/pkg-descr
XPLIST=		${PKGDIR_LOCAL}/pkg-plist
X
X.include "${MASTERDIR}/Makefile"
END-of-qmail-spamcontrol/Makefile
echo x - qmail-spamcontrol/pkg-descr
sed 's/^X//' >qmail-spamcontrol/pkg-descr << 'END-of-qmail-spamcontrol/pkg-descr'
XSpamControl is a collection of patches for qmail developed and maintained
Xby Erwin Hoffman (feh@fehcom.de).
X
XSome SpamControl features: smtp-auth (plain, login and cram-md5),
Xrequirement of brackets on addresses, qmail-queue, bigtodo, moreipme, 
Xrecipients...
X
XWWW: http://www.fehcom.de/qmail/spamcontrol.html
END-of-qmail-spamcontrol/pkg-descr
echo x - qmail-spamcontrol/pkg-plist
sed 's/^X//' >qmail-spamcontrol/pkg-plist << 'END-of-qmail-spamcontrol/pkg-plist'
X%%PORTDOCS%%%%DOCDIR%%/FAQ
X%%PORTDOCS%%%%DOCDIR%%/UPGRADE
X%%PORTDOCS%%%%DOCDIR%%/SENDMAIL
X%%PORTDOCS%%%%DOCDIR%%/INSTALL
X%%PORTDOCS%%%%DOCDIR%%/INSTALL.alias
X%%PORTDOCS%%%%DOCDIR%%/INSTALL.ctl
X%%PORTDOCS%%%%DOCDIR%%/INSTALL.ids
X%%PORTDOCS%%%%DOCDIR%%/INSTALL.maildir
X%%PORTDOCS%%%%DOCDIR%%/INSTALL.mbox
X%%PORTDOCS%%%%DOCDIR%%/INSTALL.vsm
X%%PORTDOCS%%%%DOCDIR%%/TEST.deliver
X%%PORTDOCS%%%%DOCDIR%%/TEST.receive
X%%PORTDOCS%%%%DOCDIR%%/REMOVE.sendmail
X%%PORTDOCS%%%%DOCDIR%%/REMOVE.binmail
X%%PORTDOCS%%%%DOCDIR%%/PIC.local2alias
X%%PORTDOCS%%%%DOCDIR%%/PIC.local2ext
X%%PORTDOCS%%%%DOCDIR%%/PIC.local2local
X%%PORTDOCS%%%%DOCDIR%%/PIC.local2rem
X%%PORTDOCS%%%%DOCDIR%%/PIC.local2virt
X%%PORTDOCS%%%%DOCDIR%%/PIC.nullclient
X%%PORTDOCS%%%%DOCDIR%%/PIC.relaybad
X%%PORTDOCS%%%%DOCDIR%%/PIC.relaygood
X%%PORTDOCS%%%%DOCDIR%%/PIC.rem2local
X%%PORTDOCS%%%%DOCDIR%%/conf-spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/Makefile.djbdns
X%%PORTDOCS%%%%DOCDIR%%/badmailfrom
X%%PORTDOCS%%%%DOCDIR%%/badmimetypes
X%%PORTDOCS%%%%DOCDIR%%/badloadertypes
X%%PORTDOCS%%%%DOCDIR%%/badrcptto
X%%PORTDOCS%%%%DOCDIR%%/tarpitcount
X%%PORTDOCS%%%%DOCDIR%%/install_spamcontrol.sh
X%%PORTDOCS%%%%DOCDIR%%/README.spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/README_spamcontrol.html
X%%PORTDOCS%%%%DOCDIR%%/README.wildmat
X%%PORTDOCS%%%%DOCDIR%%/README.auth
X%%PORTDOCS%%%%DOCDIR%%/README.moreipme
X%%PORTDOCS%%%%DOCDIR%%/README.bigtodo
X%%PORTDOCS%%%%DOCDIR%%/README.qmailqueue
X%%PORTDOCS%%%%DOCDIR%%/README.bouncemaxbytes
X%%PORTDOCS%%%%DOCDIR%%/README.doublebouncetrim
X%%PORTDOCS%%%%DOCDIR%%/README.recipients
X%%PORTDOCS%%%%DOCDIR%%/README.djbdns
X%%PORTDOCS%%%%DOCDIR%%/INSTALL.spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/TESTING.spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/HISTORY.spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/FILES.spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/LICENSE.spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/TODO.spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/RELEASE_22.spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/RELEASE_23.spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/LOGGING.spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/SMTPREPLY.spamcontrol
X
X%%PORTDOCS%%/scripts/qmail-alias2recipients
X%%PORTDOCS%%/scripts/qmail-users2recipients
X%%PORTDOCS%%/scripts/qmail-pwd2recipients
X%%PORTDOCS%%/scripts/qmail-vpopmail2recipients
X@dirrm %%PORTDOCS%%/scripts
X
Xboot/home
Xboot/home+df
Xboot/proc
Xboot/proc+df
Xboot/binm1
Xboot/binm1+df
Xboot/binm2
Xboot/binm2+df
Xboot/binm3
Xboot/binm3+df
X
X@group qmail
X@mode 04711
X@comment *** NOTE different owner
X@owner qmailq
Xbin/qmail-queue
X@owner
X@mode 0700
Xbin/qmail-lspawn
X@mode 0700
Xbin/qmail-start
X@mode 0711
Xbin/qmail-getpw
X@mode 0711
Xbin/qmail-local
X@mode 0711
Xbin/qmail-remote
X@mode 0711
Xbin/qmail-rspawn
X@mode 0711
Xbin/qmail-clean
X@mode 0711
Xbin/qmail-send
X@mode 0711
Xbin/splogger
X@mode 0700
Xbin/qmail-newu
X@mode 0700
Xbin/qmail-newmrh
X@mode 0711
Xbin/qmail-pw2u
X@mode 0755
Xbin/qmail-inject
X@mode 0755
Xbin/predate
X@mode 0755
Xbin/datemail
X@mode 0755
Xbin/mailsubj
X@mode 0755
Xbin/qmail-showctl
X@mode 0755
Xbin/qmail-qread
X@mode 0755
Xbin/qmail-qstat
X@mode 0755
Xbin/qmail-tcpto
X@mode 0755
Xbin/qmail-tcpok
X@mode 0755
Xbin/qmail-pop3d
X@mode 0711
Xbin/qmail-popup
X@mode 0755
Xbin/qmail-qmqpc
X@mode 0755
Xbin/qmail-qmqpd
X@mode 0755
Xbin/qmail-qmtpd
X@mode 0755
Xbin/qmail-smtpd
X@mode 0755
Xbin/sendmail
X@mode 0755
Xbin/tcp-env
X@mode 0755
Xbin/qreceipt
X@mode 0755
Xbin/qsmhook
X@mode 0755
Xbin/qbiff
X@mode 0755
Xbin/forward
X@mode 0755
Xbin/preline
X@mode 0755
Xbin/condredirect
X@mode 0755
Xbin/bouncesaying
X@mode 0755
Xbin/except
X@mode 0755
Xbin/maildirmake
X@mode 0755
Xbin/maildir2mbox
X@mode 0755
Xbin/maildirwatch
X@mode 0755
Xbin/qail
X@mode 0755
Xbin/elq
X@mode 0755
Xbin/pinq
X@mode 0700
Xbin/qmail-badloadertypes
X@mode 0700
Xbin/qmail-badmimetypes
X@mode 0700
Xbin/qmail-recipients
X
X@group
X@owner
X@mode
X
X@comment This port installs the following manually (ie. not through qmail-hier)
Xconfigure/install
Xconfigure/config
Xconfigure/config-fast
Xconfigure/dnsfq
Xconfigure/hostname
Xconfigure/dnsip
Xconfigure/ipmeprint
Xconfigure/dnsptr
X%%PORTDOCS%%%%DOCDIR%%/BLURB
X%%PORTDOCS%%%%DOCDIR%%/BLURB2
X%%PORTDOCS%%%%DOCDIR%%/BLURB3
X%%PORTDOCS%%%%DOCDIR%%/BLURB4
X%%PORTDOCS%%%%DOCDIR%%/INTERNALS
X%%PORTDOCS%%%%DOCDIR%%/SECURITY
X%%PORTDOCS%%%%DOCDIR%%/THOUGHTS
X%%PORTDOCS%%%%DOCDIR%%/PORT_NOTES
X%%PORTDOCS%%%%DOCDIR%%/PORT_NOTES_FreeBSD_40-RELEASE
X%%PORTDOCS%%%%DOCDIR%%/SYSDEPS
X%%PORTDOCS%%%%DOCDIR%%/mailer.conf.sample
X%%PORTDOCS%%%%DOCDIR%%/mkaliasdir
Xboot/maildir
X%%PORTDOCS%%@dirrm %%DOCDIR%%
X@dirrm configure
X@dirrm boot
X@dirrm bin
X
X@unexec echo "1) If you are permanently removing qmail, you should also ``rm -Rf ${PKG_PREFIX}/alias ${PKG_PREFIX}/control ${PKG_PREFIX}/queue ${PKG_PREFIX}/users'' and remove the qmail users/groups." | /usr/bin/fmt
X@unexec echo "2) Do not forget to reconfigure your /etc/mail/mailer.conf to use your older MTA, or reconfigure your old MTA binaries if you decided to replace them." | /usr/bin/fmt
X@unexec echo "3) Do not forget to enable sendmail as your default MTA if you have to. Go to mail/qmail portsdir and do a 'make enable-sendmail'" | /usr/bin/fmt
END-of-qmail-spamcontrol/pkg-plist
exit
Comment 3 Renato Botelho 2005-03-01 16:47:17 UTC
One more version, with a separate distinfo file.

Dear commiter, please use it:

----------------------------------------------------

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	qmail-spamcontrol
#	qmail-spamcontrol/files
#	qmail-spamcontrol/files/spamcontrol.patch
#	qmail-spamcontrol/Makefile
#	qmail-spamcontrol/pkg-descr
#	qmail-spamcontrol/pkg-plist
#	qmail-spamcontrol/distinfo
#
echo c - qmail-spamcontrol
mkdir -p qmail-spamcontrol > /dev/null 2>&1
echo c - qmail-spamcontrol/files
mkdir -p qmail-spamcontrol/files > /dev/null 2>&1
echo x - qmail-spamcontrol/files/spamcontrol.patch
sed 's/^X//' >qmail-spamcontrol/files/spamcontrol.patch << 'END-of-qmail-spamcontrol/files/spamcontrol.patch'
Xdiff --exclude=conf-spamcontrol -ruN orig/qmail-smtpd.c.patch galle/qmail-smtpd.c.patch
X--- orig/qmail-smtpd.c.patch	Sun Jan 30 08:27:34 2005
X+++ galle/qmail-smtpd.c.patch	Tue Feb 22 14:13:55 2005
X@@ -1,8 +1,6 @@
X---- qmail-smtpd.c.orig  1998-06-15
X-+++ qmail-smtpd.c       2005-01-30
X---- .././qmail-1.03/qmail-smtpd.c	Mon Jun 15 12:53:16 1998
X-+++ ../qmail-1.03.2312/qmail-smtpd.c	Sun Jan 30 11:24:25 2005
X-@@ -20,14 +20,51 @@
X+--- qmail-smtpd.c.orig	Tue Feb  1 07:47:52 2005
X++++ qmail-smtpd.c	Tue Feb 22 14:12:57 2005
X+@@ -20,14 +20,52 @@
X  #include "now.h"
X  #include "exit.h"
X  #include "rcpthosts.h"
X@@ -20,6 +18,7 @@
X +#define CRAM_MD5
X +#define AUTHSLEEP 5
X +#define RECIPIENTS550
X++#define LOCALMFREQAUTH
X +
X +#define MIMETYPE_LEN 9
X +#define LOADER_LEN 5
X@@ -55,7 +54,7 @@
X  int safewrite(fd,buf,len) int fd; char *buf; int len;
X  {
X    int r;
X-@@ -48,9 +85,6 @@
X+@@ -48,9 +86,6 @@
X  void die_control() { out("421 unable to read controls (#4.3.0)\r\n"); flush(); _exit(1); }
X  void die_ipme() { out("421 unable to figure out my IP addresses (#4.3.0)\r\n"); flush(); _exit(1); }
X  void straynewline() { out("451 See http://pobox.com/~djb/docs/smtplf.html.\r\n"); flush(); _exit(1); }
X@@ -65,7 +64,7 @@
X  void err_unimpl() { out("502 unimplemented (#5.5.1)\r\n"); }
X  void err_syntax() { out("555 syntax error (#5.5.4)\r\n"); }
X  void err_wantmail() { out("503 MAIL first (#5.5.1)\r\n"); }
X-@@ -58,6 +92,114 @@
X+@@ -58,6 +93,114 @@
X  void err_noop() { out("250 ok\r\n"); }
X  void err_vrfy() { out("252 send some mail, i'll try my best\r\n"); }
X  void err_qqt() { out("451 qqt failure (#4.3.0)\r\n"); }
X@@ -180,7 +179,7 @@
X  
X  
X  stralloc greeting = {0};
X-@@ -76,6 +218,7 @@
X+@@ -76,6 +219,7 @@
X    smtp_greet("221 "); out("\r\n"); flush(); _exit(0);
X  }
X  
X@@ -188,7 +187,7 @@
X  char *remoteip;
X  char *remotehost;
X  char *remoteinfo;
X-@@ -85,10 +228,30 @@
X+@@ -85,10 +229,30 @@
X  stralloc helohost = {0};
X  char *fakehelo; /* pointer into helohost, or 0 */
X  
X@@ -220,7 +219,7 @@
X  }
X  
X  int liphostok = 0;
X-@@ -97,6 +260,39 @@
X+@@ -97,6 +261,40 @@
X  stralloc bmf = {0};
X  struct constmap mapbmf;
X  
X@@ -248,6 +247,7 @@
X +char *localmfcheck;
X +char *mfdnscheck;
X +char *reqauth;
X++char *localmf_reqauth;
X +
X +int maxrcptcount = 0;
X +int flaglocal = -1;
X@@ -260,7 +260,7 @@
X  void setup()
X  {
X    char *x;
X-@@ -111,17 +307,24 @@
X+@@ -111,17 +309,24 @@
X    if (timeout <= 0) timeout = 1;
X  
X    if (rcpthosts_init() == -1) die_control();
X@@ -286,7 +286,7 @@
X    remoteip = env_get("TCPREMOTEIP");
X    if (!remoteip) remoteip = "unknown";
X    local = env_get("TCPLOCALHOST");
X-@@ -131,11 +334,70 @@
X+@@ -131,11 +336,76 @@
X    if (!remotehost) remotehost = "unknown";
X    remoteinfo = env_get("TCPREMOTEINFO");
X    relayclient = env_get("RELAYCLIENT");
X@@ -338,6 +338,12 @@
X +  qhpsi = env_get("QHPSI");
X +  if (!qhpsi) qhpsi = "unknown";
X +
X++  #ifdef LOCALMFREQAUTH
X++    localmf_reqauth = env_get("LOCALMFREQAUTH");
X++  #else
X++    localmf_reqauth = 0;
X++  #endif
X++
X +#ifdef RELAYMAILFROM
X +  if (!relayclient) {
X +    relaymailfromok = control_readfile(&relaymailfrom,"control/relaymailfrom",0);
X@@ -358,7 +364,7 @@
X  
X  int addrparse(arg)
X  char *arg;
X-@@ -151,12 +413,17 @@
X+@@ -151,12 +421,17 @@
X    i = str_chr(arg,'<');
X    if (arg[i])
X      arg += i + 1;
X@@ -376,17 +382,12 @@
X  
X    /* strip source route */
X    if (*arg == '@') while (*arg) if (*arg++ == ':') break;
X-@@ -199,12 +466,106 @@
X+@@ -199,12 +474,106 @@
X  
X  int bmfcheck()
X  {
X +  int i;
X-   int j;
X--  if (!bmfok) return 0;
X--  if (constmap(&mapbmf,addr.s,addr.len - 1)) return 1;
X--  j = byte_rchr(addr.s,addr.len,'@');
X--  if (j < addr.len)
X--    if (constmap(&mapbmf,addr.s + j,addr.len - j - 1)) return 1;
X++  int j;
X +  int k = 0;
X +  char subvalue;
X +
X@@ -436,7 +437,12 @@
X +int bhelocheck()
X +{
X +  int i;
X-+  int j;
X+   int j;
X+-  if (!bmfok) return 0;
X+-  if (constmap(&mapbmf,addr.s,addr.len - 1)) return 1;
X+-  j = byte_rchr(addr.s,addr.len,'@');
X+-  if (j < addr.len)
X+-    if (constmap(&mapbmf,addr.s + j,addr.len - j - 1)) return 1;
X +  int k = 0;
X +  char subvalue;
X + 
X@@ -488,7 +494,7 @@
X    return 0;
X  }
X  
X-@@ -216,21 +577,126 @@
X+@@ -216,21 +585,136 @@
X    return r;
X  }
X  
X@@ -583,6 +589,16 @@
X +    }
X +}
X +
X++int mailfromallowed()
X++{
X++  int r;
X++
X++  r = rcpthosts(mailfrom.s,strlen(mailfrom.s));
X++  if (r == -1) die_control();
X++
X++  return ((r == 1) ? 0 : 1);
X++}
X++
X +#ifdef RELAYMAILFROM
X +int rmfcheck()
X +{
X@@ -618,7 +634,7 @@
X  }
X  void smtp_rset()
X  {
X-@@ -240,28 +706,73 @@
X+@@ -240,28 +724,74 @@
X  void smtp_mail(arg) char *arg;
X  {
X    if (!addrparse(arg)) { err_syntax(); return; }
X@@ -671,6 +687,7 @@
X +    flagrcpt = rcptallowed();
X +    if (!flagrcpt) { err_recipient("Reject::RCPT::Failed_Rcptto:",remoteip,remotehost,helohost.s,mailfrom.s,addr.s); flagerrcpts++; return; } 
X +    if (reqauth) if (!flagauth) { err_authreq("Reject::ORIG::Missing_Auth:",remoteip,remotehost,helohost.s,mailfrom.s,addr.s); return; }
X++    if (localmf_reqauth && !flagauth && !mailfromallowed()) { err_authreq("Reject::ORIG::Local_MailFrom_Req_Auth:",remoteip,remotehost,helohost.s,mailfrom.s,addr.s); return; }
X    }
X -  else
X -    if (!addrallowed()) { err_nogateway(); return; }
X@@ -697,7 +714,7 @@
X  }
X  
X  
X-@@ -279,11 +790,69 @@
X+@@ -279,11 +809,69 @@
X  substdio ssin = SUBSTDIO_FDBUF(saferead,0,ssinbuf,sizeof ssinbuf);
X  
X  struct qmail qqt;
X@@ -768,7 +785,7 @@
X    if (bytestooverflow)
X      if (!--bytestooverflow)
X        qmail_fail(&qqt);
X-@@ -316,8 +885,8 @@
X+@@ -316,8 +904,8 @@
X          if (flagmaybex) if (pos == 7) ++*hops;
X          if (pos < 2) if (ch != "\r\n"[pos]) flagmaybey = 0;
X          if (flagmaybey) if (pos == 1) flaginheader = 0;
X@@ -778,7 +795,7 @@
X        if (ch == '\n') { pos = 0; flagmaybex = flagmaybey = flagmaybez = 1; }
X      }
X      switch(state) {
X-@@ -373,31 +942,275 @@
X+@@ -373,31 +961,275 @@
X    if (!seenmail) { err_wantmail(); return; }
X    if (!rcptto.len) { err_wantrcpt(); return; }
X    seenmail = 0;
X@@ -991,7 +1008,7 @@
X +
X +  if (!user.len || !pass.len) return err_input();
X +  return authenticate();
X-+}
X+ }
X +#endif
X +
X +struct authcmd {
X@@ -1046,10 +1063,10 @@
X +    case 1:
X +      err_authfail("Reject::ORIG::Failed_Auth:",remoteip,remotehost,helohost.s,user.s,authcmds[i].text);
X +  }
X- }
X- 
X-+/* this file is too long --------------------------------------------- GO ON */
X++}
X +
X++/* this file is too long --------------------------------------------- GO ON */
X+ 
X  struct commands smtpcommands[] = {
X    { "rcpt", smtp_rcpt, 0 }
X  , { "mail", smtp_mail, 0 }
X@@ -1058,7 +1075,7 @@
X  , { "quit", smtp_quit, flush }
X  , { "helo", smtp_helo, flush }
X  , { "ehlo", smtp_ehlo, flush }
X-@@ -408,8 +1221,11 @@
X+@@ -408,8 +1240,11 @@
X  , { 0, err_unimpl, flush }
X  } ;
X  
END-of-qmail-spamcontrol/files/spamcontrol.patch
echo x - qmail-spamcontrol/Makefile
sed 's/^X//' >qmail-spamcontrol/Makefile << 'END-of-qmail-spamcontrol/Makefile'
X# New ports collection makefile for:	qmail-spamcontrol
X# Date created:		01 Feb 2005
X# Whom:			Renato Botelho <renato@galle.com.br> et al.
X#
X# $FreeBSD$
X#
X
XPORTNAME=	qmail
XPORTVERSION=	${QMAIL_VERSION}.${SPAMCONTROL_VERSION}
XCATEGORIES=	mail
XPKGNAMESUFFIX=	-spamcontrol
X
XPATCH_SITES+=	http://www.fehcom.de/qmail/spamcontrol/:spamcontrol
XPATCHFILES+=	spamcontrol-${SPAMCONTROL_VERSION}_tgz.bin:spamcontrol
X
XMAINTAINER=	renato@galle.com.br
XCOMMENT=	A SECURE, reliable, and FAST MTA with SpamControl patches
X
X# Block soma patches because SpamControl contain the same patches inside
XMAIN_QMAIL_PORT_BUILD_WITH_OPTIONS_ADVERTISE_BARRIER=	yes
XMAIN_QMAIL_PORT_DNS_PATCH_BARRIER=	yes
XMAIN_QMAIL_PORT_SENDMAIL_F_PATCH_BARRIER=	yes
XMAIN_QMAIL_PORT_WITH_BIG_CONCURRENCY_PATCH_BARRIER=	yes
XMAIN_QMAIL_PORT_WITH_BIG_TODO_PATCH_BARRIER=	yes
XMAIN_QMAIL_PORT_WITH_OUTGOINGIP_PATCH_BARRIER=	yes
XMAIN_QMAIL_PORT_WITH_QMAILQUEUE_PATCH_BARRIER=	yes
X
XSPAMCONTROL_VERSION=	2312
XSPAMCONTROL_EXTRA_MANS=	qmail-badloadertypes.8 qmail-badmimetypes.8 qmail-recipients.8
XSPAMCONTROL_CONF=	"${WRKDIR}/conf-spamcontrol"
X
XALL_TARGET+=	${SPAMCONTROL_EXTRA_MANS}
X
XMAN8+=	${SPAMCONTROL_EXTRA_MANS}
X
XDOCFILES+=	${WRKSRC}/doc/conf-spamcontrol ${WRKSRC}/doc/Makefile.djbdns \
X		${WRKSRC}/doc/badmailfrom ${WRKSRC}/doc/badmimetypes \
X		${WRKSRC}/doc/badloadertypes ${WRKSRC}/doc/badrcptto \
X		${WRKSRC}/doc/tarpitcount ${WRKSRC}/doc/install_spamcontrol.sh  \
X		${WRKSRC}/doc/README.spamcontrol ${WRKSRC}/doc/README_spamcontrol.html \
X		${WRKSRC}/doc/README.wildmat ${WRKSRC}/doc/README.auth \
X		${WRKSRC}/doc/README.moreipme ${WRKSRC}/doc/README.bigtodo \
X		${WRKSRC}/doc/README.qmailqueue ${WRKSRC}/doc/README.bouncemaxbytes \
X		${WRKSRC}/doc/README.doublebouncetrim ${WRKSRC}/doc/README.recipients \
X		${WRKSRC}/doc/README.djbdns ${WRKSRC}/doc/INSTALL.spamcontrol \
X		${WRKSRC}/doc/TESTING.spamcontrol ${WRKSRC}/doc/HISTORY.spamcontrol \
X		${WRKSRC}/doc/FILES.spamcontrol ${WRKSRC}/doc/LICENSE.spamcontrol \
X		${WRKSRC}/doc/TODO.spamcontrol ${WRKSRC}/doc/RELEASE_22.spamcontrol \
X		${WRKSRC}/doc/RELEASE_23.spamcontrol ${WRKSRC}/doc/LOGGING.spamcontrol \
X		${WRKSRC}/doc/SMTPREPLY.spamcontrol
X
X# Using default from master port, i.e., /var/qmail
XPREFIX?=	${QMAIL_PORT_PREFIX}
X
X.if !defined(PRE_MK_INCLUDED)
X.include <bsd.port.pre.mk>
X.endif
X
XQMAIL_PORT=	${.CURDIR}/../qmail
XQMAIL_PORT_PREFIX!=	cd ${QMAIL_PORT} && ${MAKE} -V PREFIX
X
X# Fill SELECTED_OPTIONS with options to write conf-spamcontrol
X.if defined(SPAMCONTROL_WITH_RELAYMAILFROM)
XSELECTED_OPTIONS+=	relaymailfrom=yes
X.else
XSELECTED_OPTIONS+=	relaymailfrom=no
X.endif
X
X.if defined(SPAMCONTROL_WITH_QUITASAP)
XSELECTED_OPTIONS+=	quitasap=yes
X.else
XSELECTED_OPTIONS+=	quitasap=no
X.endif
X
X.if !defined(SPAMCONTROL_WITHOUT_REQBRACKETS)
XSELECTED_OPTIONS+=	reqbrackets=yes
X.else
XSELECTED_OPTIONS+=	reqbrackets=no
X.endif
X
X.if !defined(SPAMCONTROL_WITHOUT_VERP)
XSELECTED_OPTIONS+=	verp=yes
X.else
XSELECTED_OPTIONS+=	verp=no
X.endif
X
X.if defined(SPAMCONTROL_WITH_RECIPIENTS550)
XSELECTED_OPTIONS+=	recipients550=yes
X.else
XSELECTED_OPTIONS+=	recipients550=no
X.endif
X
X.if defined(SPAMCONTROL_WITH_LOCALMFREQAUTH)
XSELECTED_OPTIONS+=	localmfreqauth=yes
X.else
XSELECTED_OPTIONS+=	localmfreqauth=no
X.endif
X
X.if defined(SPAMCONTROL_WITH_AUTHCRAM)
XSELECTED_OPTIONS+=	authcram=yes
X.else
XSELECTED_OPTIONS+=	authcram=no
X.endif
X
X.if defined(SPAMCONTROL_WITH_MOREIPME)
XSELECTED_OPTIONS+=	moreipme=yes
X.else
XSELECTED_OPTIONS+=	moreipme=no
X.endif
X
X.if defined(SPAMCONTROL_WITH_BIGTODO)
XSELECTED_OPTIONS+=	bigtodo=yes
X.else
XSELECTED_OPTIONS+=	bigtodo=no
X.endif
X
Xpre-fetch: qmail-spamcontrol-pre-fetch
X
Xqmail-spamcontrol-pre-fetch:
X	@${ECHO_MSG} ""
X	@${ECHO_MSG} "You may use the following build options:"
X	@${ECHO_MSG} ""
X	@${ECHO_MSG} "SPAMCONTROL_WITH_RELAYMAILFROM		Permit to open relay based"
X	@${ECHO_MSG} "					on mailfrom (may be dangerous)"
X	@${ECHO_MSG} "SPAMCONTROL_WITH_QUITASAP		Close SMTP session in case of a"
X	@${ECHO_MSG} "					filter condition (violates SMTP RFC)"
X	@${ECHO_MSG} "SPAMCONTROL_WITHOUT_REQBRACKETS	Disable function that requires"
X	@${ECHO_MSG} "					brackets in <addresses>"
X	@${ECHO_MSG} "SPAMCONTROL_WITHOUT_VERP		Disable VERP addresses for recipients"
X	@${ECHO_MSG} "SPAMCONTROL_WITH_RECIPIENTS550		In case of non existing"
X	@${ECHO_MSG} "					recipients get a direct 550 reply"
X	@${ECHO_MSG} "					instead of a deferred bounce (via 450)"
X	@${ECHO_MSG} "SPAMCONTROL_WITH_LOCALMFREQAUTH		Require authentication when"
X	@${ECHO_MSG} "					mailfrom is @ your local-domains"
X	@${ECHO_MSG} "SPAMCONTROL_WITH_AUTHCRAM		Aditional CRAM-MD5 support; needs"
X	@${ECHO_MSG} "					a CRAM-MD5 supporting PAM (ie. cmd5chkpw)"
X	@${ECHO_MSG} "SPAMCONTROL_WITH_MOREIPME		Scott Gifford's additional control"
X	@${ECHO_MSG} "					files moreipme and notipme"
X	@${ECHO_MSG} "SPAMCONTROL_WITH_BIGTODO		Bruce Guenter's BigToDo patch	consider"
X	@${ECHO_MSG} "					raising conf-split in the first place"
X	@${ECHO_MSG} ""
X
Xpre-patch: qmail-spamcontrol-pre-patch
X
Xqmail-spamcontrol-pre-patch:
X	@${ECHO_CMD} "# generated by qmail-spamcontrol port" > ${SPAMCONTROL_CONF}
X	@for F in ${SELECTED_OPTIONS}; do \
X	  ${ECHO_CMD} "$$F" >> ${SPAMCONTROL_CONF}; \
X	done
X
Xslaveport-post-patch: qmail-spamcontrol-post-patch
X
Xqmail-spamcontrol-post-patch:
X	@cd ${WRKSRC} ; \
X	${TAR} -xzf ${DISTDIR}/spamcontrol-${SPAMCONTROL_VERSION}_tgz.bin ; \
X	${PATCH} < ${.CURDIR}/files/spamcontrol.patch; \
X	${CP} ${SPAMCONTROL_CONF} ${WRKSRC}; \
X	${ECHO_CMD} ${WRKSRC} > ${WRKSRC}/conf-qmail; \
X	./install_spamcontrol.sh
X
Xpost-install:
X	@${MKDIR} ${PREFIX}/scripts; \
X	for F in ${WRKSRC}/scripts/*; do \
X	  ${INSTALL_SCRIPT} $$F ${PREFIX}/scripts; \
X	done
X
X# Local overrides
XMASTERDIR=	${QMAIL_PORT}
XPKGDIR_LOCAL=	${.CURDIR}
XDESCR=		${PKGDIR_LOCAL}/pkg-descr
XPLIST=		${PKGDIR_LOCAL}/pkg-plist
XMD5_FILE=	${PKGDIR_LOCAL}/distinfo
X
X.include "${MASTERDIR}/Makefile"
END-of-qmail-spamcontrol/Makefile
echo x - qmail-spamcontrol/pkg-descr
sed 's/^X//' >qmail-spamcontrol/pkg-descr << 'END-of-qmail-spamcontrol/pkg-descr'
XSpamControl is a collection of patches for qmail developed and maintained
Xby Erwin Hoffman (feh@fehcom.de).
X
XSome SpamControl features: smtp-auth (plain, login and cram-md5),
Xrequirement of brackets on addresses, qmail-queue, bigtodo, moreipme, 
Xrecipients...
X
XWWW: http://www.fehcom.de/qmail/spamcontrol.html
END-of-qmail-spamcontrol/pkg-descr
echo x - qmail-spamcontrol/pkg-plist
sed 's/^X//' >qmail-spamcontrol/pkg-plist << 'END-of-qmail-spamcontrol/pkg-plist'
X%%PORTDOCS%%%%DOCDIR%%/FAQ
X%%PORTDOCS%%%%DOCDIR%%/UPGRADE
X%%PORTDOCS%%%%DOCDIR%%/SENDMAIL
X%%PORTDOCS%%%%DOCDIR%%/INSTALL
X%%PORTDOCS%%%%DOCDIR%%/INSTALL.alias
X%%PORTDOCS%%%%DOCDIR%%/INSTALL.ctl
X%%PORTDOCS%%%%DOCDIR%%/INSTALL.ids
X%%PORTDOCS%%%%DOCDIR%%/INSTALL.maildir
X%%PORTDOCS%%%%DOCDIR%%/INSTALL.mbox
X%%PORTDOCS%%%%DOCDIR%%/INSTALL.vsm
X%%PORTDOCS%%%%DOCDIR%%/TEST.deliver
X%%PORTDOCS%%%%DOCDIR%%/TEST.receive
X%%PORTDOCS%%%%DOCDIR%%/REMOVE.sendmail
X%%PORTDOCS%%%%DOCDIR%%/REMOVE.binmail
X%%PORTDOCS%%%%DOCDIR%%/PIC.local2alias
X%%PORTDOCS%%%%DOCDIR%%/PIC.local2ext
X%%PORTDOCS%%%%DOCDIR%%/PIC.local2local
X%%PORTDOCS%%%%DOCDIR%%/PIC.local2rem
X%%PORTDOCS%%%%DOCDIR%%/PIC.local2virt
X%%PORTDOCS%%%%DOCDIR%%/PIC.nullclient
X%%PORTDOCS%%%%DOCDIR%%/PIC.relaybad
X%%PORTDOCS%%%%DOCDIR%%/PIC.relaygood
X%%PORTDOCS%%%%DOCDIR%%/PIC.rem2local
X%%PORTDOCS%%%%DOCDIR%%/conf-spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/Makefile.djbdns
X%%PORTDOCS%%%%DOCDIR%%/badmailfrom
X%%PORTDOCS%%%%DOCDIR%%/badmimetypes
X%%PORTDOCS%%%%DOCDIR%%/badloadertypes
X%%PORTDOCS%%%%DOCDIR%%/badrcptto
X%%PORTDOCS%%%%DOCDIR%%/tarpitcount
X%%PORTDOCS%%%%DOCDIR%%/install_spamcontrol.sh
X%%PORTDOCS%%%%DOCDIR%%/README.spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/README_spamcontrol.html
X%%PORTDOCS%%%%DOCDIR%%/README.wildmat
X%%PORTDOCS%%%%DOCDIR%%/README.auth
X%%PORTDOCS%%%%DOCDIR%%/README.moreipme
X%%PORTDOCS%%%%DOCDIR%%/README.bigtodo
X%%PORTDOCS%%%%DOCDIR%%/README.qmailqueue
X%%PORTDOCS%%%%DOCDIR%%/README.bouncemaxbytes
X%%PORTDOCS%%%%DOCDIR%%/README.doublebouncetrim
X%%PORTDOCS%%%%DOCDIR%%/README.recipients
X%%PORTDOCS%%%%DOCDIR%%/README.djbdns
X%%PORTDOCS%%%%DOCDIR%%/INSTALL.spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/TESTING.spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/HISTORY.spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/FILES.spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/LICENSE.spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/TODO.spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/RELEASE_22.spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/RELEASE_23.spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/LOGGING.spamcontrol
X%%PORTDOCS%%%%DOCDIR%%/SMTPREPLY.spamcontrol
X
X%%PORTDOCS%%/scripts/qmail-alias2recipients
X%%PORTDOCS%%/scripts/qmail-users2recipients
X%%PORTDOCS%%/scripts/qmail-pwd2recipients
X%%PORTDOCS%%/scripts/qmail-vpopmail2recipients
X@dirrm %%PORTDOCS%%/scripts
X
Xboot/home
Xboot/home+df
Xboot/proc
Xboot/proc+df
Xboot/binm1
Xboot/binm1+df
Xboot/binm2
Xboot/binm2+df
Xboot/binm3
Xboot/binm3+df
X
X@group qmail
X@mode 04711
X@comment *** NOTE different owner
X@owner qmailq
Xbin/qmail-queue
X@owner
X@mode 0700
Xbin/qmail-lspawn
X@mode 0700
Xbin/qmail-start
X@mode 0711
Xbin/qmail-getpw
X@mode 0711
Xbin/qmail-local
X@mode 0711
Xbin/qmail-remote
X@mode 0711
Xbin/qmail-rspawn
X@mode 0711
Xbin/qmail-clean
X@mode 0711
Xbin/qmail-send
X@mode 0711
Xbin/splogger
X@mode 0700
Xbin/qmail-newu
X@mode 0700
Xbin/qmail-newmrh
X@mode 0711
Xbin/qmail-pw2u
X@mode 0755
Xbin/qmail-inject
X@mode 0755
Xbin/predate
X@mode 0755
Xbin/datemail
X@mode 0755
Xbin/mailsubj
X@mode 0755
Xbin/qmail-showctl
X@mode 0755
Xbin/qmail-qread
X@mode 0755
Xbin/qmail-qstat
X@mode 0755
Xbin/qmail-tcpto
X@mode 0755
Xbin/qmail-tcpok
X@mode 0755
Xbin/qmail-pop3d
X@mode 0711
Xbin/qmail-popup
X@mode 0755
Xbin/qmail-qmqpc
X@mode 0755
Xbin/qmail-qmqpd
X@mode 0755
Xbin/qmail-qmtpd
X@mode 0755
Xbin/qmail-smtpd
X@mode 0755
Xbin/sendmail
X@mode 0755
Xbin/tcp-env
X@mode 0755
Xbin/qreceipt
X@mode 0755
Xbin/qsmhook
X@mode 0755
Xbin/qbiff
X@mode 0755
Xbin/forward
X@mode 0755
Xbin/preline
X@mode 0755
Xbin/condredirect
X@mode 0755
Xbin/bouncesaying
X@mode 0755
Xbin/except
X@mode 0755
Xbin/maildirmake
X@mode 0755
Xbin/maildir2mbox
X@mode 0755
Xbin/maildirwatch
X@mode 0755
Xbin/qail
X@mode 0755
Xbin/elq
X@mode 0755
Xbin/pinq
X@mode 0700
Xbin/qmail-badloadertypes
X@mode 0700
Xbin/qmail-badmimetypes
X@mode 0700
Xbin/qmail-recipients
X
X@group
X@owner
X@mode
X
X@comment This port installs the following manually (ie. not through qmail-hier)
Xconfigure/install
Xconfigure/config
Xconfigure/config-fast
Xconfigure/dnsfq
Xconfigure/hostname
Xconfigure/dnsip
Xconfigure/ipmeprint
Xconfigure/dnsptr
X%%PORTDOCS%%%%DOCDIR%%/BLURB
X%%PORTDOCS%%%%DOCDIR%%/BLURB2
X%%PORTDOCS%%%%DOCDIR%%/BLURB3
X%%PORTDOCS%%%%DOCDIR%%/BLURB4
X%%PORTDOCS%%%%DOCDIR%%/INTERNALS
X%%PORTDOCS%%%%DOCDIR%%/SECURITY
X%%PORTDOCS%%%%DOCDIR%%/THOUGHTS
X%%PORTDOCS%%%%DOCDIR%%/PORT_NOTES
X%%PORTDOCS%%%%DOCDIR%%/PORT_NOTES_FreeBSD_40-RELEASE
X%%PORTDOCS%%%%DOCDIR%%/SYSDEPS
X%%PORTDOCS%%%%DOCDIR%%/mailer.conf.sample
X%%PORTDOCS%%%%DOCDIR%%/mkaliasdir
Xboot/maildir
X%%PORTDOCS%%@dirrm %%DOCDIR%%
X@dirrm configure
X@dirrm boot
X@dirrm bin
X
X@unexec echo "1) If you are permanently removing qmail, you should also ``rm -Rf ${PKG_PREFIX}/alias ${PKG_PREFIX}/control ${PKG_PREFIX}/queue ${PKG_PREFIX}/users'' and remove the qmail users/groups." | /usr/bin/fmt
X@unexec echo "2) Do not forget to reconfigure your /etc/mail/mailer.conf to use your older MTA, or reconfigure your old MTA binaries if you decided to replace them." | /usr/bin/fmt
X@unexec echo "3) Do not forget to enable sendmail as your default MTA if you have to. Go to mail/qmail portsdir and do a 'make enable-sendmail'" | /usr/bin/fmt
END-of-qmail-spamcontrol/pkg-plist
echo x - qmail-spamcontrol/distinfo
sed 's/^X//' >qmail-spamcontrol/distinfo << 'END-of-qmail-spamcontrol/distinfo'
XMD5 (qmail-1.03.tar.gz) = 622f65f982e380dbe86e6574f3abcb7c
XSIZE (qmail-1.03.tar.gz) = 220668
XMD5 (spamcontrol-2312_tgz.bin) = 48dde71e5437d16c0911a3ff550d258b
XSIZE (spamcontrol-2312_tgz.bin) = 116947
END-of-qmail-spamcontrol/distinfo
exit
Comment 4 Sergei Kolobov freebsd_committer freebsd_triage 2005-03-11 16:29:38 UTC
State Changed
From-To: open->closed

New port added, thanks!