diff options
Diffstat (limited to 'network/opendmarc/patches/ticket208.patch')
-rw-r--r-- | network/opendmarc/patches/ticket208.patch | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/network/opendmarc/patches/ticket208.patch b/network/opendmarc/patches/ticket208.patch deleted file mode 100644 index fc8c6455d8..0000000000 --- a/network/opendmarc/patches/ticket208.patch +++ /dev/null @@ -1,116 +0,0 @@ -diff -ur opendmarc-1.3.2/opendmarc/opendmarc.c opendmarc-1.3.2_fix/opendmarc/opendmarc.c ---- opendmarc-1.3.2/opendmarc/opendmarc.c 2017-03-04 14:28:39.000000000 +0100 -+++ opendmarc-1.3.2_fix/opendmarc/opendmarc.c 2017-03-27 18:11:14.977304726 +0200 -@@ -168,7 +168,8 @@ - char * conf_ignorelist; - char ** conf_trustedauthservids; - char ** conf_ignoredomains; - struct list * conf_overridemlm; -+ char ** conf_ignorereceivers; - }; - - /* LIST -- basic linked list of strings */ -@@ -1226,6 +1227,11 @@ - if (str != NULL) - dmarcf_mkarray(str, &conf->conf_ignoredomains); - -+ str = NULL; -+ (void) config_get(data, "IgnoreMailTo", &str, sizeof str); -+ if (str != NULL) -+ dmarcf_mkarray(str, &conf->conf_ignorereceivers); -+ - (void) config_get(data, "AuthservIDWithJobID", - &conf->conf_authservidwithjobid, - sizeof conf->conf_authservidwithjobid); -@@ -2015,6 +2021,7 @@ - mlfi_eom(SMFICTX *ctx) - { - _Bool wspf = FALSE; -+ int skiphistory; - int c; - int pc; - int policy; -@@ -3147,7 +3154,34 @@ - ** Record activity in the history file. - */ - -- if (conf->conf_historyfile != NULL && -+ skiphistory = 0; -+ if (conf->conf_ignorereceivers != NULL) -+ { -+ struct dmarcf_header *to = dmarcf_findheader(dfc, "To", 0); -+ if (to != NULL) -+ { -+ char *val = to->hdr_value; -+ while (*val && !skiphistory) -+ { -+ memset(addrbuf, '\0', sizeof addrbuf); -+ strncpy(addrbuf, val, sizeof addrbuf - 1); -+ status = dmarcf_mail_parse(addrbuf, &user, &domain); -+ if (status == 0 && user != NULL && domain != NULL) -+ { -+ snprintf(replybuf, sizeof replybuf - 1, "%s@%s", user, domain); -+ if(dmarcf_match(replybuf, conf->conf_ignorereceivers, TRUE)) -+ { -+ skiphistory = 1; -+ } -+ } -+ while(*val && *val != ',' && *val != ';') -+ ++val; -+ if(*val) -+ ++val; -+ } -+ } -+ } -+ if (!skiphistory && conf->conf_historyfile != NULL && - (conf->conf_recordall || ostatus != DMARC_DNS_ERROR_NO_RECORD)) - { - FILE *f; -diff -ur opendmarc-1.3.2/opendmarc/opendmarc.conf.5.in opendmarc-1.3.2_fix/opendmarc/opendmarc.conf.5.in ---- opendmarc-1.3.2/opendmarc/opendmarc.conf.5.in 2016-12-18 08:50:34.000000000 +0100 -+++ opendmarc-1.3.2_fix/opendmarc/opendmarc.conf.5.in 2017-03-27 17:00:14.424955664 +0200 -@@ -185,6 +185,13 @@ - no mail is ignored. - - .TP -+.I IgnoreMailTo (string) -+Gives a list of mail addresses which aren't entered into the history file. -+This is useful to prevent exchanging single message reports. The -+list should be comma-separated. Matching against this list is -+case-insensitive. The default is an empty list, meaning no mail is ignored. -+ -+.TP - .I MilterDebug (integer) - Sets the debug level to be requested from the milter library. The - default is 0. -diff -ur opendmarc-1.3.2/opendmarc/opendmarc-config.h opendmarc-1.3.2_fix/opendmarc/opendmarc-config.h ---- opendmarc-1.3.2/opendmarc/opendmarc-config.h 2016-12-18 08:50:34.000000000 +0100 -+++ opendmarc-1.3.2_fix/opendmarc/opendmarc-config.h 2017-03-27 17:39:01.727649907 +0200 -@@ -35,6 +35,7 @@ - { "IgnoreAuthenticatedClients", CONFIG_TYPE_BOOLEAN, FALSE }, - { "IgnoreHosts", CONFIG_TYPE_STRING, FALSE }, - { "IgnoreMailFrom", CONFIG_TYPE_STRING, FALSE }, -+ { "IgnoreMailTo", CONFIG_TYPE_STRING, FALSE }, - { "MilterDebug", CONFIG_TYPE_INTEGER, FALSE }, - { "PidFile", CONFIG_TYPE_STRING, FALSE }, - { "PublicSuffixList", CONFIG_TYPE_STRING, FALSE }, -diff -ur opendmarc-1.3.2/opendmarc/opendmarc.conf.sample opendmarc-1.3.2_fix/opendmarc/opendmarc.conf.sample ---- opendmarc-1.3.2/opendmarc/opendmarc.conf.sample 2017-03-04 14:28:39.000000000 +0100 -+++ opendmarc-1.3.2_fix/opendmarc/opendmarc.conf.sample 2017-03-27 17:39:32.594647158 +0200 -@@ -205,6 +205,16 @@ - # - # IgnoreMailFrom example.com - -+## IgnoreMailTo email[,...] -+## default (none) -+## -+## Gives a list of mail addresses which aren't entered into the history file. -+## This is useful to prevent exchanging mutual message reports. The -+## list should be comma-separated. Matching against this list is -+## case-insensitive. The default is an empty list, meaning no mail is ignored. -+# -+# IgnoreMailTo dmarc-ruf@example.com -+ - ## MilterDebug (integer) - ## default 0 - ## |