diff --git a/mail/mlmmj/Makefile b/mail/mlmmj/Makefile index 272ed65add10..69e332ecf06b 100644 --- a/mail/mlmmj/Makefile +++ b/mail/mlmmj/Makefile @@ -1,49 +1,50 @@ # Created by: Christian Laursen # $FreeBSD$ PORTNAME= mlmmj PORTVERSION= 1.3.0 +PORTREVISION= 1 CATEGORIES= mail MASTER_SITES= http://mlmmj.org/releases/ MAINTAINER= bapt@FreeBSD.org COMMENT= Simple and slim mailing list manager LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE USES= cpe gmake iconv shebangfix tar:bzip2 SHEBANG_FILES= contrib/web/perl-user/mlmmj.cgi GNU_CONFIGURE= yes CPPFLAGS+= -I${ICONV_INCLUDE_PATH} LDFLAGS+= ${ICONV_LIB_PATH} OPTIONS_DEFINE= DOCS PERL PHP OPTIONS_SUB= yes PERL_RUN_DEPENDS= p5-URI>0:net/p5-URI \ p5-CGI-FastTemplate>0:www/p5-CGI-FastTemplate \ p5-HTML-Parser>0:www/p5-HTML-Parser PHP_USES= php:web post-patch: @${REINPLACE_CMD} -e \ '/^AM_CFLAGS/s|-g ||' ${WRKSRC}/src/Makefile.in post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} (cd ${WRKSRC} && ${INSTALL_DATA} \ ChangeLog FAQ README* TODO TUNABLES UPGRADE \ ${STAGEDIR}${DOCSDIR}) post-install-PERL-on: @(cd ${WRKSRC}/contrib/web && ${COPYTREE_SHARE} "perl-*" \ ${STAGEDIR}${WWWDIR}) @${CHMOD} ${BINMODE} ${STAGEDIR}${WWWDIR}/perl-user/mlmmj.cgi post-install-PHP-on: @(cd ${WRKSRC}/contrib/web && ${COPYTREE_SHARE} "php-*" \ ${STAGEDIR}${WWWDIR}) .include diff --git a/mail/mlmmj/files/patch-reduce-subscription-confirmation-address-length.diff b/mail/mlmmj/files/patch-reduce-subscription-confirmation-address-length.diff new file mode 100644 index 000000000000..544c99a7621e --- /dev/null +++ b/mail/mlmmj/files/patch-reduce-subscription-confirmation-address-length.diff @@ -0,0 +1,88 @@ +$NetBSD: patch-reduce-subscription-confirmation-address-length.diff,v 1.1 2020/03/31 20:37:47 roy Exp $ + +From cb0788bc35c471a87fc75aca6d4e405fdbaccfd8 Mon Sep 17 00:00:00 2001 +From: Geert Stappers +Date: Thu, 25 May 2017 09:17:55 +0200 +Subject: [PATCH] Reduce subscription confirmation address length to fit RFC + 5321 + +The local part of mailing list subscription confirmation addresses +formed of: + + mailing-list-name "+confsub-" 16-random-hex "-" sender-address + +can get very long, especially if sender-address is long. +However, RFC limits it at 64 characters. + +Closes http://mlmmj.org/bugs/bug.php?id=63 + +Reported-by: mgorny@gentoo.org +--- + src/mlmmj-sub.c | 2 +- + src/mlmmj-unsub.c | 2 +- + src/strgen.c | 23 +---------------------- + 3 files changed, 3 insertions(+), 24 deletions(-) + +diff --git a/src/mlmmj-sub.c b/src/mlmmj-sub.c +index 3335817..5c8c1ae 100644 +--- src/mlmmj-sub.c ++++ src/mlmmj-sub.c +@@ -413,7 +413,7 @@ void generate_subconfirm(const char *listdir, const char *listaddr, + do { + myfree(confirmfilename); + myfree(randomstr); +- randomstr = random_plus_addr(subaddr); ++ randomstr = random_str(); + confirmfilename = concatstr(3, listdir, "/subconf/", + randomstr); + +diff --git a/src/mlmmj-unsub.c b/src/mlmmj-unsub.c +index 0fa42a1..8e13f3c 100644 +--- src/mlmmj-unsub.c ++++ src/mlmmj-unsub.c +@@ -171,7 +171,7 @@ void generate_unsubconfirm(const char *listdir, const char *listaddr, + do { + myfree(confirmfilename); + myfree(randomstr); +- randomstr = random_plus_addr(subaddr); ++ randomstr = random_str(); + confirmfilename = concatstr(3, listdir, "/unsubconf/", + randomstr); + +diff --git a/src/strgen.c b/src/strgen.c +index f13db47..673f44a 100644 +--- src/strgen.c ++++ src/strgen.c +@@ -40,31 +40,10 @@ + + char *random_str() + { +- size_t len = 17; ++ size_t len = 17; /* sixteen hex digits plus terminating zero */ + char *dest = mymalloc(len); + + snprintf(dest, len, "%08x%08x", random_int(), random_int()); +- +- return dest; +-} +- +-char *random_plus_addr(const char *addr) +-{ +- size_t len = strlen(addr) + 128; +- char *dest = mymalloc(len); +- char *atsign; +- char *tmpstr; +- +- tmpstr = mymalloc(len); +- snprintf(tmpstr, len, "%s", addr); +- +- atsign = strchr(tmpstr, '@'); +- MY_ASSERT(atsign); +- *atsign = '='; +- +- snprintf(dest, len, "%08x%08x-%s", random_int(), random_int(), tmpstr); +- +- myfree(tmpstr); + + return dest; + }