freebsd-ports/mail/dovecot/Makefile
Larry Rosenman 6acbbd56d3 mail/dovecot: Upgrade to 2.3.10.1, fixing multiple vulnerabilities.
- CVE-2020-10957: lmtp/submission: A client can crash the server by
  sending a NOOP command with an invalid string parameter. This occurs
  particularly for a parameter that doesn't start with a double quote.
  This applies to all SMTP services, including submission-login, which
  makes it possible to crash the submission service without
  authentication.
- CVE-2020-10958: lmtp/submission: Sending many invalid or unknown
  commands can cause the server to access freed memory, which can lead
  to a server crash. This happens when the server closes the connection
  with a "421 Too many invalid commands" error. The bad command limit
  depends on the service (lmtp or submission) and varies between 10 to
  20 bad commands.
- CVE-2020-10967: lmtp/submission: Issuing the RCPT command with an
  address that has the empty quoted string as local-part causes the
  lmtp service to crash.

Clean up some REINPLACE warnings whilst we're here.

MFH:		2020Q2
Security:	37d106a8-15a4-483e-8247-fcb68b16eaf8
Security:	CVE-2020-10957
Security:	CVE-2020-10958
Security:	CVE-2020-10967
2020-05-18 19:28:52 +00:00

156 lines
4.1 KiB
Makefile

