aboutsummaryrefslogtreecommitdiff
path: root/mail
diff options
context:
space:
mode:
authorXin LI <delphij@FreeBSD.org>2006-09-17 14:57:21 +0000
committerXin LI <delphij@FreeBSD.org>2006-09-17 14:57:21 +0000
commit0c3f4073362270f5703ea9924b8ddaa643badaf1 (patch)
tree992ec8ba903d65564ba89c709e8954a02182d2a2 /mail
parenta996c3134b0166cbb7ce9e6056b35c29f018a333 (diff)
downloadports-0c3f4073362270f5703ea9924b8ddaa643badaf1.tar.gz
ports-0c3f4073362270f5703ea9924b8ddaa643badaf1.zip
Apply a vendor patch which addresses the "syntax error in signature data"
introduced in 0.4.1: dk-filter/dk-filter.c: 1.158 -> 1.159 libdk/dk.c: 1.168 -> 1.169 Obtained from: Sendmail (msk@)
Notes
Notes: svn path=/head/; revision=173244
Diffstat (limited to 'mail')
-rw-r--r--mail/dk-milter/Makefile1
-rw-r--r--mail/dk-milter/files/patch-vendor-postfix71
2 files changed, 72 insertions, 0 deletions
diff --git a/mail/dk-milter/Makefile b/mail/dk-milter/Makefile
index 56923c3b91a3..99689a39faab 100644
--- a/mail/dk-milter/Makefile
+++ b/mail/dk-milter/Makefile
@@ -7,6 +7,7 @@
PORTNAME= dk-milter
PORTVERSION= 0.4.1
+PORTREVISION= 1
CATEGORIES= mail
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= dk-milter
diff --git a/mail/dk-milter/files/patch-vendor-postfix b/mail/dk-milter/files/patch-vendor-postfix
new file mode 100644
index 000000000000..bfcd3bcb71a2
--- /dev/null
+++ b/mail/dk-milter/files/patch-vendor-postfix
@@ -0,0 +1,71 @@
+Index: dk-filter/dk-filter.c
+===================================================================
+RCS file: /cvs/dk-filter/dk-filter.c,v
+retrieving revision 1.158
+retrieving revision 1.159
+diff -u -r1.158 -r1.159
+--- dk-filter/dk-filter.c 19 May 2006 21:42:05 -0000 1.158
++++ dk-filter/dk-filter.c 26 Jun 2006 19:41:23 -0000 1.159
+@@ -1625,6 +1625,8 @@
+ }
+ #endif /* _FFR_REQUIRED_HEADERS */
+
++ msgsigned = (dkf_findheader(dfc, DK_SIGNHEADER, 0) != NULL);
++
+ /* find the Sender: or From: header */
+ memset(addr, '\0', sizeof addr);
+ from = dkf_findheader(dfc, "Sender", 0);
+@@ -1639,7 +1641,8 @@
+ dfc->mctx_jobid);
+ }
+
+- dfc->mctx_addheader = TRUE;
++ if (msgsigned)
++ dfc->mctx_addheader = TRUE;
+ dfc->mctx_headeronly = TRUE;
+ dfc->mctx_status = DKF_STATUS_BADFORMAT;
+ return SMFIS_CONTINUE;
+@@ -1669,7 +1672,6 @@
+ originok = FALSE;
+
+ /* is it a domain we sign for? */
+- msgsigned = (dkf_findheader(dfc, DK_SIGNHEADER, 0) != NULL);
+ if (!msgsigned && domains != NULL && dfc->mctx_domain != NULL)
+ {
+ int n;
+Index: libdk/dk.c
+===================================================================
+RCS file: /cvs/libdk/dk.c,v
+retrieving revision 1.168
+retrieving revision 1.169
+diff -u -r1.168 -r1.169
+--- libdk/dk.c 6 Jun 2006 23:22:45 -0000 1.168
++++ libdk/dk.c 26 Jun 2006 19:40:00 -0000 1.169
+@@ -1890,8 +1890,6 @@
+ else
+ hdr = sender;
+
+- /* if we found a signature but the sender doesn't match it, say so */
+-
+ /* if verifying and no from/sender header was found, short-circuit */
+ if (hdr == NULL && dk->dk_mode == DK_MODE_VERIFY)
+ {
+@@ -1924,6 +1922,7 @@
+ return DK_STAT_OK;
+ }
+
++ /* if we found a signature but the sender doesn't match it, say so */
+ if (hdr != NULL)
+ {
+ int status;
+@@ -2418,7 +2417,7 @@
+ int status;
+
+ /* no sender header was found below the signature */
+- if (dk->dk_skipbody)
++ if (dk->dk_skipbody && dk->dk_processing)
+ return DK_STAT_SYNTAX;
+
+ if (dk->dk_key == NULL)
+
+