mail/postfix35 add new port

Postfix 3.6 requires minimum OpenSSL 1.1.1,
this port is an alternative for FreeBSD 11 users using
'OpenSSL base' and will be removed if FreeBSD 11 is EoL
This commit is contained in:
Olli Hauer 2021-05-06 19:09:50 +02:00
parent fbbe09a048
commit efa868ac95
17 changed files with 1077 additions and 0 deletions

View File

@ -5,6 +5,20 @@ 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.
20210506:
AFFECTS: users of mail/postfix
AUTHOR: ohauer@FreeBSD.org
Postfix 3.6 and higher requires minimum OpenSSL 1.1.1
FreeBSD 11 users using base OpenSSL can switch to
mail/postfix35
If you whish to use postfix35 until FreeBSD 11 EoL you might run the
following command:
# pkg set -o mail/postfix:mail/postfix35
# pkg upgrade
20210505:
AFFECTS: users of sysutils/terraform
AUTHOR: 0mp@FreeBSD.org

View File

@ -476,6 +476,7 @@
SUBDIR += postfix-policyd-weight
SUBDIR += postfix-postfwd
SUBDIR += postfix-sasl
SUBDIR += postfix35
SUBDIR += postfixadmin
SUBDIR += postgrey
SUBDIR += postsrsd

378
mail/postfix35/Makefile Normal file
View File

