diff --git a/UPDATING b/UPDATING index 724c705d5..13531c1ce 100644 --- a/UPDATING +++ b/UPDATING @@ -5,6 +5,17 @@ they are unavoidable. You should get into the habit of checking this file for changes each time you update your ports collection, before attempting any port upgrades. +20210807: + AFFECTS: users of mail/postfixadmin + AUTHOR: ports.maintainer@evilphi.com + + Upgrading from 3.2 to 3.3 requires a new setup password hash. The normal + process of visiting setup.php after upgrading will say so and have you + generate the new hash via that page. + + For more information, see the "Version 3.3" section of the change log: + https://github.com/postfixadmin/postfixadmin/blob/postfixadmin-3.3.9/CHANGELOG.TXT + 20210805: AFFECTS: users of sysutils/beats7 AUTHOR: otis@FreeBSD.org diff --git a/mail/postfixadmin/Makefile b/mail/postfixadmin/Makefile index af9a04591..29ed92417 100644 --- a/mail/postfixadmin/Makefile +++ b/mail/postfixadmin/Makefile @@ -2,7 +2,7 @@ PORTNAME= postfixadmin DISTVERSIONPREFIX= postfixadmin- -DISTVERSION= 3.2.4 +DISTVERSION= 3.3.9 CATEGORIES= mail www MAINTAINER= ports.maintainer@evilphi.com @@ -11,61 +11,64 @@ COMMENT= PHP web-based management tool for Postfix virtual domains and users LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/GPL-LICENSE.TXT -RUN_DEPENDS+= p5-DBI>=1.634:databases/p5-DBI \ - p5-Email-Sender>=1.300031:mail/p5-Email-Sender \ - p5-Email-Valid>=0.12:mail/p5-Email-Valid \ - p5-Log-Dispatch>=1.79:devel/p5-Log-Dispatch \ - p5-Log-Log4perl>=0.26:devel/p5-Log-Log4perl \ - p5-MIME-EncWords>=0.040:mail/p5-MIME-EncWords - -USES= cpe perl5 shebangfix php -USE_GITHUB= yes +USES= cpe php shebangfix CPE_VENDOR= postfix_admin_project CPE_PRODUCT= postfix_admin +USE_GITHUB= yes +USE_PHP= mbstring openssl pcre session spl NO_ARCH= yes NO_BUILD= yes SUB_FILES+= pkg-message -PLIST_SUB= WWWOWN=${WWWOWN} WWWGRP=${WWWGRP} - -OPTIONS_DEFINE= DOCS -OPTIONS_MULTI= DB -OPTIONS_MULTI_DB= MYSQL PGSQL SQLITE -OPTIONS_DEFAULT= PGSQL - -USE_PERL5= run - -USE_PHP= mbstring openssl pcre phar session spl - -MYSQL_USE= php=mysqli -PGSQL_USE= php=pgsql -SQLITE_USE= php=sqlite3 +PLIST_SUB= WWWGRP=${WWWGRP} \ + WWWOWN=${WWWOWN} + +OPTIONS_DEFINE= DOCS IMAP VACATION +OPTIONS_DEFAULT= IMAP MYSQL PGSQL SQLITE VACATION +OPTIONS_MULTI= DATABASE +OPTIONS_MULTI_DATABASE= MYSQL PGSQL SQLITE +OPTIONS_SUB= yes + +IMAP_DESC= Support automated sub-folder creation for new mailboxes +VACATION_DESC= Install virtual vacation postfix script + +IMAP_USE= PHP=imap +MYSQL_USE= PHP=pdo_mysql +PGSQL_USE= PHP=pdo_pgsql +SQLITE_USE= PHP=pdo_sqlite +VACATION_RUN_DEPENDS= p5-DBI>=1.634:databases/p5-DBI \ + p5-Email-Sender>=1.300031:mail/p5-Email-Sender \ + p5-Email-Simple>=1.998:mail/p5-Email-Simple \ + p5-Email-Valid>=0.12:mail/p5-Email-Valid \ + p5-Log-Log4perl>=0.26:devel/p5-Log-Log4perl \ + p5-MIME-EncWords>=0.040:mail/p5-MIME-EncWords \ + p5-Net-DNS>=1.32:dns/p5-Net-DNS \ + p5-Try-Tiny>=0.30:lang/p5-Try-Tiny +VACATION_USES= perl5 .include -.if ${FLAVOR} != php80 -USE_PHP+= xmlrpc -.endif - do-install: - @${MKDIR} ${STAGEDIR}${WWWDIR} - @${MKDIR} ${STAGEDIR}${WWWDIR}/templates_c + ${MKDIR} ${STAGEDIR}${WWWDIR} + ${MKDIR} ${STAGEDIR}${WWWDIR}/templates_c ${INSTALL_DATA} ${WRKSRC}/*.php ${STAGEDIR}${WWWDIR} .for i in configs languages lib model public scripts templates tests - @cd ${WRKSRC}/${i} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR}/${i} + (cd ${WRKSRC}/${i} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR}/${i}) .endfor - @${MKDIR} ${STAGEDIR}${DATADIR} - ${INSTALL_DATA} ${WRKSRC}/GPL-LICENSE.TXT ${STAGEDIR}${DATADIR} - ${INSTALL_DATA} ${WRKSRC}/LICENSE.TXT ${STAGEDIR}${DATADIR} -.for i in ADDITIONS VIRTUAL_VACATION - @cd ${WRKSRC}/${i} && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/${i} + ${MKDIR} ${STAGEDIR}${DATADIR} + (cd ${WRKSRC}/ADDITIONS && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/ADDITIONS) +.for i in GPL-LICENSE.TXT LICENSE.TXT check_mailpass_expiration.sh password_expiration.sql postfixadmin.my.cnf + ${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DATADIR} .endfor do-install-DOCS-on: - @cd ${WRKSRC}/DOCUMENTS && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} + (cd ${WRKSRC}/DOCUMENTS && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}) .for i in CHANGELOG.TXT INSTALL.TXT README.md ${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR} .endfor +do-install-VACATION-on: + (cd ${WRKSRC}/VIRTUAL_VACATION && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/VIRTUAL_VACATION) + .include diff --git a/mail/postfixadmin/distinfo b/mail/postfixadmin/distinfo index 53637ab0c..af6749e31 100644 --- a/mail/postfixadmin/distinfo +++ b/mail/postfixadmin/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1589363332 -SHA256 (postfixadmin-postfixadmin-postfixadmin-3.2.4_GH0.tar.gz) = f61a64b32052c46f40cba466e5e384de0efab8c343c91569bcc5ebfd3694811e -SIZE (postfixadmin-postfixadmin-postfixadmin-3.2.4_GH0.tar.gz) = 1331185 +TIMESTAMP = 1628258957 +SHA256 (postfixadmin-postfixadmin-postfixadmin-3.3.9_GH0.tar.gz) = 0955825277f36a882a9e4ec0306119462a2c150012cbe004bc458a4865cb45ae +SIZE (postfixadmin-postfixadmin-postfixadmin-3.3.9_GH0.tar.gz) = 1866167 diff --git a/mail/postfixadmin/files/patch-config.inc.php b/mail/postfixadmin/files/patch-config.inc.php new file mode 100644 index 000000000..ff357dab5 --- /dev/null +++ b/mail/postfixadmin/files/patch-config.inc.php @@ -0,0 +1,18 @@ +--- config.inc.php.orig 2021-05-12 19:15:30 UTC ++++ config.inc.php +@@ -210,10 +210,11 @@ $CONF['authlib_default_flavor'] = 'md5raw'; + // for dovecot 1.x + // $CONF['dovecotpw'] = "/usr/sbin/dovecotpw"; + // for dovecot 2.x (dovecot 2.0.0 - 2.0.7 is not supported!) +-$CONF['dovecotpw'] = "/usr/sbin/doveadm pw"; +-if(@file_exists('/usr/bin/doveadm')) { // @ to silence openbase_dir stuff; see https://github.com/postfixadmin/postfixadmin/issues/171 +- $CONF['dovecotpw'] = "/usr/bin/doveadm pw"; # debian +-} ++//$CONF['dovecotpw'] = "/usr/sbin/doveadm pw"; ++//if(@file_exists('/usr/bin/doveadm')) { // @ to silence openbase_dir stuff; see https://github.com/postfixadmin/postfixadmin/issues/171 ++// $CONF['dovecotpw'] = "/usr/bin/doveadm pw"; # debian ++//} ++$CONF['dovecotpw'] = "/usr/local/bin/doveadm pw"; # FreeBSD + + // Password validation + // New/changed passwords will be validated using all regular expressions in the array. diff --git a/mail/postfixadmin/files/pkg-message.in b/mail/postfixadmin/files/pkg-message.in index 9b1f449d5..742966870 100644 --- a/mail/postfixadmin/files/pkg-message.in +++ b/mail/postfixadmin/files/pkg-message.in @@ -6,9 +6,9 @@ You can do so by browsing to [URL]/setup.php where [URL] is the postfixadmin root. To avoid checksum errors when uninstalling or upgrading postfixadmin, -do not edit config.inc.php. Instead, put your configuration settings -in config.local.php in the postfixadmin webroot. That file will be -included automatically by config.inc.php. +do not edit config.inc.php. Put your configuration settings in +config.local.php in the postfixadmin base directory instead. That file +is included automatically by config.inc.php. For detailed information, please see the complete installation steps in %%DOCSDIR%%/INSTALL.TXT. diff --git a/mail/postfixadmin/pkg-plist b/mail/postfixadmin/pkg-plist index 67bb9b08b..d02f76363 100644 --- a/mail/postfixadmin/pkg-plist +++ b/mail/postfixadmin/pkg-plist @@ -2,6 +2,7 @@ %%PORTDOCS%%%%DOCSDIR%%/CHANGELOG.TXT %%PORTDOCS%%%%DOCSDIR%%/DOVECOT.txt %%PORTDOCS%%%%DOCSDIR%%/FAQ.txt +%%PORTDOCS%%%%DOCSDIR%%/HASHING.md %%PORTDOCS%%%%DOCSDIR%%/HORDE.txt %%PORTDOCS%%%%DOCSDIR%%/INSTALL.TXT %%PORTDOCS%%%%DOCSDIR%%/LANGUAGE.txt @@ -9,6 +10,7 @@ %%PORTDOCS%%%%DOCSDIR%%/POSTFIX_CONF.txt %%PORTDOCS%%%%DOCSDIR%%/Postfix-Dovecot-Postgresql-Example.md %%PORTDOCS%%%%DOCSDIR%%/README.md +%%PORTDOCS%%%%DOCSDIR%%/README.password_expiration %%PORTDOCS%%%%DOCSDIR%%/SECURITY.txt %%PORTDOCS%%%%DOCSDIR%%/SUPERADMIN.txt %%PORTDOCS%%%%DOCSDIR%%/UPGRADE.txt @@ -86,18 +88,21 @@ %%DATADIR%%/ADDITIONS/virtualmaildel.php %%DATADIR%%/GPL-LICENSE.TXT %%DATADIR%%/LICENSE.TXT -%%DATADIR%%/VIRTUAL_VACATION/Contributions.txt -%%DATADIR%%/VIRTUAL_VACATION/FILTER_README -%%DATADIR%%/VIRTUAL_VACATION/INSTALL.md -%%DATADIR%%/VIRTUAL_VACATION/tests/asterisk-email.txt -%%DATADIR%%/VIRTUAL_VACATION/tests/facebook.txt -%%DATADIR%%/VIRTUAL_VACATION/tests/mail-myself.txt -%%DATADIR%%/VIRTUAL_VACATION/tests/mailing-list.txt -%%DATADIR%%/VIRTUAL_VACATION/tests/spam.txt -%%DATADIR%%/VIRTUAL_VACATION/tests/teodor-smtp-envelope-headers.txt -%%DATADIR%%/VIRTUAL_VACATION/tests/test-email.txt -%%DATADIR%%/VIRTUAL_VACATION/tests/test.sh -%%DATADIR%%/VIRTUAL_VACATION/vacation.pl +%%VACATION%%%%DATADIR%%/VIRTUAL_VACATION/Contributions.txt +%%VACATION%%%%DATADIR%%/VIRTUAL_VACATION/FILTER_README +%%VACATION%%%%DATADIR%%/VIRTUAL_VACATION/INSTALL.md +%%VACATION%%%%DATADIR%%/VIRTUAL_VACATION/tests/asterisk-email.txt +%%VACATION%%%%DATADIR%%/VIRTUAL_VACATION/tests/facebook.txt +%%VACATION%%%%DATADIR%%/VIRTUAL_VACATION/tests/mail-myself.txt +%%VACATION%%%%DATADIR%%/VIRTUAL_VACATION/tests/mailing-list.txt +%%VACATION%%%%DATADIR%%/VIRTUAL_VACATION/tests/spam.txt +%%VACATION%%%%DATADIR%%/VIRTUAL_VACATION/tests/teodor-smtp-envelope-headers.txt +%%VACATION%%%%DATADIR%%/VIRTUAL_VACATION/tests/test-email.txt +%%VACATION%%%%DATADIR%%/VIRTUAL_VACATION/tests/test.sh +%%VACATION%%%%DATADIR%%/VIRTUAL_VACATION/vacation.pl +%%DATADIR%%/check_mailpass_expiration.sh +%%DATADIR%%/password_expiration.sql +%%DATADIR%%/postfixadmin.my.cnf %%WWWDIR%%/common.php %%WWWDIR%%/config.inc.php %%WWWDIR%%/configs/menu.conf @@ -116,6 +121,7 @@ %%WWWDIR%%/languages/fi.lang %%WWWDIR%%/languages/fo.lang %%WWWDIR%%/languages/fr.lang +%%WWWDIR%%/languages/gl.lang %%WWWDIR%%/languages/hr.lang %%WWWDIR%%/languages/hu.lang %%WWWDIR%%/languages/index.php @@ -131,6 +137,7 @@ %%WWWDIR%%/languages/nn.lang %%WWWDIR%%/languages/pl.lang %%WWWDIR%%/languages/pt-br.lang +%%WWWDIR%%/languages/pt-pt.lang %%WWWDIR%%/languages/ro.lang %%WWWDIR%%/languages/ru.lang %%WWWDIR%%/languages/sk.lang @@ -138,10 +145,7 @@ %%WWWDIR%%/languages/sv.lang %%WWWDIR%%/languages/tr.lang %%WWWDIR%%/languages/tw.lang -%%WWWDIR%%/lib/random_compat.phar -%%WWWDIR%%/lib/random_compat.phar.pubkey -%%WWWDIR%%/lib/random_compat.txt -%%WWWDIR%%/lib/smarty.inc.php +%%WWWDIR%%/languages/ua.lang %%WWWDIR%%/lib/smarty/COPYING.lib %%WWWDIR%%/lib/smarty/libs/Autoloader.php %%WWWDIR%%/lib/smarty/libs/Smarty.class.php @@ -361,34 +365,42 @@ %%WWWDIR%%/model/Config.php %%WWWDIR%%/model/DomainHandler.php %%WWWDIR%%/model/FetchmailHandler.php +%%WWWDIR%%/model/Login.php %%WWWDIR%%/model/MailboxHandler.php %%WWWDIR%%/model/PFAHandler.php +%%WWWDIR%%/model/PFASmarty.php %%WWWDIR%%/model/Shell.php %%WWWDIR%%/model/VacationHandler.php %%WWWDIR%%/public/backup.php %%WWWDIR%%/public/broadcast-message.php -%%WWWDIR%%/public/calendar.js %%WWWDIR%%/public/common.php -%%WWWDIR%%/public/css/calendar.css -%%WWWDIR%%/public/css/default.css +%%WWWDIR%%/public/css/bootstrap-3.4.1-dist/css/bootstrap-datetimepicker.min.css +%%WWWDIR%%/public/css/bootstrap-3.4.1-dist/css/bootstrap-theme.css +%%WWWDIR%%/public/css/bootstrap-3.4.1-dist/css/bootstrap-theme.css.map +%%WWWDIR%%/public/css/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css +%%WWWDIR%%/public/css/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css.map +%%WWWDIR%%/public/css/bootstrap-3.4.1-dist/css/bootstrap.css +%%WWWDIR%%/public/css/bootstrap-3.4.1-dist/css/bootstrap.css.map +%%WWWDIR%%/public/css/bootstrap-3.4.1-dist/css/bootstrap.min.css +%%WWWDIR%%/public/css/bootstrap-3.4.1-dist/css/bootstrap.min.css.map +%%WWWDIR%%/public/css/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.eot +%%WWWDIR%%/public/css/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.svg +%%WWWDIR%%/public/css/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.ttf +%%WWWDIR%%/public/css/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.woff +%%WWWDIR%%/public/css/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.woff2 +%%WWWDIR%%/public/css/bootstrap-3.4.1-dist/js/bootstrap-datetimepicker.min.js +%%WWWDIR%%/public/css/bootstrap-3.4.1-dist/js/bootstrap.js +%%WWWDIR%%/public/css/bootstrap-3.4.1-dist/js/bootstrap.min.js +%%WWWDIR%%/public/css/bootstrap-3.4.1-dist/js/moment-with-locales.min.js +%%WWWDIR%%/public/css/bootstrap-3.4.1-dist/js/moment.js +%%WWWDIR%%/public/css/bootstrap-3.4.1-dist/js/npm.js +%%WWWDIR%%/public/css/bootstrap.css %%WWWDIR%%/public/delete.php %%WWWDIR%%/public/edit.php %%WWWDIR%%/public/editactive.php %%WWWDIR%%/public/images/arrow-l.png %%WWWDIR%%/public/images/arrow-r.png %%WWWDIR%%/public/images/arrow-u.png -%%WWWDIR%%/public/images/calendar/cal.gif -%%WWWDIR%%/public/images/calendar/next_mon.gif -%%WWWDIR%%/public/images/calendar/next_year.gif -%%WWWDIR%%/public/images/calendar/no_cal.gif -%%WWWDIR%%/public/images/calendar/pixel.gif -%%WWWDIR%%/public/images/calendar/prev_mon.gif -%%WWWDIR%%/public/images/calendar/prev_year.gif -%%WWWDIR%%/public/images/calendar/shade_bl.png -%%WWWDIR%%/public/images/calendar/shade_bm.png -%%WWWDIR%%/public/images/calendar/shade_br.png -%%WWWDIR%%/public/images/calendar/shade_mr.png -%%WWWDIR%%/public/images/calendar/shade_tr.png %%WWWDIR%%/public/images/favicon.ico %%WWWDIR%%/public/images/index.php %%WWWDIR%%/public/images/logo-default.png @@ -399,6 +411,7 @@ %%WWWDIR%%/public/images/postfixadmin2.xcf %%WWWDIR%%/public/images/quota-colors.png %%WWWDIR%%/public/index.php +%%WWWDIR%%/public/jquery-1.12.4.min.js %%WWWDIR%%/public/list-virtual.php %%WWWDIR%%/public/list.php %%WWWDIR%%/public/login.php @@ -408,22 +421,7 @@ %%WWWDIR%%/public/sendmail.php %%WWWDIR%%/public/setup.php %%WWWDIR%%/public/upgrade.php -%%WWWDIR%%/public/users/calendar.js -%%WWWDIR%%/public/users/css/calendar.css -%%WWWDIR%%/public/users/css/default.css %%WWWDIR%%/public/users/edit-alias.php -%%WWWDIR%%/public/users/images/calendar/cal.gif -%%WWWDIR%%/public/users/images/calendar/next_mon.gif -%%WWWDIR%%/public/users/images/calendar/next_year.gif -%%WWWDIR%%/public/users/images/calendar/no_cal.gif -%%WWWDIR%%/public/users/images/calendar/pixel.gif -%%WWWDIR%%/public/users/images/calendar/prev_mon.gif -%%WWWDIR%%/public/users/images/calendar/prev_year.gif -%%WWWDIR%%/public/users/images/calendar/shade_bl.png -%%WWWDIR%%/public/users/images/calendar/shade_bm.png -%%WWWDIR%%/public/users/images/calendar/shade_br.png -%%WWWDIR%%/public/users/images/calendar/shade_mr.png -%%WWWDIR%%/public/users/images/calendar/shade_tr.png %%WWWDIR%%/public/users/index.php %%WWWDIR%%/public/users/login.php %%WWWDIR%%/public/users/main.php @@ -455,7 +453,6 @@ %%WWWDIR%%/templates/login.tpl %%WWWDIR%%/templates/main.tpl %%WWWDIR%%/templates/menu.tpl -%%WWWDIR%%/templates/message.tpl %%WWWDIR%%/templates/password-change.tpl %%WWWDIR%%/templates/password-recover.tpl %%WWWDIR%%/templates/password.tpl @@ -465,12 +462,32 @@ %%WWWDIR%%/templates/users_menu.tpl %%WWWDIR%%/templates/vacation.tpl %%WWWDIR%%/templates/viewlog.tpl +%%WWWDIR%%/tests/AdminHandlerTest.php +%%WWWDIR%%/tests/AdminpasswordHandlerTest.php +%%WWWDIR%%/tests/AliasHandlerTest.php +%%WWWDIR%%/tests/AliasdomainHandlerTest.php +%%WWWDIR%%/tests/CheckDomainTest.php +%%WWWDIR%%/tests/CheckEmailTest.php +%%WWWDIR%%/tests/CheckLanguageTest.php +%%WWWDIR%%/tests/CheckOwnerTest.php +%%WWWDIR%%/tests/ConfigTest.php +%%WWWDIR%%/tests/CreatePageBrowserTest.php +%%WWWDIR%%/tests/DbBasicTest.php +%%WWWDIR%%/tests/DomainHandlerTest.php +%%WWWDIR%%/tests/FetchmailHandlerTest.php %%WWWDIR%%/tests/GeneratePasswordTest.php +%%WWWDIR%%/tests/ListAdminsTest.php +%%WWWDIR%%/tests/ListDomainsForAdminTest.php +%%WWWDIR%%/tests/ListDomainsTest.php +%%WWWDIR%%/tests/LoginTest.php +%%WWWDIR%%/tests/MailboxHandlerTest.php %%WWWDIR%%/tests/PacryptTest.php +%%WWWDIR%%/tests/PasswordValidationCallableTest.php %%WWWDIR%%/tests/RemoteAliasTest.php %%WWWDIR%%/tests/RemoteTest.php %%WWWDIR%%/tests/RemoteUserTest.php %%WWWDIR%%/tests/RemoteVacationTest.php +%%WWWDIR%%/tests/RemoveFromArrayTest.php %%WWWDIR%%/tests/ValidatePasswordTest.php -%%WWWDIR%%/tests/common.php +%%WWWDIR%%/tests/bootstrap.php @dir(%%WWWOWN%%,%%WWWGRP%%,) %%WWWDIR%%/templates_c