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:
parent
fbbe09a048
commit
efa868ac95
14
UPDATING
14
UPDATING
@ -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
|
||||
|
@ -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
378
mail/postfix35/Makefile
Normal 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
3
mail/postfix35/distinfo
Normal 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
|
69
mail/postfix35/files/extra-patch-blacklistd
Normal file
69
mail/postfix35/files/extra-patch-blacklistd
Normal 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;
|
||||
+ }
|
||||
+}
|
7
mail/postfix35/files/mailer.conf.postfix.in
Normal file
7
mail/postfix35/files/mailer.conf.postfix.in
Normal 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
|
45
mail/postfix35/files/patch-makedefs
Normal file
45
mail/postfix35/files/patch-makedefs
Normal 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
|
@ -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
|
||||
|
11
mail/postfix35/files/patch-src_tls_tls__certkey.c
Normal file
11
mail/postfix35/files/patch-src_tls_tls__certkey.c
Normal 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;
|
12
mail/postfix35/files/patch-src_tls_tls__server.c
Normal file
12
mail/postfix35/files/patch-src_tls_tls__server.c
Normal 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)
|
12
mail/postfix35/files/patch-src_util_sys__defs.h
Normal file
12
mail/postfix35/files/patch-src_util_sys__defs.h
Normal 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) \
|
189
mail/postfix35/files/pkg-install.in
Normal file
189
mail/postfix35/files/pkg-install.in
Normal 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}"
|
44
mail/postfix35/files/pkg-message.in
Normal file
44
mail/postfix35/files/pkg-message.in
Normal 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
|
||||
}
|
||||
]
|
50
mail/postfix35/files/postfix.in
Normal file
50
mail/postfix35/files/postfix.in
Normal 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
15
mail/postfix35/pkg-descr
Normal 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
15
mail/postfix35/pkg-help
Normal 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
190
mail/postfix35/pkg-plist
Normal 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
|
Loading…
Reference in New Issue
Block a user