@ -0,0 +1,378 @@
# Created by: Torsten Blum <torstenb@FreeBSD.org>
PORTNAME= postfix
DISTVERSION= 3.5.10
PORTREVISION?= 0
PORTEPOCH= 1
CATEGORIES= mail
MASTER_SITES= http://ftp.porcupine.org/mirrors/postfix-release/ \
http://de.postfix.org/ftpmirror/ \
http://cdn.postfix.johnriley.me/mirrors/postfix-release/ \
http://www.artfiles.org/postfix.org/postfix-release/ \
http://mirror.lhsolutions.nl/postfix-release/ \
ftp://postfix.mirrors.pair.com/
MASTER_SITES:= ${MASTER_SITES:S|$|official/|}
DIST_SUBDIR= ${PORTNAME}
MAINTAINER= ohauer@FreeBSD.org
COMMENT= Secure alternative to widely-used Sendmail
LICENSE= EPL IPL10
LICENSE_COMB= multi
LICENSE_FILE= ${WRKSRC}/LICENSE
LICENSE_NAME_IPL10= IBM PUBLIC LICENSE VERSION 1.0
LICENSE_PERMS_IPL10= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
DEPRECATED= It is only here until FreeBSD 11 is EoL (Postfix >= 3.6 requires OpenSSL >= 1.1.x)
EXPIRATION_DATE=2021-09-30
PORTSCOUT= limit:^3\.5\.
CONFLICTS_INSTALL?= courier-0.* opensmtpd-[0-9]* sendmail-8.* sendmail+*-8.* \
postfix-* postfix-current-*
USERS= postfix
GROUPS= mail maildrop postfix
USES= shebangfix cpe
SHEBANG_FILES= auxiliary/qshape/qshape.pl
USE_RC_SUBR= postfix
USE_SUBMAKE= yes
SCRIPTS_ENV+= POSTFIX_DEFAULT_MTA="${POSTFIX_DEFAULT_MTA}"
OPTIONS_SUB= yes
OPTIONS_DEFINE= BDB BLACKLISTD CDB DOCS EAI INST_BASE LDAP LDAP_SASL \
LMDB MYSQL NIS PCRE PGSQL SASL SQLITE TEST TLS
OPTIONS_RADIO= RG1
OPTIONS_RADIO_RG1= SASLKRB5 SASLKMIT
OPTIONS_DEFAULT?= BLACKLISTD EAI PCRE TLS
BDB_USES= bdb
BLACKLISTD_EXTRA_PATCHES= ${FILESDIR}/extra-patch-blacklistd
CDB_LIB_DEPENDS= libcdb.so:databases/tinycdb
EAI_LIB_DEPENDS= libicuuc.so:devel/icu
LDAP_USE= OPENLDAP=yes
LMDB_LIB_DEPENDS= liblmdb.so:databases/lmdb
MYSQL_USES?= mysql
PCRE_LIB_DEPENDS= libpcre.so:devel/pcre
PGSQL_USES= pgsql
SASLKMIT_LIB_DEPENDS= libkrb5.so:security/krb5
SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2
SQLITE_USES= sqlite
TLS_USES= ssl
BLACKLISTD_DESC= Enable blacklistd support (FreeBSD 11.0 and later only)
CDB_DESC= CDB maps lookups
EAI_DESC= Email Address Internationalization (SMTPUTF8) support
INST_BASE_DESC= Install into /usr and /etc/postfix
LDAP_DESC= LDAP maps (uses WITH_OPENLDAP_VER)
LDAP_SASL_DESC= LDAP client-to-server SASL auth
LMDB_DESC= LMDB maps
TEST_DESC= SMTP/LMTP test server and generator
SASL_DESC= Cyrus SASL support (Dovecot SASL is always built in)
RG1_DESC= Kerberos network authentication protocol type
SASLKRB5_DESC= If your SASL req. Kerberos5, select this
SASLKMIT_DESC= If your SASL req. MIT Kerberos5, select this
.include <bsd.port.options.mk>
HTML1= body_checks.5.html bounce.5.html postfix-power.png \
scache.8.html tlsmgr.8.html
STRIP_LIBEXEC= anvil bounce cleanup discard dnsblog error flush lmtp local \
master nqmgr oqmgr pickup pipe postlogd postscreen proxymap \
qmgr qmqpd scache showq smtp smtpd spawn tlsmgr tlsproxy \
trivial-rewrite verify virtual
.if !defined(DEBUG)
MAKEFILEFLAGS+= DEBUG=
.endif
MAKEFILEFLAGS+= pie=yes CC="${CC}" OPT="${CFLAGS}"
.if ${PORT_OPTIONS:MINST_BASE}
PKGNAMESUFFIX= 35-base
PREFIX= /usr
ETCDIR= /etc/postfix
PLIST_SUB+= BMAN="share/"
.else
PKGNAMESUFFIX= 35
PLIST_SUB+= BMAN=""
.endif
PLIST_SUB+= PFETC=${ETCDIR}
# check if mailwrapper supports $LOCALBASE
.if ${OPSYS} == FreeBSD
SUB_LIST+= USE_LOCALBASE_MAILER_CONF="yes" MC_PREFIX="${LOCALBASE}"
.else
SUB_LIST+= USE_LOCALBASE_MAILER_CONF="no" MC_PREFIX=""
.endif
.if ${PORT_OPTIONS:MDOCS}
PORTDOCS= *
READMEDIR= ${DOCSDIR}
.else
READMEDIR= no
.endif
# dynamic direcory location
DAEMONDIR= ${PREFIX}/libexec/postfix
SHLIB_DIRECTORY=${PREFIX}/lib/postfix
# new proposed location is ETCDIR (see README_FILES/INSTALL)
# keep compatiblity with Postfix 2.6 .. 2.11 and use DAEMOMDIR
META_DIRECTORY= ${DAEMONDIR}
SUB_LIST+= REQUIRE="${_REQUIRE}" READMEDIR="${READMEDIR}" \
DAEMONDIR="${DAEMONDIR}" META_DIRECTORY="${META_DIRECTORY}"
SUB_FILES+= pkg-install pkg-message mailer.conf.postfix
POSTFIX_CCARGS+= -DDEF_CONFIG_DIR=\\\"${ETCDIR}\\\" \
-DDEF_DAEMON_DIR=\\\"${DAEMONDIR}\\\" \
-DDEF_META_DIR=\\\"${META_DIRECTORY}\\\" \
-DDEF_COMMAND_DIR=\\\"${PREFIX}/sbin\\\" \
-DDEF_SENDMAIL_PATH=\\\"${PREFIX}/sbin/sendmail\\\" \
-DDEF_NEWALIAS_PATH=\\\"${PREFIX}/bin/newaliases\\\" \
-DDEF_MAILQ_PATH=\\\"${PREFIX}/bin/mailq\\\" \
-DDEF_MANPAGE_DIR=\\\"${MANPREFIX}/man\\\" \
-DDEF_README_DIR=\\\"${READMEDIR}\\\" \
-DDEF_HTML_DIR=\\\"${READMEDIR}\\\" \
-DDEF_QUEUE_DIR=\\\"/var/spool/postfix\\\" \
-DDEF_DATA_DIR=\\\"/var/db/postfix\\\" \
-DDEF_MAIL_OWNER=\\\"postfix\\\" \
-DDEF_SGID_GROUP=\\\"maildrop\\\" \
-Wmissing-prototypes -Wformat -Wno-comment
# Default requirement for postfix rc script
_REQUIRE= LOGIN cleanvar dovecot
# always build with Dovecot SASL support, Cyrus is optional
# see Postfix HISTORY 20051222
POSTFIX_CCARGS+= -DUSE_SASL_AUTH
# Email Address Internationalization (EAI, RFC 6531..6533)
.if ${PORT_OPTIONS:MEAI}
POSTFIX_CCARGS+= -DHAS_EAI -I${LOCALBASE}/include
POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -licuuc
.else
POSTFIX_CCARGS+= -DNO_EAI
.endif
.if ${PORT_OPTIONS:MPCRE}
DYN_EXT+= pcre
POSTFIX_CCARGS+= -DHAS_PCRE -I${LOCALBASE}/include
POSTFIX_DYN_AUXLIBS+= "AUXLIBS_PCRE=`${LOCALBASE}/bin/pcre-config --libs`"
.else
POSTFIX_CCARGS+= -DNO_PCRE
.endif
.if ${PORT_OPTIONS:MSASL}
POSTFIX_CCARGS+= -DUSE_CYRUS_SASL -I${LOCALBASE}/include -I${LOCALBASE}/include/sasl
POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -lsasl2 -lpam -lcrypt
.else
POSTFIX_CCARGS+= -DDEF_SERVER_SASL_TYPE=\\\"dovecot\\\"
.endif
.if ${PORT_OPTIONS:MSASLKRB5}
POSTFIX_AUXLIBS+= -lkrb5 -lhx509 -lcrypto -lcrypt -lcom_err -lasn1 -lroken
.endif
.if ${PORT_OPTIONS:MSASLKMIT}
POSTFIX_AUXLIBS+= -Wl,--rpath,$${KRB5_HOME:-${LOCALBASE}}/lib -lkrb5 -lcrypto -lcrypt -lcom_err
.endif
.if ${PORT_OPTIONS:MTLS}
POSTFIX_CCARGS+= -DUSE_TLS -I${OPENSSLINC}
# XXX LDFLAGS possible breaks dynamic building
POSTFIX_AUXLIBS+= -L${OPENSSLLIB} ${LDFLAGS} -lssl -lcrypto
.else
POSTFIX_CCARGS+= -DNO_TLS
.endif
.if ${PORT_OPTIONS:MBDB}
POSTFIX_CCARGS+= -I${BDB_INCLUDE_DIR}
POSTFIX_AUXLIBS+= -L${BDB_LIB_DIR} -l${BDB_LIB_NAME}
.endif
.if ${PORT_OPTIONS:MBLACKLISTD}
. if ${OPSYS} == FreeBSD
POSTFIX_AUXLIBS+= -lblacklist
. else
IGNORE= blacklistd is only supported on FreeBSD >= 11.0
. endif
.endif
.if ${PORT_OPTIONS:MMYSQL}
DYN_EXT+= mysql
POSTFIX_CCARGS+= -DHAS_MYSQL -I${LOCALBASE}/include/mysql
POSTFIX_DYN_AUXLIBS+= "AUXLIBS_MYSQL=-L${LOCALBASE}/lib/mysql -lmysqlclient -lz -lm"
_REQUIRE+= mysql
.endif
.if ${PORT_OPTIONS:MPGSQL}
DYN_EXT+= pgsql
POSTFIX_CCARGS+= -DHAS_PGSQL -I${LOCALBASE}/include
POSTFIX_DYN_AUXLIBS+= "AUXLIBS_PGSQL=-L${LOCALBASE}/lib -lpq"
_REQUIRE+= postgresql
.endif
.if ${PORT_OPTIONS:MSQLITE}
DYN_EXT+= sqlite
POSTFIX_CCARGS+= -DHAS_SQLITE -I${LOCALBASE}/include
POSTFIX_DYN_AUXLIBS+= "AUXLIBS_SQLITE=-L${LOCALBASE}/lib -lsqlite3 -lpthread"
.endif
.if ${PORT_OPTIONS:MLDAP}
DYN_EXT+= ldap
. if defined(WITH_OPENLDAP_VER)
WANT_OPENLDAP_VER= ${WITH_OPENLDAP_VER}
. endif
POSTFIX_CCARGS+= -DHAS_LDAP -I${LOCALBASE}/include
POSTFIX_DYN_AUXLIBS+= "AUXLIBS_LDAP=-L${LOCALBASE}/lib -lldap -L${LOCALBASE}/lib -llber"
_REQUIRE+= slapd
. if ${PORT_OPTIONS:MLDAP_SASL}
. if ! ${PORT_OPTIONS:MSASL}
LIB_DEPENDS+= libsasl2.so:security/cyrus-sasl2
. endif
WANT_OPENLDAP_SASL= yes
POSTFIX_CCARGS+= -I${LOCALBASE}/include/sasl -DUSE_LDAP_SASL
. endif
.endif
.if ${PORT_OPTIONS:MCDB}
DYN_EXT+= cdb
POSTFIX_CCARGS+= -DHAS_CDB -I${LOCALBASE}/include
POSTFIX_DYN_AUXLIBS+= "AUXLIBS_CDB=-L${LOCALBASE}/lib -lcdb"
.endif
.if ${PORT_OPTIONS:MNIS}
POSTFIX_CCARGS+= -DHAS_NIS
_REQUIRE+= ypserv
.endif
.if ${PORT_OPTIONS:MTEST}
BINTEST= qmqp-sink qmqp-source smtp-sink smtp-source
MANTEST= qmqp-sink.1 qmqp-source.1 smtp-sink.1 smtp-source.1
.endif
.if ${PORT_OPTIONS:MLMDB}
DYN_EXT+= lmdb
POSTFIX_CCARGS+= -DHAS_LMDB -I${LOCALBASE}/include
POSTFIX_DYN_AUXLIBS+= "AUXLIBS_LMDB=-L${LOCALBASE}/lib -llmdb"
.endif
# sed script for files in ${WRKSRC}/README_FILES ${WRKSRC}/conf ${WRKSRC}/man
REINPLACE= s!^PATH=.*!PATH=/bin:/sbin:/usr/bin:/usr/sbin:${PREFIX}/bin:${PREFIX}/sbin!;\
s!(_directory = )/usr/!\1${PREFIX}/!g;\
s!^(data_directory = /var/)lib/!\1db/!g;\
s!^\#(mynetworks_style = host)!\1!g;\
s!^(sendmail_path =)!\1 ${PREFIX}/sbin/sendmail!g;\
s!^(newaliases_path =)!\1 ${PREFIX}/bin/newaliases!g;\
s!^(mailq_path =)!\1 ${PREFIX}/bin/mailq!g;\
s!^(setgid_group =)!\1 maildrop!g;\
s!^(manpage_directory =)!\1 ${MANPREFIX}/man!g;\
s!^((html|readme)_directory =)!\1 ${READMEDIR}!g;\
\!^\#alias_database = dbm:/etc/mail/aliases$$!d;\
s!(:|= )/etc/postfix!\1$$config_directory!g;\
s!/etc/postfix!${ETCDIR}!g;\
s!^(sample_directory =)!\1 ${ETCDIR}!g;\
s!($config_directory/(access|aliases|canonical|generic|header_checks|relocated|transport|virtual):f:root:-:644:)p1!\1o!;
pre-patch:
.if ${PORT_OPTIONS:MSASL} && ! ${PORT_OPTIONS:MMYSQL} && exists(${LOCALBASE}/lib/libsasl2.a)
@if /usr/bin/nm ${LOCALBASE}/lib/libsasl2.a | ${GREP} -wq "mysql_init"; then \
${ECHO_MSG}; \
${ECHO_MSG} "Your SASL library it's compiled with MYSQL"; \
${ECHO_MSG} "If you use MYSQL in ${PORTNAME} consider CTRL+C and"; \
${ECHO_MSG} "select MYSQL OPTION in config menu."; \
${ECHO_MSG} "# make clean config"; \
${ECHO_MSG}; \
sleep 5; \
fi
.endif
@${ECHO_CMD} '<HTML><BODY>See <A HREF="header_checks.5.html">header_checks.5.html</A></BODY></HTML>' \
> ${WRKSRC}/html/body_checks.5.html
@${REINPLACE_CMD} -E -e 's!^(#define DEF_SGID_GROUP[^"]+)"postdrop"$$!\1"maildrop"!' \
${WRKSRC}/src/global/mail_params.h
@${FIND} -X ${WRKSRC}/README_FILES ${WRKSRC}/conf ${WRKSRC}/man \
-type f -a ! \( -name INSTALL -o -name aliases \) | ${XARGS} \
${REINPLACE_CMD} -i '' -E -e '${REINPLACE}'
post-patch:
.for f in ${HTML1}
@${ECHO_CMD} '$$html_directory/$f:f:root:-:644' \
>> ${WRKSRC}/conf/postfix-files
.endfor
@${ECHO_CMD} '$$manpage_directory/man1/posttls-finger.1:f:root:-:644' \
>> ${WRKSRC}/conf/postfix-files
@${ECHO_CMD} '$$command_directory/posttls-finger:f:root:-:755' \
>> ${WRKSRC}/conf/postfix-files
do-configure:
(cd ${WRKSRC} && ${MAKE} -f Makefile.init makefiles \
${MAKEFILEFLAGS} CCARGS="${POSTFIX_CCARGS}" \
shared=yes shlib_directory=${SHLIB_DIRECTORY} \
dynamicmaps=yes \
${POSTFIX_DYN_AUXLIBS} \
AUXLIBS="${POSTFIX_AUXLIBS}" && \
${ECHO_CMD} "all: default" >> Makefile)
pre-install-INST_BASE-on:
${MKDIR} ${STAGEDIR}/etc/rc.d
do-install:
@(cd ${WRKSRC} && ${MAKE} non-interactive-package \
install_root=${STAGEDIR} tempdir=${WRKDIR} \
shlib_directory=${SHLIB_DIRECTORY} \
config_directory=${ETCDIR} \
command_directory=${PREFIX}/sbin \
daemon_directory=${DAEMONDIR} \
meta_directory=${META_DIRECTORY} \
html_directory=${READMEDIR} \
mailq_path=${PREFIX}/bin/mailq \
manpage_directory=${MANPREFIX}/man \
newaliases_path=${PREFIX}/bin/newaliases \
readme_directory=${READMEDIR} \
sendmail_path=${PREFIX}/sbin/sendmail )
${INSTALL_SCRIPT} ${WRKSRC}/auxiliary/rmail/rmail ${STAGEDIR}${PREFIX}/bin/rmail
${INSTALL_SCRIPT} ${WRKSRC}/auxiliary/qshape/qshape.pl ${STAGEDIR}${PREFIX}/bin/qshape
${INSTALL_MAN} ${WRKSRC}/man/man1/qshape.1 ${STAGEDIR}${MANPREFIX}/man/man1
# == do not overwrite existing config
${MV} ${STAGEDIR}${ETCDIR}/main.cf ${STAGEDIR}${ETCDIR}/main.cf.sample
${MV} ${STAGEDIR}${ETCDIR}/master.cf ${STAGEDIR}${ETCDIR}/master.cf.sample
${MKDIR} ${STAGEDIR}${DATADIR}
${INSTALL_DATA} ${WRKDIR}/mailer.conf.postfix ${STAGEDIR}${DATADIR}
# == chop dynamicmaps.cf entries into dedicated .cf files
# for future sub-packages support
.for f in ${DYN_EXT}
# adjust dynamicmaps.cf
${GREP} -e "^#" -e "^${f}" ${STAGEDIR}${META_DIRECTORY}/dynamicmaps.cf \
> ${STAGEDIR}${META_DIRECTORY}/dynamicmaps.cf.d/${f}.cf && \
${SED} -i '' -e '/${f}/d' ${STAGEDIR}${META_DIRECTORY}/dynamicmaps.cf
# adjust / generate postfix-files for dynamic modules
${SED} -i '' -e '/postfix-${f}.so/d' ${STAGEDIR}${META_DIRECTORY}/postfix-files && \
${PRINTF} '# Do not edit this file.\
\n$$shlib_directory/postfix-${f}.so:f:root:-:755\
\n$$meta_directory/postfix-files.d/${f}-files:f:root:-:644\
\n$$meta_directory/dynamicmaps.cf.d/${f}.cf:f:root:-:644\n' \
> ${STAGEDIR}${META_DIRECTORY}/postfix-files.d/${f}-files
.endfor
# Fix compressed man pages and strip executables
${SED} -i '' -E -e "s|(man[158]/.*.[158]):|\1.gz:|g" ${STAGEDIR}${META_DIRECTORY}/postfix-files
-@${STRIP_CMD} ${STRIP_LIBEXEC:S|^|${STAGEDIR}${DAEMONDIR}/|}
-@${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/*
-@${STRIP_CMD} ${STAGEDIR}${SHLIB_DIRECTORY}/*.so
do-install-TEST-on:
${INSTALL_PROGRAM} ${BINTEST:S|^|${WRKSRC}/bin/|} ${STAGEDIR}${PREFIX}/bin
${INSTALL_MAN} ${MANTEST:S|^|${WRKSRC}/man/man1/|} ${STAGEDIR}${MANPREFIX}/man/man1
.include <bsd.port.mk>

3
mail/postfix35/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1618155540
SHA256 (postfix/postfix-3.5.10.tar.gz) = 5bb4d7d72d7512b58f3a31426dcbd394fd354e0a43de21da89466b057a0228f8
SIZE (postfix/postfix-3.5.10.tar.gz) = 4621130

View File

@ -0,0 +1,69 @@
# PR 225664: support blacklistd on FreeBSD >= 11.0
#
--- src/smtpd/Makefile.in.orig 2017-02-05 23:36:32 UTC
+++ src/smtpd/Makefile.in
@@ -2,14 +2,14 @@ SHELL = /bin/sh
SRCS = smtpd.c smtpd_token.c smtpd_check.c smtpd_chat.c smtpd_state.c \
smtpd_peer.c smtpd_sasl_proto.c smtpd_sasl_glue.c smtpd_proxy.c \
smtpd_xforward.c smtpd_dsn_fix.c smtpd_milter.c smtpd_resolve.c \
- smtpd_expand.c smtpd_haproxy.c
+ smtpd_expand.c smtpd_haproxy.c pfilter.c
OBJS = smtpd.o smtpd_token.o smtpd_check.o smtpd_chat.o smtpd_state.o \
smtpd_peer.o smtpd_sasl_proto.o smtpd_sasl_glue.o smtpd_proxy.o \
smtpd_xforward.o smtpd_dsn_fix.o smtpd_milter.o smtpd_resolve.o \
- smtpd_expand.o smtpd_haproxy.o
+ smtpd_expand.o smtpd_haproxy.o pfilter.o
HDRS = smtpd_token.h smtpd_check.h smtpd_chat.h smtpd_sasl_proto.h \
smtpd_sasl_glue.h smtpd_proxy.h smtpd_dsn_fix.h smtpd_milter.h \
- smtpd_resolve.h smtpd_expand.h
+ smtpd_resolve.h smtpd_expand.h pfilter.h
TESTSRC = smtpd_token_test.c
DEFS = -I. -I$(INC_DIR) -D$(SYSTYPE)
CFLAGS = $(DEBUG) $(OPT) $(DEFS)
--- src/smtpd/smtpd_sasl_glue.c.orig 2017-02-19 01:58:21 UTC
+++ src/smtpd/smtpd_sasl_glue.c
@@ -147,6 +147,7 @@
#include "smtpd.h"
#include "smtpd_sasl_glue.h"
#include "smtpd_chat.h"
+#include "pfilter.h" /* for blacklistd(8) */
#ifdef USE_SASL_AUTH
@@ -332,6 +333,10 @@ int smtpd_sasl_authenticate(SMTPD_ST
else
smtpd_chat_reply(state, "535 5.7.8 Error: authentication failed: %s",
STR(state->sasl_reply));
+
+
+ /* notify blacklistd of SASL authentication failure */
+ pfilter_notify(1, vstream_fileno(state->client));
return (-1);
}
/* RFC 4954 Section 6. */
--- src/smtpd/pfilter.h.orig 2018-02-04 15:36:49 UTC
+++ src/smtpd/pfilter.h
@@ -0,0 +1 @@
+void pfilter_notify(int, int);
--- src/smtpd/pfilter.c.orig 2018-02-04 15:36:49 UTC
+++ src/smtpd/pfilter.c
@@ -0,0 +1,19 @@
+#include "pfilter.h"
+#include <stdio.h> /* for NULL */
+#include <blacklist.h>
+
+static struct blacklist *blstate;
+
+void
+pfilter_notify(int a, int fd)
+{
+ if (blstate == NULL)
+ blstate = blacklist_open();
+ if (blstate == NULL)
+ return;
+ (void)blacklist_r(blstate, a, fd, "smtpd");
+ if (a == 0) {
+ blacklist_close(blstate);
+ blstate = NULL;
+ }
+}

View File

@ -0,0 +1,7 @@
#
# Execute the Postfix sendmail program, named %%PREFIX%%/sbin/sendmail
#
sendmail %%PREFIX%%/sbin/sendmail
send-mail %%PREFIX%%/sbin/sendmail
mailq %%PREFIX%%/sbin/sendmail
newaliases %%PREFIX%%/sbin/sendmail

View File

@ -0,0 +1,45 @@
--- makedefs.orig 2021-01-16 15:10:00 UTC
+++ makedefs
@@ -298,6 +298,42 @@ case "$SYSTEM.$RELEASE" in
: ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
: ${PLUGIN_LD="${CC} -shared"}
;;
+ FreeBSD.11*) SYSTYPE=FREEBSD11
+ : ${CC=cc}
+ : ${SHLIB_SUFFIX=.so}
+ : ${SHLIB_CFLAGS=-fPIC}
+ : ${SHLIB_LD="${CC} -shared"' -Wl,-soname,${LIB}'}
+ : ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'}
+ : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
+ : ${PLUGIN_LD="${CC} -shared"}
+ ;;
+ FreeBSD.12*) SYSTYPE=FREEBSD12
+ : ${CC=cc}
+ : ${SHLIB_SUFFIX=.so}
+ : ${SHLIB_CFLAGS=-fPIC}
+ : ${SHLIB_LD="${CC} -shared"' -Wl,-soname,${LIB}'}
+ : ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'}
+ : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
+ : ${PLUGIN_LD="${CC} -shared"}
+ ;;
+ FreeBSD.13*) SYSTYPE=FREEBSD13
+ : ${CC=cc}
+ : ${SHLIB_SUFFIX=.so}
+ : ${SHLIB_CFLAGS=-fPIC}
+ : ${SHLIB_LD="${CC} -shared"' -Wl,-soname,${LIB}'}
+ : ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'}
+ : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
+ : ${PLUGIN_LD="${CC} -shared"}
+ ;;
+ FreeBSD.14*) SYSTYPE=FREEBSD14
+ : ${CC=cc}
+ : ${SHLIB_SUFFIX=.so}
+ : ${SHLIB_CFLAGS=-fPIC}
+ : ${SHLIB_LD="${CC} -shared"' -Wl,-soname,${LIB}'}
+ : ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'}
+ : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
+ : ${PLUGIN_LD="${CC} -shared"}
+ ;;
DragonFly.*) SYSTYPE=DRAGONFLY
;;
OpenBSD.2*) SYSTYPE=OPENBSD2