# Created by: Nagy, Attila <bra@fsn.hu>
# $FreeBSD$
######################################################################
# Anytime PORTVERSION changes please bump PORTREVISION of: #
# - mail/dovecot-pigeonhole. See ports/146029 for an explanation. #
# - mail/dovecot-fts-xapian. #
######################################################################
PORTNAME= dovecot
PORTVERSION= 2.3.10.1
CATEGORIES= mail
MASTER_SITES= https://dovecot.org/releases/2.3/
MAINTAINER= ler@FreeBSD.org
COMMENT= Secure, fast and powerful IMAP and POP3 server
LICENSE= LGPL21 MIT
LICENSE_COMB= dual
USES= cpe iconv libtool pkgconfig ssl
USE_RC_SUBR= dovecot
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --localstatedir=/var \
--with-statedir=/var/db/dovecot \
--without-shadow \
--with-ssl=openssl \
--with-docs
USE_LDCONFIG= ${PREFIX}/lib/dovecot
INSTALL_TARGET= install-strip
USERS= dovecot dovenull
GROUPS= ${USERS}
OPTIONS_DEFINE= LIBSODIUM LIBWRAP LUA LZ4 VPOPMAIL DOCS EXAMPLES
OPTIONS_DEFAULT=GSSAPI_NONE LIBWRAP
OPTIONS_SUB= yes
OPTIONS_GROUP= DB FTS
OPTIONS_GROUP_DB= CDB LDAP MYSQL PGSQL SQLITE
OPTIONS_GROUP_FTS= ICU LUCENE SOLR TEXTCAT
OPTIONS_SINGLE= GSSAPI
OPTIONS_SINGLE_GSSAPI= GSSAPI_NONE GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT
LZ4_DESC= LZ4 compression support
VPOPMAIL_DESC= vpopmail support
DB_DESC= Database support
CDB_DESC= CDB database support
FTS_DESC= Full text search plugins
ICU_DESC= Use libicu for FTS unicode normalization
LUCENE_DESC= CLucene FTS support
SOLR_DESC= Solr FTS support
TEXTCAT_DESC= Libexttextcat FTS support
GSSAPI_NONE_DESC= Build without GSSAPI support
GSSAPI_BASE_DESC= Use GSSAPI from base
GSSAPI_HEIMDAL_DESC= Use Heimdal GSSAPI from security/heimdal
GSSAPI_MIT_DESC= Use MIT GSSAPI from security/krb5
# General options
LIBSODIUM_DESC= support libsodium based crypts (ARGON2I/ARGON2ID)
LIBSODIUM_LIB_DEPENDS= libsodium.so:security/libsodium
LIBSODIUM_CONFIGURE_WITH= sodium
LIBWRAP_CONFIGURE_WITH= libwrap
LUA_CONFIGURE_WITH= lua
LUA_USES= lua
LZ4_CONFIGURE_WITH= lz4
LZ4_LIB_DEPENDS= liblz4.so:archivers/liblz4
VPOPMAIL_BUILD_DEPENDS= vpopmail>=0:mail/vpopmail
VPOPMAIL_CONFIGURE_WITH=vpopmail
# Databases
CDB_CONFIGURE_WITH= cdb
CDB_LIB_DEPENDS= libcdb.so:databases/tinycdb
LDAP_USE= OPENLDAP=yes
LDAP_CONFIGURE_WITH= ldap
MYSQL_USES= mysql
MYSQL_CONFIGURE_WITH= mysql
PGSQL_USES= pgsql
PGSQL_CONFIGURE_WITH= pgsql
SQLITE_USES= sqlite
SQLITE_CONFIGURE_WITH= sqlite
# FTS
ICU_CONFIGURE_WITH= icu
ICU_LIB_DEPENDS= libicui18n.so:devel/icu
LUCENE_CONFIGURE_WITH= lucene stemmer
LUCENE_LIB_DEPENDS= libclucene-core.so:textproc/clucene
SOLR_CONFIGURE_WITH= solr
SOLR_LIB_DEPENDS= libcurl.so:ftp/curl \
libexpat.so:textproc/expat2
TEXTCAT_CONFIGURE_WITH= textcat
TEXTCAT_LIB_DEPENDS= libexttextcat-2.0.so:textproc/libexttextcat
# GSSAPI
GSSAPI_NONE_CONFIGURE_ON= --without-gssapi
GSSAPI_NONE_CONFIGURE_OFF= --with-gssapi ${GSSAPI_CONFIGURE_ARGS}
GSSAPI_BASE_USES= gssapi
GSSAPI_HEIMDAL_USES= gssapi:heimdal
GSSAPI_MIT_USES= gssapi:mit
DOCS= AUTHORS COPYING INSTALL NEWS TODO README
PORTDOCS= *
PORTEXAMPLES= *
# Default requirement for dovecot rc script
_REQUIRE= LOGIN
LDAP_VARS= _REQUIRE+=slapd
MYSQL_VARS= _REQUIRE+=mysql
PGSQL_VARS= _REQUIRE+=postgresql
SUB_LIST+= REQUIRE="${_REQUIRE}"
SUB_FILES+= pkg-message
CPPFLAGS+= -I${LOCALBASE}/include -I${OPENSSLINC}
LDFLAGS+= -L${LOCALBASE}/lib -L${OPENSSLLIB}
post-patch:
@${REINPLACE_CMD} -e '/^LIBS =/s/$$/ @LTLIBICONV@/' \
${WRKSRC}/src/lib-mail/Makefile.in
# Install the sample config files into ETCDIR/example-config/
@${REINPLACE_CMD} -e '/^exampledir =/s|\$$(docdir)|${ETCDIR}|' \
${WRKSRC}/doc/example-config/Makefile.in \
${WRKSRC}/doc/example-config/conf.d/Makefile.in
post-patch-LUA-on:
@${REINPLACE_CMD} -e '/^libdovecot_lua_la_DEPENDENCIES =/ s|LUA_LIBS|true|' \
${WRKSRC}/src/lib-lua/Makefile.in
post-install:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
${MV} ${STAGEDIR}${DOCSDIR}/dovecot-openssl.cnf ${STAGEDIR}${EXAMPLESDIR}
${MV} ${STAGEDIR}${DOCSDIR}/mkcert.sh ${STAGEDIR}${EXAMPLESDIR}
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
(cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${STAGEDIR}${DOCSDIR})
.include <bsd.port.mk>