summaryrefslogtreecommitdiff
path: root/mail/spamass-milter
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2005-04-07 11:27:48 +0000
committerwiz <wiz@pkgsrc.org>2005-04-07 11:27:48 +0000
commit5671838e7a5a27824bb21aea8af5f48f9eab350b (patch)
treedefbe22a77b701c962d78455b0eeb7cbc3326a17 /mail/spamass-milter
parenta1951ab95b379487b707c069133c49e6eee909a9 (diff)
downloadpkgsrc-5671838e7a5a27824bb21aea8af5f48f9eab350b.tar.gz
Update to 0.3.0nb1:
Add a patch from Yoshitaka Tokugawa provided in PR 26806, which has also been added to the spamass CVS repository: Always use macro_b, so SA can do future/past validation. It is not a bug, but it makes SA happier. SA 2.x requires "($v/$Z)$?r with $r" part of Received: header. I don't think SA 3.x need this, but keep it for SA 2.x users. There is a bug in cmp_nocase_partial() function. Without my hack, cmp_nocase_partial("X-Spam-", "X-Spam") returns 0 which is incorrect behavior for this function.
Diffstat (limited to 'mail/spamass-milter')
-rw-r--r--mail/spamass-milter/Makefile3
-rw-r--r--mail/spamass-milter/distinfo3
-rw-r--r--mail/spamass-milter/patches/patch-aa62
3 files changed, 66 insertions, 2 deletions
diff --git a/mail/spamass-milter/Makefile b/mail/spamass-milter/Makefile
index 12e5fc54665..c9ade96ff69 100644
--- a/mail/spamass-milter/Makefile
+++ b/mail/spamass-milter/Makefile
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.15 2005/03/19 14:32:47 wiz Exp $
+# $NetBSD: Makefile,v 1.16 2005/04/07 11:27:48 wiz Exp $
#
DISTNAME= spamass-milter-0.3.0
+PKGREVISION= 1
CATEGORIES= mail
MASTER_SITES= http://savannah.nongnu.org/download/spamass-milt/
diff --git a/mail/spamass-milter/distinfo b/mail/spamass-milter/distinfo
index 974f868fec3..243fa1c3c3d 100644
--- a/mail/spamass-milter/distinfo
+++ b/mail/spamass-milter/distinfo
@@ -1,5 +1,6 @@
-$NetBSD: distinfo,v 1.4 2005/03/19 14:32:47 wiz Exp $
+$NetBSD: distinfo,v 1.5 2005/04/07 11:27:48 wiz Exp $
SHA1 (spamass-milter-0.3.0.tar.gz) = 383de2178f81ef88fb0d43d0c36ce973f67d10cf
RMD160 (spamass-milter-0.3.0.tar.gz) = b65af53900ca3eef37ccc27a266ea2143000a0bc
Size (spamass-milter-0.3.0.tar.gz) = 140126 bytes
+SHA1 (patch-aa) = d732c46132d05030e7df0c85109e9d740af22b51
diff --git a/mail/spamass-milter/patches/patch-aa b/mail/spamass-milter/patches/patch-aa
new file mode 100644
index 00000000000..5428e3bbce3
--- /dev/null
+++ b/mail/spamass-milter/patches/patch-aa
@@ -0,0 +1,62 @@
+$NetBSD: patch-aa,v 1.1 2005/04/07 11:27:48 wiz Exp $
+
+--- spamass-milter.cpp.orig 2005-02-05 08:03:22.000000000 +0100
++++ spamass-milter.cpp
+@@ -898,13 +898,21 @@ mlfi_envrcpt(SMFICTX* ctx, char** envrcp
+ (envelope-from $g)$.
+
+ */
+- const char *macro_b, *macro_s, *macro_j, *macro__;
++ const char *macro_b, *macro_s, *macro_j, *macro__, *macro_r;
++ char date[32]; /* sizeof("Mon, 23 Aug 2004 18:28:43 +0900") */
++ time_t tval;
+
+ /* Failure to fetch {b} is not fatal. Without this date SA can't do
+ future/past validation on the Date: header, but sendmail doesn't
+ default to allow milters to see it.
+ */
+ macro_b = smfi_getsymval(ctx, "b");
++ if (!macro_b)
++ {
++ (void) time(&tval);
++ (void) strftime(date, sizeof(date), "%a, %d %b %Y %H:%M:%S %z", localtime(&tval));
++ macro_b = date;
++ }
+
+ /* Sendmail currently cannot pass us the {s} macro, but
+ I do not know why. Leave this in for the day sendmail is
+@@ -916,6 +924,10 @@ mlfi_envrcpt(SMFICTX* ctx, char** envrcp
+ macro_s = sctx->helo;
+ if (!macro_s)
+ macro_s = "nohelo";
++ /* Get mailer info. */
++ macro_r = smfi_getsymval(ctx, "r");
++ if (!macro_r)
++ macro_r = "SMTP"; /* Assuming it as SMTP */
+
+ /* FQDN of this site */
+ macro_j = smfi_getsymval(ctx, "j");
+@@ -930,10 +942,10 @@ mlfi_envrcpt(SMFICTX* ctx, char** envrcp
+ assassin->output((string)"X-Envelope-From: "+assassin->from()+"\r\n");
+ assassin->output((string)"X-Envelope-To: "+envrcpt[0]+"\r\n");
+
+- if (!macro_b)
+- assassin->output((string)"Received: from "+macro_s+" ("+macro__+") by "+macro_j+";\r\n");
+- else
+- assassin->output((string)"Received: from "+macro_s+" ("+macro__+") by "+macro_j+"; "+macro_b+"\r\n");
++ assassin->output((string)"Received: from "+macro_s
++ +" ("+macro__+")\n\tby "+macro_j
++ +" ("+PACKAGE_NAME+"/"+PACKAGE_VERSION /* dummy */
++ +") with "+macro_r+";\n\t"+macro_b+"\r\n");
+
+ } else
+ assassin->output((string)"X-Envelope-To: "+envrcpt[0]+"\r\n");
+@@ -1965,7 +1977,7 @@ cmp_nocase_partial(const string& s, cons
+ string::const_iterator p=s.begin();
+ string::const_iterator p2=s2.begin();
+
+- while ( p != s.end() && p2 != s2.end() ) {
++ while ( p != s.end() ) {
+ if (toupper(*p) != toupper(*p2))
+ {
+ debug(D_STR, "c_nc_p: <%s><%s> : miss", s.c_str(), s2.c_str());