49cae38051
- Elliptic curve negotiation with OpenSSL >= 1.0.2. This changes the default smtpd_tls_eecdh_grade setting to "auto", and introduces a new parameter tls_eecdh_auto_curves with the names of curves that may be negotiated. - Stored-procedure support for MySQL databases. - Cidr: table support for if/endif and negation (by prepending ! to a pattern), just like regexp: and pcre: tables. See the cidr_table(5) manpage for details. - The postmap command and the inline: and texthash: maps now support spaces in left-hand field of lookup table source text. Use double quotes (") around a left-hand field that contains spaces, and use backslash (\) to protect quotes in a left-hand field. - Support for per-client Milter configuration (smtpd_milter_maps) that overrides the main.cf smtpd_milters setting, and that has the same syntax. A lookup result of "DISABLE" turns off Milter support for that client. - The local SMTP server IP address and port are available in the policy delegation protocol (attribute names: server_address, server_port), in the Milter protocol (macro names: {daemon_addr}, {daemon_port}), and in the XCLIENT protocol (attribute names: DESTADDR, DESTPORT). - For safety reasons, the Postfix sendmail -C option must specify an authorized directory: the default configuration directory, a directory that is listed in the default main.cf file with alternate_config_directories or multi_instance_directories, otherwise the command must be invoked with root privileges. This mitigates a recurring "jail break" problem with the PHP mail() function. - "PASS" and "STRIP" actions in header/body_checks. "STRIP" is similar to "IGNORE" but also logs the action, and "PASS" disables header, body, and Milter inspection for the remainder of the message content. - The collate.pl script by Viktor Dukhovni for grouping Postfix logfile records into "sessions" based on queue ID and process ID information, in the auxiliary/collate directory of the Postfix source tree. Disabled or removed behavior: - SMTPUTF8 support: Postfix 3.2 disables the 'transitional' compatibility between the IDNA2003 and IDNA2008 standards for internationalized domain names (domain names beyond the limits of US-ASCII). This makes Postfix behavior consistent with contemporary web browsers. - Postfix 3.2 removes tentative features that were implemented before the DANE spec was finalized: support for certificate usage PKIX-EE(1), the ability to disable digest agility, and the ability to disable support for "TLSA 2 [01] [12]" records that specify the digest of a trust anchor.
79 lines
2.4 KiB
Makefile
79 lines
2.4 KiB
Makefile
# $NetBSD: Makefile,v 1.296 2017/04/24 20:11:40 fhajny Exp $
|
|
|
|
.include "../../mail/postfix/Makefile.common"
|
|
|
|
COMMENT= Postfix SMTP server and tools
|
|
|
|
CONFLICTS+= courier-mta-[0-9]* fastforward>=0.51nb2 sendmail-[0-9]*
|
|
CONFLICTS+= esmtp>=1.2 nullmailer-[0-9]*
|
|
|
|
USE_TOOLS+= perl
|
|
|
|
SPECIAL_PERMS+= sbin/postdrop ${POSTFIX_USER} ${MAILDROP_GROUP} 2555
|
|
SPECIAL_PERMS+= sbin/postqueue ${POSTFIX_USER} ${MAILDROP_GROUP} 2555
|
|
|
|
REPLACE_PERL+= auxiliary/qshape/qshape.pl
|
|
|
|
# options.mk appends to CCARGS and AUXLIBS the options needed to build
|
|
# Postfix with support for various add-on modules.
|
|
#
|
|
.include "options.mk"
|
|
|
|
FILES_SUBST+= EXAMPLEDIR=${EXAMPLEDIR}
|
|
MESSAGE_SUBST+= EXAMPLEDIR=${EXAMPLEDIR}
|
|
MESSAGE_SUBST+= DOCDIR=${DOCDIR}
|
|
|
|
MESSAGE_SRC+= ${PKGDIR}/MESSAGE
|
|
.if exists(${PKGDIR}/MESSAGE.${OPSYS})
|
|
MESSAGE_SRC+= ${PKGDIR}/MESSAGE.${OPSYS}
|
|
.endif
|
|
PLIST_SRC+= ${PKGDIR}/PLIST
|
|
|
|
RCD_SCRIPTS= postfix
|
|
OWN_DIRS+= ${POSTFIX_QUEUE_DIR} ${POSTFIX_QUEUE_DIR}/etc
|
|
OWN_DIRS_PERMS+= ${POSTFIX_DATA_DIR} ${POSTFIX_USER} ${POSTFIX_GROUP} 0700
|
|
MAKE_DIRS+= ${METADIR}/dynamicmaps.cf.d ${METADIR}/postfix-files.d
|
|
|
|
PKG_GROUPS?= ${POSTFIX_GROUP} ${MAILDROP_GROUP}
|
|
PKG_USERS?= ${POSTFIX_USER}:${POSTFIX_GROUP}
|
|
|
|
PKG_GECOS.${POSTFIX_USER}= Postfix User
|
|
PKG_HOME.${POSTFIX_USER}= ${POSTFIX_QUEUE_DIR}
|
|
|
|
CONF_FILES= # empty
|
|
.for i in main.cf master.cf
|
|
CONF_FILES+= ${EXAMPLEDIR}/${i} ${PKG_SYSCONFDIR}/${i}
|
|
.endfor
|
|
CONF_FILES_PERMS= # empty
|
|
|
|
SUBST_CLASSES+= paths
|
|
SUBST_FILES.paths= ${WRKDIR}/mailer.conf
|
|
SUBST_SED.paths+= -e 's,@PREFIX@,${PREFIX},g'
|
|
SUBST_STAGE.paths= post-patch
|
|
|
|
INSTALLATION_DIRS+= ${LIBEXECDIR} ${METADIR} ${SHLIBDIR} ${EXAMPLEDIR} ${DOCDIR}
|
|
|
|
post-extract:
|
|
cp ${FILESDIR}/mailer.conf ${WRKDIR}/mailer.conf
|
|
rm -f ${WRKSRC}/auxiliary/MacOSX/Postfix.StartupItem/Postfix
|
|
|
|
post-build:
|
|
.if !empty(PKG_OPTIONS:Msasl)
|
|
${ECHO} "pwcheck_method: ${PWCHECK_METHOD}" > ${WRKDIR}/smtpd.conf
|
|
.endif
|
|
|
|
do-install:
|
|
rm -f ${WRKSRC}/conf/*.orig
|
|
.if !empty(PKG_OPTIONS:Msasl)
|
|
${INSTALL_DATA} ${WRKDIR}/smtpd.conf ${DESTDIR}${EXAMPLEDIR}
|
|
.endif
|
|
cd ${WRKSRC} && ${SH} ./postfix-install -non-interactive \
|
|
${DESTDIR_INSTALLOPTIONS} config_directory="${EXAMPLEDIR}"
|
|
${INSTALL_DATA} ${WRKDIR}/mailer.conf \
|
|
${DESTDIR}${EXAMPLEDIR}/mailer.conf
|
|
${INSTALL_SCRIPT} ${WRKSRC}/auxiliary/qshape/qshape.pl \
|
|
${DESTDIR}${PREFIX}/sbin/qshape
|
|
${INSTALL_MAN} ${WRKSRC}/man/man1/qshape.1 \
|
|
${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|