summaryrefslogtreecommitdiffstats
path: root/network/opendmarc/patches/ticket137.patch
diff options
context:
space:
mode:
Diffstat (limited to 'network/opendmarc/patches/ticket137.patch')
-rw-r--r--network/opendmarc/patches/ticket137.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/network/opendmarc/patches/ticket137.patch b/network/opendmarc/patches/ticket137.patch
new file mode 100644
index 0000000000..df6c062152
--- /dev/null
+++ b/network/opendmarc/patches/ticket137.patch
@@ -0,0 +1,51 @@
+From afc1615946cd127d9ea28e0892934251c6a00a84 Mon Sep 17 00:00:00 2001
+From: "Murray S. Kucherawy" <msk@trusteddomain.org>
+Date: Sat, 4 Mar 2017 08:03:22 -0800
+Subject: [PATCH] Fix bug #137: Handle base64 inside AR tokens that are values.
+ Problem reported by Joseph Coffland.
+
+---
+ RELEASE_NOTES | 2 ++
+ opendmarc/opendmarc-ar.c | 14 +++++++++++++-
+ 2 files changed, 15 insertions(+), 1 deletion(-)
+
+Index: opendmarc/RELEASE_NOTES
+===================================================================
+--- opendmarc.orig/RELEASE_NOTES 2018-12-17 01:38:44.570329334 -0500
++++ opendmarc/RELEASE_NOTES 2018-12-17 01:40:21.062333399 -0500
+@@ -3,6 +3,10 @@
+ This listing shows the versions of the OpenDMARC package, the date of
+ release, and a summary of the changes in that release.
+
++ 1.4.0 2017/??/??
++ Fix bug #137: Handle base64 inside AR tokens that are values.
++ Problem reported by Joseph Coffland.
++
+ 1.3.2 2016/12/19
+ Feature request #86: Change meaning of "RequiredHeaders" such that
+ header validity is always checked, but messages are only
+Index: opendmarc/opendmarc/opendmarc-ar.c
+===================================================================
+--- opendmarc.orig/opendmarc/opendmarc-ar.c 2018-12-17 01:38:44.570329334 -0500
++++ opendmarc/opendmarc/opendmarc-ar.c 2018-12-17 01:38:44.566329334 -0500
+@@ -602,7 +602,19 @@
+ ar->ares_result[n - 1].result_props = r;
+
+ prevstate = state;
+- state = 9;
++ if (c < ntoks - 1 && tokens[c + 1][1] == '\0')
++ {
++ if (tokens[c + 1][0] == ';')
++ state = 2;
++ else if (tokens[c + 1][0] == '=')
++ r--;
++ else
++ state = 9;
++ }
++ else
++ {
++ state = 9;
++ }
+
+ break;
+ }