Index: head/mail/mailman/Makefile =================================================================== --- head/mail/mailman/Makefile (revision 410773) +++ head/mail/mailman/Makefile (revision 410774) @@ -1,204 +1,205 @@ # Created by: n_hibma@qubesoft.com # $FreeBSD$ PORTNAME= mailman DISTVERSION= 2.1.21 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= mail MASTER_SITES= GNU \ SF/${PORTNAME}/Mailman%202.1%20%28stable%29/${PORTVERSION} \ https://launchpad.net/mailman/${DISTVERSION:R}/${DISTVERSION}/+download/ PATCH_SITES= LOCAL/mandree DIST_SUBDIR= mailman PATCH_DIST_STRIP= -p1 MAINTAINER= mandree@FreeBSD.org COMMENT= Mailing list manager with user-friendly web front-end LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/gnu-COPYING-GPL CONFLICTS= ja-mailman-2.1.* USES= autoreconf cpe fakeroot python:2 tar:tgz USE_RC_SUBR= mailman CPE_VENDOR= gnu GNU_CONFIGURE= yes GNU_CONFIGURE_PREFIX= ${MAILMANDIR} CONFIGURE_ARGS+=--with-python=${PYTHON_CMD} \ --with-username=${MM_USERNAME} \ --with-groupname=${MM_GROUPNAME} \ --with-mail-gid=${MAIL_GID} --with-cgi-gid=${CGI_GID} \ --with-permcheck=no # The Mailman port supports a number of variables that may be tweaked at # build time. Getting the values of some of them right is crucial! # MM_USERNAME?= mailman MM_USERID?= 91 MM_GROUPNAME?= ${MM_USERNAME} MM_GROUPID?= ${MM_USERID} MM_DIR?= mailman CGI_GID?= www IMGDIR?= www/icons # # End of user-configurable variables. USERS= ${MM_USERNAME} GROUPS= ${MM_GROUPNAME} MAILMANDIR= ${PREFIX}/${MM_DIR} PLIST_SUB= MMDIR=${MM_DIR} IMGDIR=${IMGDIR} MM_USERNAME=${MM_USERNAME} MM_GROUPNAME=${MM_GROUPNAME} SUB_FILES= pkg-message pkg-install pkg-deinstall SUB_LIST= MAILMANDIR=${MAILMANDIR} USER=${MM_USERNAME} GROUP=${MM_GROUPNAME} PYTHON_CMD="${PYTHON_CMD}" PORTDOCS= ACKNOWLEDGMENTS BUGS FAQ INSTALL NEWS README README-I18N.en \ README.CONTRIB README.NETSCAPE \ README.USERAGENT TODO UPGRADING \ mailman-admin.txt \ mailman-install.txt \ mailman-member.txt \ FreeBSD-post-install-notes OPTIONS_SINGLE= MTA OPTIONS_SINGLE_MTA= COURIER EXIM4 OPENSMTPD POSTFIX SENDMAIL OPTIONS_DEFINE= HTDIG NAMAZU2 NLS DOCS OPTIONS_DEFAULT= SENDMAIL COURIER_DESC= for use with courier EXIM4_DESC= for use with exim4 OPENSMTPD_DESC= for use with opensmtpd - EXPERIMENTAL - POSTFIX_DESC= for use with postfix SENDMAIL_DESC= for use with sendmail HTDIG_DESC= - EXPERIMENTAL - htdig integration patches NAMAZU2_DESC= Make private archives searchable with namazu2 MTA_DESC= Integrate with which MTA? .include .if ${PORT_OPTIONS:MNLS} USES+= gettext PLIST_SUB+= NLS="" .else PLIST_SUB+= NLS="@comment " MAKE_ARGS+= LANGUAGES=en .endif .if ${PORT_OPTIONS:MSENDMAIL} MAIL_GID?= mailnull .endif .if ${PORT_OPTIONS:MEXIM4} MAIL_GID?= mail .endif .if ${PORT_OPTIONS:MPOSTFIX} BUILD_DEPENDS+= postfix:${PORTSDIR}/mail/postfix RUN_DEPENDS+= postfix:${PORTSDIR}/mail/postfix MAIL_GID?= mailman EXTRA_PATCHES+= ${FILESDIR}/postfix-verp.diff .endif .if ${PORT_OPTIONS:MCOURIER} MAIL_GID?= courier .endif .if ${PORT_OPTIONS:MOPENSMTPD} MAIL_GID?= _smtpd .endif .if ${PORT_OPTIONS:MHTDIG} PKGNAMESUFFIX+= -with-htdig # how to create PATCHFILES: #X fetch http://bazaar.launchpad.net/~msapiro/mailman/htdig/tarball/1632?start_revid=1632 #X unpack this tarball, and the original distfile #X diff -NEur original-unpack bazaar-unpack | xz --best -c >msapiro-htdig-1632.patch.xz #X upload the latter with mode 0644 or similar to freefall's public_distfiles/ directory PATCHFILES+= msapiro-htdig-1632.patch.xz RUN_DEPENDS+= htdig:${PORTSDIR}/textproc/htdig PLIST_SUB+= SUB_HTDIG="" .else PLIST_SUB+= SUB_HTDIG="@comment " +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-LP1551075 .endif .if ${PORT_OPTIONS:MNAMAZU2} RUN_DEPENDS+= mknmz:${PORTSDIR}/databases/namazu2 EXTRA_PATCHES+= ${FILESDIR}/extra-patch-Mailman-Cgi-private.py .endif BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}dnspython>=0:${PORTSDIR}/dns/py-dnspython RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}dnspython>=0:${PORTSDIR}/dns/py-dnspython pre-everything:: @${ECHO} "" @${ECHO} "You may change the following build options:" @${ECHO} "" @${ECHO} "Option Default Value Description" @${ECHO} "------------- --------------- ------------------------------------------------" @${ECHO} "MM_USERNAME mailman The username of the Mailman user." @${ECHO} "MM_USERID 91 The user ID of the Mailman user." @${ECHO} "MM_GROUPNAME mailman The group to which the Mailman user will belong." @${ECHO} "MM_GROUPID \$$MM_USERID The group ID for the Mailman user." @${ECHO} "MM_DIR mailman Mailman will be installed in" @${ECHO} " ${PREFIX}/${MM_DIR}." @${ECHO} "CGI_GID www The group name or id under which your web" @${ECHO} " server executes CGI scripts." @${ECHO} "IMGDIR www/icons Icon images will be installed in" @${ECHO} " ${PREFIX}/${IMGDIR}." @${ECHO} "" post-patch: ${REINPLACE_CMD} -e 's#%%LOCALBASE%%#${LOCALBASE}#g' \ ${WRKSRC}/Mailman/Defaults.py.in ${REINPLACE_CMD} -e 's/^0,5,10/#&/' ${WRKSRC}/cron/crontab.in.in .if empty(PORT_OPTIONS:MNLS) ${REINPLACE_CMD} -e 's/messages//' ${WRKSRC}/Makefile.in .endif .if ${PORT_OPTIONS:MPOSTFIX} pre-configure: ${ECHO} "MTA = 'Postfix'" >> ${WRKSRC}/Mailman/mm_cfg.py.dist.in .endif post-install: .for i in admindb admin confirm create edithtml listinfo options private \ rmlist roster subscribe ${STRIP_CMD} ${STAGEDIR}${MAILMANDIR}/cgi-bin/${i} .endfor .if ${PORT_OPTIONS:MHTDIG} .for i in htdig mmsearch ${STRIP_CMD} ${STAGEDIR}${MAILMANDIR}/cgi-bin/${i} .endfor .endif ${STRIP_CMD} ${STAGEDIR}${MAILMANDIR}/mail/mailman # Compile additional Python scripts: .for dir in bin (cd ${STAGEDIR}${MAILMANDIR} \ && ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \ -d ${MAILMANDIR}/${dir} ${dir}) .endfor @${RM} -f ${STAGEDIR}${MAILMANDIR}/pythonlib/*.egg-info @# mm_cfg.py is handled by pkg-plist, no need to archive a copy: @${RM} -f ${STAGEDIR}${MAILMANDIR}/Mailman/mm_cfg.py @${RM} -f ${STAGEDIR}${MAILMANDIR}/Mailman/mm_cfg.pyc @${MKDIR} ${STAGEDIR}${PREFIX}/${IMGDIR} ${CP} -p ${STAGEDIR}${MAILMANDIR}/icons/* ${STAGEDIR}${PREFIX}/${IMGDIR} ${INSTALL_DATA} ${FILESDIR}/powerlogo.png \ ${STAGEDIR}${PREFIX}/${IMGDIR}/ ${INSTALL_DATA} ${FILESDIR}/powerlogo.png \ ${STAGEDIR}${MAILMANDIR}/icons/ .if ${PORT_OPTIONS:MDOCS} ${CP} -R ${WRKSRC}/doc/* ${WRKSRC}/ @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${FILESDIR}/FreeBSD-post-install-notes ${STAGEDIR}${DOCSDIR} .for docfile in ${PORTDOCS:NFreeBSD-post-install-notes} ${INSTALL_DATA} ${WRKSRC}/${docfile} ${STAGEDIR}${DOCSDIR} .endfor .endif @${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} ${ECHO} "This marker file ensures that Python's upgrade-site-packages handles ${PKGNAME}." >${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/mailman-info.txt ${INSTALL_SCRIPT} ${PKGINSTALL} ${STAGEDIR}${MAILMANDIR}/bin/FreeBSD-post-install .include Index: head/mail/mailman/files/patch-LP1551075 =================================================================== --- head/mail/mailman/files/patch-LP1551075 (revision 410773) +++ head/mail/mailman/files/patch-LP1551075 (nonexistent) @@ -1,40 +0,0 @@ -=== modified file 'Mailman/Handlers/MimeDel.py' ---- Mailman/Handlers/MimeDel.py 2011-04-13 04:13:10 +0000 -+++ Mailman/Handlers/MimeDel.py 2016-02-29 06:28:44 +0000 -@@ -1,4 +1,4 @@ --# Copyright (C) 2002-2011 by the Free Software Foundation, Inc. -+# Copyright (C) 2002-2016 by the Free Software Foundation, Inc. - # - # This program is free software; you can redistribute it and/or - # modify it under the terms of the GNU General Public License -@@ -210,6 +210,11 @@ - # If we're left with a multipart message with only one sub-part, recast - # the message to just the sub-part, but not if the part is message/rfc822 - # because we don't want to lose the headers. -+ # Also, if this is a multipart/signed part, stop now as the original part -+ # may have had a multipart sub-part with only one sub-sub-part, the sig -+ # may still be valid and going further may break it. (LP: #1551075) -+ if msg.get_content_type() == 'multipart/signed': -+ return - if msg.is_multipart(): - if (len(msg.get_payload()) == 1 and - msg.get_content_type() <> 'message/rfc822'): - -=== modified file 'NEWS' ---- NEWS 2016-02-28 20:43:02 +0000 -+++ NEWS 2016-02-29 06:28:44 +0000 -@@ -5,6 +5,13 @@ - - Here is a history of user visible changes to Mailman. - -+2.1.22 (xx-xxx-xxxx) -+ -+ Bug fixes and other patches -+ -+ - Don't collapse multipart with a single sub-part inside multipart/signed -+ parts. (LP: #1551075) -+ - 2.1.21 (28-Feb-2016) - - New Features - Property changes on: head/mail/mailman/files/patch-LP1551075 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/mail/mailman/files/extra-patch-LP1551075 =================================================================== --- head/mail/mailman/files/extra-patch-LP1551075 (nonexistent) +++ head/mail/mailman/files/extra-patch-LP1551075 (revision 410774) @@ -0,0 +1,40 @@ +=== modified file 'Mailman/Handlers/MimeDel.py' +--- Mailman/Handlers/MimeDel.py 2011-04-13 04:13:10 +0000 ++++ Mailman/Handlers/MimeDel.py 2016-02-29 06:28:44 +0000 +@@ -1,4 +1,4 @@ +-# Copyright (C) 2002-2011 by the Free Software Foundation, Inc. ++# Copyright (C) 2002-2016 by the Free Software Foundation, Inc. + # + # This program is free software; you can redistribute it and/or + # modify it under the terms of the GNU General Public License +@@ -210,6 +210,11 @@ + # If we're left with a multipart message with only one sub-part, recast + # the message to just the sub-part, but not if the part is message/rfc822 + # because we don't want to lose the headers. ++ # Also, if this is a multipart/signed part, stop now as the original part ++ # may have had a multipart sub-part with only one sub-sub-part, the sig ++ # may still be valid and going further may break it. (LP: #1551075) ++ if msg.get_content_type() == 'multipart/signed': ++ return + if msg.is_multipart(): + if (len(msg.get_payload()) == 1 and + msg.get_content_type() <> 'message/rfc822'): + +=== modified file 'NEWS' +--- NEWS 2016-02-28 20:43:02 +0000 ++++ NEWS 2016-02-29 06:28:44 +0000 +@@ -5,6 +5,13 @@ + + Here is a history of user visible changes to Mailman. + ++2.1.22 (xx-xxx-xxxx) ++ ++ Bug fixes and other patches ++ ++ - Don't collapse multipart with a single sub-part inside multipart/signed ++ parts. (LP: #1551075) ++ + 2.1.21 (28-Feb-2016) + + New Features + Property changes on: head/mail/mailman/files/extra-patch-LP1551075 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/mailman/files/pkg-message.in =================================================================== --- head/mail/mailman/files/pkg-message.in (revision 410773) +++ head/mail/mailman/files/pkg-message.in (revision 410774) @@ -1,67 +1,67 @@ ---------------------------------------------------------------------------- Mailman has been installed, but requires further configuration before use! ========================================== WARNING ATTENTION DANGER ATTENTION WARNING ========================================== mail/mailman requires proper directory permissions to run; but due to pkg 1.4.1 or libarchive bugs, directory permissions can not be created properly. If you installed mailman with pkg -I, --no-script or --no-install-scripts, you MUST(!) run the post-install script now, as root: env "PKG_PREFIX=%%PREFIX%%" sh \ %%MAILMANDIR%%/bin/FreeBSD-post-install x POST-INSTALL ========================================== WARNING ATTENTION DANGER ATTENTION WARNING ========================================== You will have to configure both your MTA (mail server) and web server to integrate with Mailman. If the port's documentation has been installed, extensive post-installation instructions may be found in: %%DOCSDIR%%/FreeBSD-post-install-notes Note (1): - ESPECIALLY RELEVANT FOR USERS OF THE BINARY PACKAGE - The FreeBSD binary package is built for use with Sendmail, and it will not work properly with alternative MTAs such as Exim or Postfix. In order for Mailman to work with an alternative mailer, the port must be installed from source, with proper options configured. The separate poudriere port can be used to locally build a binary package of Mailman with non-default options. - FOR USERS OF A PORT BUILT FROM SOURCE - If you use an alternate MTA (meaning "not Sendmail"), you MUST be sure that the correct value of MAIL_GID was used when this port or package was built. You can choose your MTA with the correct MAIL_GID by running "make config" in the Mailman port's directory. Note (2): The entire Mailman installation resides under %%MAILMANDIR%%. The command-line scripts necessary to administer Mailman have been installed in %%MAILMANDIR%%/bin. Note (3): As of version 2.1, Mailman's queue runner runs as a daemon and is started by a script in %%LOCALBASE%%/etc/rc.d In order to make private archives searchable with namazu2, you need to copy or link %%LOCALBASE%%/libexec/namazu.cgi to %%MAILMANDIR%%/archives/private// and configure .namazurc. -Refer to %%LOCALBASE%%/etc/namazu/namazu-sample. +Refer to %%LOCALBASE%%/etc/namazu/namazurc.sample. You can also see the document in Japanese language in ---------------------------------------------------------------------------- UPDATE INFORMATION FOR UPDATES OF 2.1.18/OLDER TO VERSION 2.1.19 AND NEWER: Changed behavior - Mailman's log files, request.pck files and heldmsg-* files are no longer created world readable to protect against access by untrusted local users. Note that permissions on existing log files won't be changed so if you are concerned about this and don't rotate logs or have a logrotate process that creates new log files instead of letting Mailman create them, you will need to address that. (LP: #1327404) ----------------------------------------------------------------------------