View File

@ -0,0 +1,22 @@
--- src/posttls-finger/posttls-finger.c.orig 2019-02-12 13:17:45 UTC
+++ src/posttls-finger/posttls-finger.c
@@ -1673,7 +1673,8 @@ static int finger(STATE *state)
return (0);
}
-#if defined(USE_TLS) && OPENSSL_VERSION_NUMBER < 0x10100000L
+#if defined(USE_TLS) && \
+ ( OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) )
/* ssl_cleanup - free memory allocated in the OpenSSL library */
@@ -2156,7 +2157,8 @@ int main(int argc, char *argv[])
cleanup(&state);
/* OpenSSL 1.1.0 and later (de)initialization is implicit */
-#if defined(USE_TLS) && OPENSSL_VERSION_NUMBER < 0x10100000L
+#if defined(USE_TLS) && \
+ ( OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) )
ssl_cleanup();
#endif

View File

@ -0,0 +1,11 @@
--- src/tls/tls_certkey.c.orig 2019-03-07 23:57:10 UTC
+++ src/tls/tls_certkey.c
@@ -144,7 +144,7 @@ static void init_pem_load_state(pem_load
/* use_chain - load cert, key and chain into ctx or ssl */
-#if OPENSSL_VERSION_NUMBER >= 0x1010100fUL
+#if OPENSSL_VERSION_NUMBER >= 0x1010100fUL && !defined(LIBRESSL_VERSION_NUMBER)
static int use_chain(pem_load_state_t *st)
{
int ret;

View File

@ -0,0 +1,12 @@
--- src/tls/tls_server.c.orig 2019-02-18 23:03:54 UTC
+++ src/tls/tls_server.c
@@ -518,7 +518,9 @@ TLS_APPL_STATE *tls_server_init(const TL
* ticket decryption callback already (since 2.11) asks OpenSSL to
* avoid issuing new tickets when the presented ticket is re-usable.
*/
+#ifndef LIBRESSL_VERSION_NUMBER
SSL_CTX_set_num_tickets(server_ctx, 1);
+#endif
}
#endif
if (!ticketable)

View File

@ -0,0 +1,12 @@
--- src/util/sys_defs.h.orig 2019-10-13 15:32:18 UTC
+++ src/util/sys_defs.h
@@ -30,7 +30,8 @@
#if defined(FREEBSD2) || defined(FREEBSD3) || defined(FREEBSD4) \
|| defined(FREEBSD5) || defined(FREEBSD6) || defined(FREEBSD7) \
|| defined(FREEBSD8) || defined(FREEBSD9) || defined(FREEBSD10) \
- || defined(FREEBSD11) \
+ || defined(FREEBSD11) || defined(FREEBSD12) || defined(FREEBSD13) \
+ || defined(FREEBSD14) \
|| defined(BSDI2) || defined(BSDI3) || defined(BSDI4) \
|| defined(OPENBSD2) || defined(OPENBSD3) || defined(OPENBSD4) \
|| defined(OPENBSD5) || defined(OPENBSD6) \

View File

@ -0,0 +1,189 @@
#!/bin/sh
# If the POSTFIX_DEFAULT_MTA environment variable is set to YES, it
# will make the port/package use defaults which make postfix replace
# sendmail as much as possible.
# allowed vars during package installation
BATCH=${BATCH:=no}
POSTFIX_DEFAULT_MTA=${POSTFIX_DEFAULT_MTA:=no}
# fixed vars
PREFIX="%%PREFIX%%"
ETCDIR="%%ETCDIR%%"
DAEMONDIR="%%DAEMONDIR%%"
META_DIRECTORY="%%META_DIRECTORY%%"
READMEDIR="%%READMEDIR%%"
MC_TEMPLATE="%%DATADIR%%/mailer.conf.postfix"
# FreeBSD <= 10.3
MC_BASE="/etc/mail/mailer.conf"
# FreeBSD >= 10.3 (and current)
MC_LOCALBASE="%%LOCALBASE%%/etc/mail/mailer.conf"
USE_LOCALBASE_MAILER_CONF="%%USE_LOCALBASE_MAILER_CONF%%"
if [ "${POSTFIX_DEFAULT_MTA}" = "no" ]; then
DEFAULT_REPLACE_MAILERCONF=n
else
DEFAULT_REPLACE_MAILERCONF=y
fi
ask() {
local question default answer
question=$1
default=$2
if [ -z "${PACKAGE_BUILDING}" -a "${BATCH}" = "no" ]; then
read -p "${question} [${default}]? " answer
fi
if [ -z "${answer}" ]; then
answer=${default}
fi
echo ${answer}
}
yesno() {
local question default answer
question=$1
default=$2
while :; do
answer=$(ask "${question}" "${default}")
case "${answer}" in
[Yy]*) return 0;;
[Nn]*) return 1;;
esac
echo "Please answer yes or no."
done
}
# ==============================================================================
# Respect POSTFIX_DEFAULT_MTA, do not ask for confirmation!
# (This helps tools like salt, ansible or puppet on new installations)
# ==============================================================================
install_choise(){
local mailerconf
mailerconf=$1
if [ "${DEFAULT_REPLACE_MAILERCONF}" = "y" ]; then
install_mailer_conf ${mailerconf}
elif [ "${DEFAULT_REPLACE_MAILERCONF}" = "n" -a -t 0 ]; then
if yesno "Would you like to activate Postfix in ${mailerconf}" ${DEFAULT_REPLACE_MAILERCONF:="n"}; then
install_mailer_conf ${mailerconf}
else
show_not_activated_msg ${mailerconf}
fi
else
show_not_activated_msg ${mailerconf}
fi
}
show_not_activated_msg() {
local mailerconf
mailerconf=$1
echo
echo "==============================================================="
echo "Postfix was *not* activated in ${mailerconf}! "
echo
echo "To finish installation run the following commands:"
echo
if [ "${USE_LOCALBASE_MAILER_CONF}" = "yes" ]; then
echo " mkdir -p %%LOCALBASE%%/etc/mail"
else
echo " mv -f ${mailerconf} ${mailerconf}.old"
fi
echo " install -m 0644 ${MC_TEMPLATE} ${mailerconf}"
echo "==============================================================="
echo
}
show_activated_msg() {
local mailerconf
mailerconf=$1
echo "==============================================================="
echo "Postfix already activated in ${mailerconf}"
echo "==============================================================="
}
cmp_mailer() {
local mailerconf
mailerconf=$1
cmp -s ${mailerconf} ${MC_TEMPLATE}
return $?
}
install_mailer_conf() {
local mailerconf
mailerconf=$1
echo "Activate Postfix in ${mailerconf}"
if [ "${USE_LOCALBASE_MAILER_CONF}" = "yes" ]; then
[ -d %%LOCALBASE%%/etc/mail ] || mkdir -p %%LOCALBASE%%/etc/mail
fi
[ -f ${mailerconf} ] && mv -f ${mailerconf} ${mailerconf}.old
install -m 644 ${MC_TEMPLATE} ${mailerconf}
}
# ==============================================================================
# Run postfix reload
# This is a candidate for a dedicated pkg-post-upgrade script, but it seems
# this not fully implemented in pkg :(see upstream PR 941)
# ==============================================================================
try_reload(){
${PREFIX}/sbin/postfix status 2>/dev/null
if [ $? -eq 0 ]; then
${PREFIX}/sbin/postfix reload
else
echo "postfix not running"
fi
}
# ==============================================================================
# Run postfix post-install to fix permissions and new config values
# ==============================================================================
if [ "$2" = "POST-INSTALL" ]; then
/bin/sh ${DAEMONDIR}/post-install tempdir=/tmp \
daemon_directory=${DAEMONDIR} \
meta_directory=${META_DIRECTORY} \
html_directory=${READMEDIR} \
readme_directory=${READMEDIR} \
upgrade-package
fi
# ==============================================================================
# If FreeBSD <= 10.2 is deprecated check only LOCALBASE and remove BASE checks,
# regardless if installed in BASE or LOCALBASE
# Iff postfix is activated in BASE, also activate postfix in LOCALBASE!
# ==============================================================================
if [ "$2" = "POST-INSTALL" -a -z "${PACKAGE_BUILDING}" ]; then
if [ -f "${MC_BASE}" ]; then
if [ "${USE_LOCALBASE_MAILER_CONF}" = "yes" ]; then
cmp_mailer ${MC_BASE}
if [ $? -eq 0 ]; then
show_activated_msg ${MC_BASE}
cmp_mailer ${MC_LOCALBASE} || install_mailer_conf ${MC_LOCALBASE}
try_reload
else
cmp_mailer ${MC_LOCALBASE} || install_choise ${MC_LOCALBASE}
fi
else
cmp_mailer ${MC_BASE}
if [ $? -ne 0 ]; then
install_choise ${MC_BASE}
else
show_activated_msg ${MC_BASE}
try_reload
fi
fi
else
if [ "${USE_LOCALBASE_MAILER_CONF}" = "yes" ]; then
show_not_activated_msg ${MC_LOCALBASE}
else
show_not_activated_msg ${MC_BASE}
fi
fi # -f "${MC_BASE}"
fi # "$2" = "POST-INSTALL" -a -z "${PACKAGE_BUILDING}"

