From 133ccee50712b95273e6f41d3e78af48c4170e5f Mon Sep 17 00:00:00 2001 From: delphij Date: Sun, 17 Sep 2006 14:57:21 +0000 Subject: 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@) --- mail/dk-milter/Makefile | 1 + mail/dk-milter/files/patch-vendor-postfix | 71 +++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 mail/dk-milter/files/patch-vendor-postfix (limited to 'mail/dk-milter') 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) + + -- cgit