aboutsummaryrefslogtreecommitdiff
path: root/mail/qmail-spamcontrol
diff options
context:
space:
mode:
authorRenato Botelho <garga@FreeBSD.org>2006-05-29 13:32:06 +0000
committerRenato Botelho <garga@FreeBSD.org>2006-05-29 13:32:06 +0000
commit5e5767703e842c26e4ba6ba81f1fdc962e1d88cd (patch)
tree7e0377dc16604854dd36daa75dbed33406f28e6a /mail/qmail-spamcontrol
parentb8bb9a6d26ec306b8878b4fb130ab62051d6efa9 (diff)
downloadports-5e5767703e842c26e4ba6ba81f1fdc962e1d88cd.tar.gz
ports-5e5767703e842c26e4ba6ba81f1fdc962e1d88cd.zip
- Update qmail-spamcontrol to 2.4.14, finally with STARTTLS support
Notes
Notes: svn path=/head/; revision=163839
Diffstat (limited to 'mail/qmail-spamcontrol')
-rw-r--r--mail/qmail-spamcontrol/Makefile4
-rw-r--r--mail/qmail-spamcontrol/files/patch-qmail-smtpd.c.patch282
-rw-r--r--mail/qmail-spamcontrol/pkg-descr2
3 files changed, 3 insertions, 285 deletions
diff --git a/mail/qmail-spamcontrol/Makefile b/mail/qmail-spamcontrol/Makefile
index 0f73edf1d773..3e32b4af9d7b 100644
--- a/mail/qmail-spamcontrol/Makefile
+++ b/mail/qmail-spamcontrol/Makefile
@@ -7,7 +7,7 @@
PORTNAME= qmail
PORTVERSION= ${QMAIL_VERSION}.${SPAMCONTROL_VERSION}
-PORTREVISION= 1
+PORTREVISION= 0
CATEGORIES= mail
MASTER_SITES+= http://www.fehcom.de/qmail/spamcontrol/:spamcontrol
PKGNAMESUFFIX= -spamcontrol
@@ -21,7 +21,7 @@ EXTRA_PATCHES+= ${MASTERDIR}/files/patch-install.c
# Distfiles
QMAIL_DIST= ${PORTNAME}-${QMAIL_VERSION}${EXTRACT_SUFX}
SPAMCONTROL_DIST= spamcontrol-${SPAMCONTROL_VERSION}_tgz.bin
-SPAMCONTROL_VERSION= 2317
+SPAMCONTROL_VERSION= 2414
LATEST_LINK= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
SLAVE_SPAMCONTROL= yes
diff --git a/mail/qmail-spamcontrol/files/patch-qmail-smtpd.c.patch b/mail/qmail-spamcontrol/files/patch-qmail-smtpd.c.patch
deleted file mode 100644
index 839a60ca2da9..000000000000
--- a/mail/qmail-spamcontrol/files/patch-qmail-smtpd.c.patch
+++ /dev/null
@@ -1,282 +0,0 @@
---- ../orig/qmail-smtpd.c.patch Sat Oct 8 10:08:32 2005
-+++ qmail-smtpd.c.patch Thu Oct 13 08:37:17 2005
-@@ -1,8 +1,6 @@
----- qmail-smtpd.c.orig 1998-06-15
--+++ qmail-smtpd.c 2005-10-08
----- .././qmail-1.03/qmail-smtpd.c Mon Jun 15 12:53:16 1998
--+++ ../qmail-1.03.2317/qmail-smtpd.c Sat Oct 8 15:07:19 2005
--@@ -20,14 +20,51 @@
-+--- qmail-smtpd.c.orig Thu Oct 13 08:36:39 2005
-++++ qmail-smtpd.c Thu Oct 13 08:36:20 2005
-+@@ -20,14 +20,54 @@
- #include "now.h"
- #include "exit.h"
- #include "rcpthosts.h"
-@@ -20,6 +18,9 @@
- +#define CRAM_MD5
- +#define AUTHSLEEP 5
- +#define RECIPIENTS550
-++// <Added by Garga>
-++#define LOCALMFREQAUTH
-++// </Added by Garga>
- +
- +#define MIMETYPE_LEN 9
- +#define LOADER_LEN 5
-@@ -55,7 +56,7 @@
- int safewrite(fd,buf,len) int fd; char *buf; int len;
- {
- int r;
--@@ -48,9 +85,6 @@
-+@@ -48,9 +88,6 @@
- void die_control() { out("421 unable to read controls (#4.3.0)\r\n"); flush(); _exit(1); }
- void die_ipme() { out("421 unable to figure out my IP addresses (#4.3.0)\r\n"); flush(); _exit(1); }
- void straynewline() { out("451 See http://pobox.com/~djb/docs/smtplf.html.\r\n"); flush(); _exit(1); }
-@@ -65,7 +66,7 @@
- void err_unimpl() { out("502 unimplemented (#5.5.1)\r\n"); }
- void err_syntax() { out("555 syntax error (#5.5.4)\r\n"); }
- void err_wantmail() { out("503 MAIL first (#5.5.1)\r\n"); }
--@@ -58,6 +92,114 @@
-+@@ -58,6 +95,114 @@
- void err_noop() { out("250 ok\r\n"); }
- void err_vrfy() { out("252 send some mail, i'll try my best\r\n"); }
- void err_qqt() { out("451 qqt failure (#4.3.0)\r\n"); }
-@@ -180,7 +181,7 @@
-
-
- stralloc greeting = {0};
--@@ -76,6 +218,7 @@
-+@@ -76,6 +221,7 @@
- smtp_greet("221 "); out("\r\n"); flush(); _exit(0);
- }
-
-@@ -188,7 +189,7 @@
- char *remoteip;
- char *remotehost;
- char *remoteinfo;
--@@ -85,10 +228,30 @@
-+@@ -85,10 +231,30 @@
- stralloc helohost = {0};
- char *fakehelo; /* pointer into helohost, or 0 */
-
-@@ -220,7 +221,7 @@
- }
-
- int liphostok = 0;
--@@ -97,6 +260,39 @@
-+@@ -97,6 +263,42 @@
- stralloc bmf = {0};
- struct constmap mapbmf;
-
-@@ -248,6 +249,9 @@
- +char *localmfcheck;
- +char *mfdnscheck;
- +char *reqauth;
-++// <Added by Garga>
-++char *localmf_reqauth;
-++// </Added by Garga>
- +
- +int maxrcptcount = 0;
- +int flaglocal = -1;
-@@ -260,7 +264,7 @@
- void setup()
- {
- char *x;
--@@ -111,17 +307,24 @@
-+@@ -111,17 +313,24 @@
- if (timeout <= 0) timeout = 1;
-
- if (rcpthosts_init() == -1) die_control();
-@@ -286,7 +290,7 @@
- remoteip = env_get("TCPREMOTEIP");
- if (!remoteip) remoteip = "unknown";
- local = env_get("TCPLOCALHOST");
--@@ -131,11 +334,72 @@
-+@@ -131,11 +340,80 @@
- if (!remotehost) remotehost = "unknown";
- remoteinfo = env_get("TCPREMOTEINFO");
- relayclient = env_get("RELAYCLIENT");
-@@ -338,6 +342,14 @@
- + qhpsi = env_get("QHPSI");
- + if (!qhpsi) qhpsi = "unknown";
- +
-++// <Added by Garga>
-++#ifdef LOCALMFREQAUTH
-++ localmf_reqauth = env_get("LOCALMFREQAUTH");
-++#else
-++ localmf_reqauth = 0;
-++#endif
-++// </Added by Garga>
-++
- +#ifdef RELAYMAILFROM
- + if (!relayclient) {
- + relaymailfromok = control_readfile(&relaymailfrom,"control/relaymailfrom",0);
-@@ -360,7 +372,7 @@
-
- int addrparse(arg)
- char *arg;
--@@ -151,12 +415,17 @@
-+@@ -151,12 +429,17 @@
- i = str_chr(arg,'<');
- if (arg[i])
- arg += i + 1;
-@@ -378,17 +390,12 @@
-
- /* strip source route */
- if (*arg == '@') while (*arg) if (*arg++ == ':') break;
--@@ -199,12 +468,106 @@
-+@@ -199,12 +482,106 @@
-
- int bmfcheck()
- {
- + int i;
-- int j;
--- if (!bmfok) return 0;
--- if (constmap(&mapbmf,addr.s,addr.len - 1)) return 1;
--- j = byte_rchr(addr.s,addr.len,'@');
--- if (j < addr.len)
--- if (constmap(&mapbmf,addr.s + j,addr.len - j - 1)) return 1;
-++ int j;
- + int k = 0;
- + char subvalue;
- +
-@@ -439,7 +446,12 @@
- +int bhelocheck()
- +{
- + int i;
--+ int j;
-+ int j;
-+- if (!bmfok) return 0;
-+- if (constmap(&mapbmf,addr.s,addr.len - 1)) return 1;
-+- j = byte_rchr(addr.s,addr.len,'@');
-+- if (j < addr.len)
-+- if (constmap(&mapbmf,addr.s + j,addr.len - j - 1)) return 1;
- + int k = 0;
- + char subvalue;
- +
-@@ -490,7 +502,7 @@
- return 0;
- }
-
--@@ -216,54 +579,205 @@
-+@@ -216,54 +593,219 @@
- return r;
- }
-
-@@ -511,7 +523,6 @@
- + j = byte_rchr(addr.s,addr.len,'@');
- + if (j < addr.len)
- + if (!str_diffn(localmfcheck,addr.s+j+1,addr.len-j-1)) return 1;
--+ else return 0;
- + }
- + return addrallowed();
- +}
-@@ -586,6 +597,18 @@
- + }
- +}
- +
-++// <Added by Garga>
-++int mailfromallowed()
-++{
-++ int r;
-++
-++ r = rcpthosts(mailfrom.s,strlen(mailfrom.s));
-++ if (r == -1) die_control();
-++
-++ return ((r == 1) ? 0 : 1);
-++}
-++// </Added by Garga>
-++
- +#ifdef RELAYMAILFROM
- +int rmfcheck()
- +{
-@@ -632,7 +655,6 @@
- - flagbarf = bmfcheck();
- - seenmail = 1;
- + flagsize = 0;
--+ rcptcount = 0;
- + mailfrom_parms(arg);
- + seenmail++;
- + if (relayclient) {
-@@ -669,6 +691,9 @@
- + if (flagbarf) { err_bmf("Reject::ORIG::Bad_Mailfrom:",remoteip,remotehost,helohost.s,mailfrom.s,addr.s); return; }
- + if (flagdnsmf > 0) { err_mfdns("Reject::ORIG::DNS_MF:",remoteip,remotehost,helohost.s,mailfrom.s,addr.s); return; }
- + if (reqauth) if (!flagauth) { err_authreq("Reject::ORIG::Missing_Auth:",remoteip,remotehost,helohost.s,mailfrom.s,addr.s); return; }
-++ // <Added by Garga>
-++ if (localmf_reqauth && !flagauth && !mailfromallowed()) { err_authreq("Reject::ORIG::Local_MailFrom_Req_Auth:",remoteip,remotehost,helohost.s,mailfrom.s,addr.s); return; }
-++ // </Added by Garga>
- + flagrcpt = rcptallowed();
- + if (!flagrcpt) { err_recipient("Reject::RCPT::Failed_Rcptto:",remoteip,remotehost,helohost.s,mailfrom.s,addr.s); flagerrcpts++; return; }
- + if (tarpitcount && flagerrcpts >= tarpitcount) { err_rcpts("Reject::RCPT::Toomany_Rcptto:",remoteip,remotehost,helohost.s,mailfrom.s,addr.s); return; }
-@@ -679,6 +704,7 @@
- - if (!addrallowed()) { err_nogateway(); return; }
- + flagrcpt = brtcheck();
- + if (flagrcpt) { err_brcptto("Reject::RCPT::Bad_Rcptto:",remoteip,remotehost,helohost.s,mailfrom.s,addr.s); return; }
-++ if (mailfrom.len == 1 && rcptcount > 1) { err_bounce("Reject::ORIG::Invalid_Nullsender:",remoteip,remotehost,helohost.s,addr.s); return; }
- + if (flagsize) { err_size(); log5("Reject::DATA::Invalid_Size:",remoteip,remotehost,helohost.s,addr.s); return; }
- +
- if (!stralloc_cats(&rcptto,"T")) die_nomem();
-@@ -706,7 +732,7 @@
-
- int saferead(fd,buf,len) int fd; char *buf; int len;
- {
--@@ -279,11 +793,69 @@
-+@@ -279,11 +821,69 @@
- substdio ssin = SUBSTDIO_FDBUF(saferead,0,ssinbuf,sizeof ssinbuf);
-
- struct qmail qqt;
-@@ -777,7 +803,7 @@
- if (bytestooverflow)
- if (!--bytestooverflow)
- qmail_fail(&qqt);
--@@ -316,8 +888,8 @@
-+@@ -316,8 +916,8 @@
- if (flagmaybex) if (pos == 7) ++*hops;
- if (pos < 2) if (ch != "\r\n"[pos]) flagmaybey = 0;
- if (flagmaybey) if (pos == 1) flaginheader = 0;
-@@ -787,7 +813,13 @@
- if (ch == '\n') { pos = 0; flagmaybex = flagmaybey = flagmaybez = 1; }
- }
- switch(state) {
--@@ -378,26 +950,269 @@
-+@@ -373,31 +973,275 @@
-+ if (!seenmail) { err_wantmail(); return; }
-+ if (!rcptto.len) { err_wantrcpt(); return; }
-+ seenmail = 0;
-++ rcptcount = 0;
-+ if (databytes) bytestooverflow = databytes + 1;
-+ if (qmail_open(&qqt) == -1) { err_qqt(); return; }
- qp = qmail_qp(&qqt);
- out("354 go ahead\r\n");
-
-@@ -994,7 +1026,7 @@
- +
- + if (!user.len || !pass.len) return err_input();
- + return authenticate();
--+}
-+ }
- +#endif
- +
- +struct authcmd {
-@@ -1049,10 +1081,10 @@
- + case 1:
- + err_authfail("Reject::ORIG::Failed_Auth:",remoteip,remotehost,helohost.s,user.s,authcmds[i].text);
- + }
-- }
--
--+/* this file is too long --------------------------------------------- GO ON */
-++}
- +
-++/* this file is too long --------------------------------------------- GO ON */
-+
- struct commands smtpcommands[] = {
- { "rcpt", smtp_rcpt, 0 }
- , { "mail", smtp_mail, 0 }
-@@ -1061,7 +1093,7 @@
- , { "quit", smtp_quit, flush }
- , { "helo", smtp_helo, flush }
- , { "ehlo", smtp_ehlo, flush }
--@@ -408,8 +1223,11 @@
-+@@ -408,8 +1252,11 @@
- , { 0, err_unimpl, flush }
- } ;
-
diff --git a/mail/qmail-spamcontrol/pkg-descr b/mail/qmail-spamcontrol/pkg-descr
index b8c0852ade82..7c235cefbd2c 100644
--- a/mail/qmail-spamcontrol/pkg-descr
+++ b/mail/qmail-spamcontrol/pkg-descr
@@ -3,6 +3,6 @@ by Erwin Hoffmann (feh@fehcom.de).
Some SpamControl features: smtp-auth (plain, login and cram-md5),
requirement of brackets on addresses, qmail-queue, bigtodo, moreipme,
-recipients...
+recipients, STARTTLS...
WWW: http://www.fehcom.de/qmail/spamcontrol.html