aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authorume <ume@FreeBSD.org>2006-03-24 10:30:36 +0800
committerume <ume@FreeBSD.org>2006-03-24 10:30:36 +0800
commit400898b7cfe1fde1a651f5994044d3690e1da843 (patch)
tree9d4b18303fb21012664596acf221bbe30bfcd4e4 /mail
parente86ac09adffd6dc7aec1c71cf0e46d7d5173fe7b (diff)
downloadfreebsd-ports-gnome-400898b7cfe1fde1a651f5994044d3690e1da843.tar.gz
freebsd-ports-gnome-400898b7cfe1fde1a651f5994044d3690e1da843.tar.zst
freebsd-ports-gnome-400898b7cfe1fde1a651f5994044d3690e1da843.zip
The recent change to SA-3.1.1 in PerMsgStatus.pm caused some headers
to leak into the displayed message when using spamass-milter, due to the handing of LF/CR. Dan Nelson, the author of Spamass-Milter, kindly replicated the problem and provided the patch. Submitted by: Forrest Aldrich <forrie__at__forrie.com>
Diffstat (limited to 'mail')
-rw-r--r--mail/spamass-milter/Makefile1
-rw-r--r--mail/spamass-milter/files/patch-spamass-milter.cpp24
2 files changed, 25 insertions, 0 deletions
diff --git a/mail/spamass-milter/Makefile b/mail/spamass-milter/Makefile
index 1f1cc44df214..acc01f7b807e 100644
--- a/mail/spamass-milter/Makefile
+++ b/mail/spamass-milter/Makefile
@@ -7,6 +7,7 @@
PORTNAME= spamass-milter
PORTVERSION= 0.3.0
+PORTREVISION= 1
CATEGORIES= mail
MASTER_SITES= ${MASTER_SITE_SAVANNAH}
MASTER_SITE_SUBDIR= spamass-milt
diff --git a/mail/spamass-milter/files/patch-spamass-milter.cpp b/mail/spamass-milter/files/patch-spamass-milter.cpp
new file mode 100644
index 000000000000..2bef5a151b9c
--- /dev/null
+++ b/mail/spamass-milter/files/patch-spamass-milter.cpp
@@ -0,0 +1,24 @@
+Index: spamass-milter.cpp
+diff -u spamass-milter.cpp.orig spamass-milter.cpp
+--- spamass-milter.cpp.orig Sat Feb 5 16:03:22 2005
++++ spamass-milter.cpp Fri Mar 24 11:10:53 2006
+@@ -678,9 +678,16 @@
+ if (header[field_end-1] == '\r')
+ field_end--;
+
+- // Maybe remove the whitespace picked up when a header wraps - this
+- // might actually be a requirement
+- return header.substr( field_start, field_end - field_start );
++ string data = header.substr( field_start, field_end - field_start );
++
++ /* Replace all CRLF pairs with LF */
++ idx = 0;
++ while ( (idx = data.find("\r\n", idx)) != string::npos )
++ {
++ data.replace(idx,2,"\n");
++ }
++
++ return data;
+ }
+
+