View File

@ -0,0 +1,44 @@
[
{
type: install
message: <<EOM
To use postfix instead of sendmail:
- clear sendmail queue and stop the sendmail daemons
Run the following commands to enable postfix during startup:
- sysrc postfix_enable="YES"
- sysrc sendmail_enable="NONE"
If postfix is *not* already activated in %%MC_PREFIX%%/etc/mail/mailer.conf
- mv %%MC_PREFIX%%/etc/mail/mailer.conf %%MC_PREFIX%%/etc/mail/mailer.conf.old
- install -m 0644 %%DATADIR%%/mailer.conf.postfix %%MC_PREFIX%%/etc/mail/mailer.conf
Disable sendmail(8) specific tasks,
add the following lines to /etc/periodic.conf(.local):
daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"
If you are using SASL, you need to make sure that postfix has access to read
the sasldb file. This is accomplished by adding postfix to group mail and
making the %%PREFIX%%/etc/sasldb* file(s) readable by group mail (this should
be the default for new installs).
EOM
}
{
type: upgrade
message: <<EOM
If you are upgrading from prior postfix version, please see the README
files for recommended changes to your configuration and additional
http://www.postfix.org/COMPATIBILITY_README.html
EOM
}
{
type: remove
message: <<EOM
If you remove postfix permanent, adjust / remove the the following file:
- %%MC_PREFIX%%/etc/mail/mailer.conf
EOM
}
]

