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
Responsible Changed From-To: freebsd-ports-bugs->sergei I will handle it.
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
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
State Changed From-To: open->closed New port added, thanks!