Date: Wed, 26 May 2021 12:10:54 GMT From: Baptiste Daroussin <bapt@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 56643aaceb50 - main - mail/mlmmj: fully handle X-Original-From Message-ID: <202105261210.14QCAsGv073483@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/ports/commit/?id=56643aaceb50afe06f1fb942110851fc3b3b0e0c commit 56643aaceb50afe06f1fb942110851fc3b3b0e0c Author: Baptiste Daroussin <bapt@FreeBSD.org> AuthorDate: 2021-05-26 12:09:03 +0000 Commit: Baptiste Daroussin <bapt@FreeBSD.org> CommitDate: 2021-05-26 12:10:52 +0000 mail/mlmmj: fully handle X-Original-From This update to the initial patch makes sure, the sender receives a denial email even if the from has been munged --- mail/mlmmj/Makefile | 2 +- mail/mlmmj/files/patch-originalfromemail | 47 ++++++++++++++++++++++++++++---- 2 files changed, 42 insertions(+), 7 deletions(-) diff --git a/mail/mlmmj/Makefile b/mail/mlmmj/Makefile index 66df2a11315d..292636766d0d 100644 --- a/mail/mlmmj/Makefile +++ b/mail/mlmmj/Makefile @@ -2,7 +2,7 @@ PORTNAME= mlmmj PORTVERSION= 1.3.0 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= mail MASTER_SITES= http://mlmmj.org/releases/ diff --git a/mail/mlmmj/files/patch-originalfromemail b/mail/mlmmj/files/patch-originalfromemail index 0de3300936d0..4ee0b485e3a2 100644 --- a/mail/mlmmj/files/patch-originalfromemail +++ b/mail/mlmmj/files/patch-originalfromemail @@ -1,5 +1,5 @@ diff --git src/mlmmj-process.c src/mlmmj-process.c -index 82e4d04..0362c7b 100644 +index 82e4d04..fee5603 100644 --- src/mlmmj-process.c +++ src/mlmmj-process.c @@ -473,6 +473,7 @@ int main(int argc, char **argv) @@ -30,15 +30,50 @@ index 82e4d04..0362c7b 100644 /* discard malformed mail with invalid From: unless it's a bounce */ if(fromemails.emailcount != 1 && (recipextra == NULL || -@@ -1047,7 +1054,10 @@ int main(int argc, char **argv) +@@ -1036,7 +1043,10 @@ int main(int argc, char **argv) + if(!send && (subonlypost || modonlypost || modnonsubposts)) { + /* Don't send a mail about denial to the list, but silently + * discard and exit. */ +- if (strcasecmp(listaddr, posteraddr) == 0) { ++ char *testaddr = posteraddr; ++ if (originalfromemails.emailcount > 0) ++ testaddr = originalfromemails.emaillist[0]; ++ if (strcasecmp(listaddr, testaddr) == 0) { + log_error(LOG_ARGS, "Discarding %s because" + " there are sender restrictions but" + " From: was the list address", +@@ -1047,10 +1057,10 @@ int main(int argc, char **argv) exit(EXIT_SUCCESS); } if(subonlypost) { - foundaddr = (is_subbed(listdir, posteraddr, 0) != -+ char *testaddr; -+ if (originalfromemails.emailcount > 0) -+ testaddr = originalfromemails.emaillist[0]; + foundaddr = (is_subbed(listdir, testaddr, 0) != SUB_NONE); } else if (modonlypost) { - foundaddr = is_moderator(listdir, posteraddr, NULL); +- foundaddr = is_moderator(listdir, posteraddr, NULL); ++ foundaddr = is_moderator(listdir, testaddr, NULL); + } + if(!foundaddr) { + if(modnonsubposts) { +@@ -1086,10 +1096,10 @@ int main(int argc, char **argv) + } + MY_ASSERT(txt); + register_unformatted(txt, "subject", subject); +- register_unformatted(txt, "posteraddr", posteraddr); ++ register_unformatted(txt, "posteraddr", testaddr); + register_originalmail(txt, donemailname); + queuefilename = prepstdreply(txt, listdir, +- "$listowner$", posteraddr, NULL); ++ "$listowner$", testaddr, NULL); + MY_ASSERT(queuefilename) + close_text(txt); + myfree(listaddr); +@@ -1101,7 +1111,7 @@ int main(int argc, char **argv) + execlp(mlmmjsend, mlmmjsend, + "-L", listdir, + "-l", "1", +- "-T", posteraddr, ++ "-T", testaddr, + "-F", fromaddr, + "-m", queuefilename, (char *)NULL); +
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202105261210.14QCAsGv073483>