View File

@ -0,0 +1,50 @@
#!/bin/sh
# PROVIDE: postfix mail
# REQUIRE: %%REQUIRE%%
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable postfix:
# postfix_enable (bool): Set it to "YES" to enable postfix.
# Default is "NO".
# postfix_pidfile (path): Set full path to master.pid.
# Default is "/var/spool/postfix/pid/master.pid".
# postfix_procname (command): Set command that start master. Used to verify if
# postfix is running.
# Default is "%%PREFIX%%/libexec/postfix/master".
# postfix_flags (str): Flags passed to postfix-script on startup.
# Default is "".
#
. /etc/rc.subr
name="postfix"
rcvar=postfix_enable
load_rc_config $name
: ${postfix_enable:="NO"}
: ${postfix_pidfile:="/var/spool/postfix/pid/master.pid"}
: ${postfix_procname:="%%PREFIX%%/libexec/postfix/master"}
start_cmd=${name}_start
stop_cmd=${name}_stop
extra_commands="reload"
reload_cmd="${name}_reload"
pidfile=${postfix_pidfile}
procname=${postfix_procname}
postfix_start() {
%%PREFIX%%/sbin/postfix ${postfix_flags} start
}
postfix_stop() {
%%PREFIX%%/sbin/postfix ${postfix_flags} stop
}
postfix_reload() {
%%PREFIX%%/sbin/postfix ${postfix_flags} reload
}
run_rc_command "$1"

