pkgsrc/mail/postfix/Makefile
fhajny 49cae38051 Update mail/postfix to 3.2.0.
- 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.
2017-04-24 20:11:40 +00:00

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"