15
mail/postfix35/pkg-descr Normal file
View File

@ -0,0 +1,15 @@
Postfix attempts to be fast, easy to administer, and secure, while at the same
time being sendmail compatible enough to not upset existing users. Thus, the
outside has a sendmail-ish flavor, but the inside is completely different.
Some features:
Connection cache for SMTP, DSN status notifications, IP version 6, Plug-in
support for multiple SASL implementations (Cyrus, Dovecot), TLS encryption and
authentication, Configurable status notification message text, Access control
per client/sender/recipient/etc, Content filter (built-in, external before
queue, external after queue), Berkeley DB database, LDAP database, MySQL
database, PostgreSQL database, Maildir and mailbox format, Virtual domains,
VERP envelope return addresses and others.
WWW: http://www.postfix.org/

15
mail/postfix35/pkg-help Normal file
View File

@ -0,0 +1,15 @@
Readme SASL:
Dovecot uses its own daemon process for authentication. Because there is no
need to link extra libraries into Postfix, Dovecot SASL will be build into
Postfix by default.
Cyrus SASL is optional and will be the default if build with SASL=on
To find out what SASL implementations are compiled into Postfix, use the
following commands:
% postconf -a (SASL support in the SMTP server)
% postconf -A (SASL support in the SMTP+LMTP client)
% postconf smtpd_sasl_type (show default SASL)

190
mail/postfix35/pkg-plist Normal file
View File

@ -0,0 +1,190 @@
bin/mailq
bin/newaliases
%%TEST%%bin/qmqp-sink
%%TEST%%bin/qmqp-source
bin/qshape
bin/rmail
%%TEST%%bin/smtp-sink
%%TEST%%bin/smtp-source
%%PFETC%%/LICENSE
%%PFETC%%/TLS_LICENSE
%%PFETC%%/bounce.cf.default
%%PFETC%%/main.cf.default
@sample %%PFETC%%/main.cf.sample
@sample %%PFETC%%/master.cf.sample
lib/postfix/libpostfix-dns.so
lib/postfix/libpostfix-global.so
lib/postfix/libpostfix-master.so
lib/postfix/libpostfix-tls.so
lib/postfix/libpostfix-util.so
%%CDB%%lib/postfix/postfix-cdb.so
%%LDAP%%lib/postfix/postfix-ldap.so
%%LMDB%%lib/postfix/postfix-lmdb.so
%%MYSQL%%lib/postfix/postfix-mysql.so
%%PCRE%%lib/postfix/postfix-pcre.so
%%PGSQL%%lib/postfix/postfix-pgsql.so
%%SQLITE%%lib/postfix/postfix-sqlite.so
libexec/postfix/anvil
libexec/postfix/bounce
libexec/postfix/cleanup
libexec/postfix/discard
libexec/postfix/dnsblog
libexec/postfix/dynamicmaps.cf
%%CDB%%libexec/postfix/dynamicmaps.cf.d/cdb.cf
%%LDAP%%libexec/postfix/dynamicmaps.cf.d/ldap.cf
%%LMDB%%libexec/postfix/dynamicmaps.cf.d/lmdb.cf
%%MYSQL%%libexec/postfix/dynamicmaps.cf.d/mysql.cf
%%PCRE%%libexec/postfix/dynamicmaps.cf.d/pcre.cf
%%PGSQL%%libexec/postfix/dynamicmaps.cf.d/pgsql.cf
%%SQLITE%%libexec/postfix/dynamicmaps.cf.d/sqlite.cf
libexec/postfix/error
libexec/postfix/flush
libexec/postfix/lmtp
libexec/postfix/local
libexec/postfix/main.cf.proto
libexec/postfix/makedefs.out
libexec/postfix/master
libexec/postfix/master.cf.proto
libexec/postfix/nqmgr
libexec/postfix/oqmgr
libexec/postfix/pickup
libexec/postfix/pipe
libexec/postfix/post-install
libexec/postfix/postfix-files
%%CDB%%libexec/postfix/postfix-files.d/cdb-files
%%LDAP%%libexec/postfix/postfix-files.d/ldap-files
%%LMDB%%libexec/postfix/postfix-files.d/lmdb-files
%%MYSQL%%libexec/postfix/postfix-files.d/mysql-files
%%PCRE%%libexec/postfix/postfix-files.d/pcre-files
%%PGSQL%%libexec/postfix/postfix-files.d/pgsql-files
%%SQLITE%%libexec/postfix/postfix-files.d/sqlite-files
libexec/postfix/postfix-script
libexec/postfix/postfix-tls-script
libexec/postfix/postfix-wrapper
libexec/postfix/postlogd
libexec/postfix/postmulti-script
libexec/postfix/postscreen
libexec/postfix/proxymap
libexec/postfix/qmgr
libexec/postfix/qmqpd
libexec/postfix/scache
libexec/postfix/showq
libexec/postfix/smtp
libexec/postfix/smtpd
libexec/postfix/spawn
libexec/postfix/tlsmgr
libexec/postfix/tlsproxy
libexec/postfix/trivial-rewrite
libexec/postfix/verify
libexec/postfix/virtual
%%BMAN%%man/man1/mailq.1.gz
%%BMAN%%man/man1/newaliases.1.gz
%%BMAN%%man/man1/postalias.1.gz
%%BMAN%%man/man1/postcat.1.gz
%%BMAN%%man/man1/postconf.1.gz
%%BMAN%%man/man1/postdrop.1.gz
%%BMAN%%man/man1/postfix-tls.1.gz
%%BMAN%%man/man1/postfix.1.gz
%%BMAN%%man/man1/postkick.1.gz
%%BMAN%%man/man1/postlock.1.gz
%%BMAN%%man/man1/postlog.1.gz
%%BMAN%%man/man1/postmap.1.gz
%%BMAN%%man/man1/postmulti.1.gz
%%BMAN%%man/man1/postqueue.1.gz
%%BMAN%%man/man1/postsuper.1.gz
%%BMAN%%man/man1/posttls-finger.1.gz
%%TEST%%%%BMAN%%man/man1/qmqp-sink.1.gz
%%TEST%%%%BMAN%%man/man1/qmqp-source.1.gz
%%BMAN%%man/man1/qshape.1.gz
%%BMAN%%man/man1/sendmail.1.gz
%%TEST%%%%BMAN%%man/man1/smtp-sink.1.gz
%%TEST%%%%BMAN%%man/man1/smtp-source.1.gz
%%BMAN%%man/man5/access.5.gz
%%BMAN%%man/man5/aliases.5.gz
%%BMAN%%man/man5/body_checks.5.gz
%%BMAN%%man/man5/bounce.5.gz
%%BMAN%%man/man5/canonical.5.gz
%%BMAN%%man/man5/cidr_table.5.gz
%%BMAN%%man/man5/generic.5.gz
%%BMAN%%man/man5/header_checks.5.gz
%%BMAN%%man/man5/ldap_table.5.gz
%%BMAN%%man/man5/lmdb_table.5.gz
%%BMAN%%man/man5/master.5.gz
%%BMAN%%man/man5/memcache_table.5.gz
%%BMAN%%man/man5/mysql_table.5.gz
%%BMAN%%man/man5/nisplus_table.5.gz
%%BMAN%%man/man5/pcre_table.5.gz
%%BMAN%%man/man5/pgsql_table.5.gz
%%BMAN%%man/man5/postconf.5.gz
%%BMAN%%man/man5/postfix-wrapper.5.gz
%%BMAN%%man/man5/regexp_table.5.gz
%%BMAN%%man/man5/relocated.5.gz
%%BMAN%%man/man5/socketmap_table.5.gz
%%BMAN%%man/man5/sqlite_table.5.gz
%%BMAN%%man/man5/tcp_table.5.gz
%%BMAN%%man/man5/transport.5.gz
%%BMAN%%man/man5/virtual.5.gz
%%BMAN%%man/man8/anvil.8.gz
%%BMAN%%man/man8/bounce.8.gz
%%BMAN%%man/man8/cleanup.8.gz
%%BMAN%%man/man8/defer.8.gz
%%BMAN%%man/man8/discard.8.gz
%%BMAN%%man/man8/dnsblog.8.gz
%%BMAN%%man/man8/error.8.gz
%%BMAN%%man/man8/flush.8.gz
%%BMAN%%man/man8/lmtp.8.gz
%%BMAN%%man/man8/local.8.gz
%%BMAN%%man/man8/master.8.gz
%%BMAN%%man/man8/oqmgr.8.gz
%%BMAN%%man/man8/pickup.8.gz
%%BMAN%%man/man8/pipe.8.gz
%%BMAN%%man/man8/postlogd.8.gz
%%BMAN%%man/man8/postscreen.8.gz
%%BMAN%%man/man8/proxymap.8.gz
%%BMAN%%man/man8/qmgr.8.gz
%%BMAN%%man/man8/qmqpd.8.gz
%%BMAN%%man/man8/scache.8.gz
%%BMAN%%man/man8/showq.8.gz
%%BMAN%%man/man8/smtp.8.gz
%%BMAN%%man/man8/smtpd.8.gz
%%BMAN%%man/man8/spawn.8.gz
%%BMAN%%man/man8/tlsmgr.8.gz
%%BMAN%%man/man8/tlsproxy.8.gz
%%BMAN%%man/man8/trace.8.gz
%%BMAN%%man/man8/trivial-rewrite.8.gz
%%BMAN%%man/man8/verify.8.gz
%%BMAN%%man/man8/virtual.8.gz
sbin/postalias
sbin/postcat
sbin/postconf
@(,maildrop,2755) sbin/postdrop
sbin/postfix
sbin/postkick
sbin/postlock
sbin/postlog
sbin/postmap
sbin/postmulti
@(,maildrop,2755) sbin/postqueue
sbin/postsuper
sbin/posttls-finger
sbin/sendmail
%%DATADIR%%/mailer.conf.postfix
@dir libexec/postfix/dynamicmaps.cf.d
@dir libexec/postfix/postfix-files.d
@dir %%PFETC%%
@dir(postfix,,700) /var/db/postfix
@dir(postfix,,700) /var/spool/postfix/active
@dir(postfix,,700) /var/spool/postfix/bounce
@dir(postfix,,700) /var/spool/postfix/corrupt
@dir(postfix,,700) /var/spool/postfix/defer
@dir(postfix,,700) /var/spool/postfix/deferred
@dir(postfix,,700) /var/spool/postfix/flush
@dir(postfix,,700) /var/spool/postfix/hold
@dir(postfix,,700) /var/spool/postfix/incoming
@dir(postfix,maildrop,730) /var/spool/postfix/maildrop
@dir(,postfix,755) /var/spool/postfix/pid
@dir(postfix,,700) /var/spool/postfix/private
@dir(postfix,maildrop,710) /var/spool/postfix/public
@dir(postfix,,700) /var/spool/postfix/saved
@dir(postfix,,700) /var/spool/postfix/trace
@dir(,,755) /var/spool/postfix