990c270907
and pigeonhole. Changes: * pop3_deleted_flag has been broken since v2.2.10. Using it would cause buffer overflows, which could be exploitable. However, this bug would have become visible quite soon after users had deleted some POP3 mails, because the pop3 processes would have started crashing all the time even in normal use. * "doveadm director flush" command has a changed meaning now: It safely moves users to their wanted backends, instead of simply forgetting the mapping entirely and leaving the existing connections untouched. Use -F parameter to get the original unsafe behavior. + Added imap-hibernate processes (see imap_hibernate_timeout setting). IDLEing IMAP connections can be hibernated, which saves memory. + Optimized tracking mailboxes' vsizes (= sum of all messages' sizes). If mailbox_list_index=yes, it's also stored in there. This makes it very efficient to look up vsizes for all mailboxes. + Added a quota "count" backend, which uses the mailbox vsizes to get the current quota usage. It requires using the new quota_vsizes=yes setting, which tracks the messages' "virtual sizes" rather than "physical sizes". Their distiction is minor and mostly irrelevant nowadays (if mail sizes should be counted with LF or CRLF newlines). + "doveadm director up/down" commands added. The monitoring script should be using these commands instead of changing the vhost count. This allows admin to manually disable a server by changing the vhost count to 0 without the monitoring script changing it back. + Added support for HAProxy protocol: http://wiki2.dovecot.org/HAProxy + Added push-notification plugin framework, which can be used to easily implement push notifications to various backends. Implemented "ox" backend for notifying Open-Xchange via HTTP/json. + imap_logout_format supports more variables now, e.g. number of deleted messages. + pop3: Added pop3_delete_type setting (related to pop3_deleted_flag). + plugin { fts_enforced=yes } setting now fails body searches unless it can be done via the full text search engine. + Added %{passdb:*} and %{userdb:*} variables to various places + auth: Added ":protected" suffix for passdb and userdb fields. If used, the field doesn't overwrite an existing field. + IMAP/POP3 proxy: If a backend server dies, avoid client reconnection spikes by slowly disconnecting clients over time. This is enabled by setting login_proxy_max_disconnect_delay=secs passdb extra field. + imap: Added new read-only METADATA entries: /private/specialuse, /shared/comment, /shared/admin + imap: If client disconnects in the middle of a command, log how long the command had been running. - mdbox: Rebuilding could have caused message's reference count to overflow the 16bit number in some situations, causing problems when trying to expunge the duplicates. - Various search fixes (fts, solr, tika, lib-charset, indexer) - Various virtual plugin fixes - Various fixes and optimizations to dsync, imapc and pop3-migration - imap: Various RFC compliancy and crash fixes to NOTIFY
163 lines
4.9 KiB
Makefile
163 lines
4.9 KiB
Makefile
# Created by: Nagy, Attila <bra@fsn.hu>
|
|
# $FreeBSD$
|
|
|
|
######################################################################
|
|
# Anytime PORTVERSION changes please bump PORTREVISION of #
|
|
# mail/dovecot2-pigeonhole and also mail/dovecot2-antispam-plugin. #
|
|
# Please see ports/135311 and ports/146029 for an explanation. #
|
|
# #
|
|
# Please be careful when updating this port as changes to this port #
|
|
# can break mail/dovecot2-pigeonhole. In order to ensure the least #
|
|
# amount of breakage possible please consult the maintainer of that #
|
|
# port before updating this one. #
|
|
######################################################################
|
|
|
|
PORTNAME= dovecot
|
|
PORTVERSION= 2.2.19
|
|
CATEGORIES= mail ipv6
|
|
MASTER_SITES= http://www.dovecot.org/releases/${PORTVERSION:R}/
|
|
PKGNAMESUFFIX= 2
|
|
|
|
MAINTAINER= adamw@FreeBSD.org
|
|
COMMENT= Secure, fast and powerful IMAP and POP3 server
|
|
|
|
LICENSE= LGPL21 MIT
|
|
LICENSE_COMB= dual
|
|
|
|
CONFLICTS= dovecot-1.[0-9]*
|
|
|
|
USES= cpe iconv libtool
|
|
USE_RC_SUBR= dovecot
|
|
USE_OPENSSL= yes
|
|
|
|
GNU_CONFIGURE= yes
|
|
CONFIGURE_ARGS= --localstatedir=/var \
|
|
--with-statedir=/var/db/dovecot \
|
|
--without-shadow \
|
|
--with-docs
|
|
|
|
USE_LDCONFIG= ${PREFIX}/lib/dovecot
|
|
INSTALL_TARGET= install-strip
|
|
|
|
USERS= dovecot dovenull
|
|
GROUPS= ${USERS}
|
|
|
|
OPTIONS_DEFINE= GC KQUEUE LIBWRAP LZ4 SSL VPOPMAIL DOCS EXAMPLES
|
|
OPTIONS_DEFAULT=KQUEUE SSL GSSAPI_NONE
|
|
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
|
|
|
|
GC_DESC= Garbage collection with boehm-gc
|
|
KQUEUE_DESC= kqueue(2) support
|
|
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= Libtextcat 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
|
|
|
|
CDB_CONFIGURE_WITH= cdb
|
|
CDB_LIB_DEPENDS= libcdb.so:${PORTSDIR}/databases/tinycdb
|
|
|
|
GC_CONFIGURE_WITH= gc
|
|
GC_LIB_DEPENDS= libgc.so:${PORTSDIR}/devel/boehm-gc
|
|
|
|
GSSAPI_NONE_CONFIGURE_ON= --without-gssapi
|
|
GSSAPI_BASE_USES= gssapi
|
|
GSSAPI_BASE_CONFIGURE_ON= --with-gssapi ${GSSAPI_CONFIGURE_ARGS}
|
|
GSSAPI_HEIMDAL_USES= gssapi:heimdal
|
|
GSSAPI_HEIMDAL_CONFIGURE_ON= --with-gssapi ${GSSAPI_CONFIGURE_ARGS}
|
|
GSSAPI_MIT_USES= gssapi:mit
|
|
GSSAPI_MIT_CONFIGURE_ON= --with-gssapi ${GSSAPI_CONFIGURE_ARGS}
|
|
|
|
ICU_CONFIGURE_WITH= icu
|
|
ICU_LIB_DEPENDS= libicui18n.so:${PORTSDIR}/devel/icu
|
|
ICU_USES= pkgconfig
|
|
|
|
KQUEUE_CONFIGURE_OFF= --with-ioloop=poll --with-notify=none
|
|
KQUEUE_CONFIGURE_ON= --with-ioloop=kqueue --with-notify=kqueue
|
|
|
|
LDAP_USE= OPENLDAP=yes
|
|
LDAP_CONFIGURE_WITH= ldap
|
|
|
|
LIBWRAP_CONFIGURE_WITH= libwrap
|
|
|
|
LUCENE_CONFIGURE_WITH= lucene
|
|
LUCENE_LIB_DEPENDS= libclucene-core.so:${PORTSDIR}/textproc/clucene
|
|
|
|
LZ4_LIB_DEPENDS= liblz4.so:${PORTSDIR}/archivers/liblz4
|
|
|
|
MYSQL_USE= MYSQL=yes
|
|
MYSQL_CONFIGURE_WITH= mysql
|
|
|
|
PGSQL_USES= pgsql
|
|
PGSQL_CONFIGURE_WITH= pgsql
|
|
|
|
SOLR_CONFIGURE_WITH= solr
|
|
SOLR_BUILD_DEPENDS= curl:${PORTSDIR}/ftp/curl
|
|
SOLR_LIB_DEPENDS= libexpat.so:${PORTSDIR}/textproc/expat2
|
|
|
|
SQLITE_USE= SQLITE=3
|
|
SQLITE_CONFIGURE_WITH= sqlite
|
|
|
|
SSL_CONFIGURE_WITH= ssl=openssl
|
|
|
|
TEXTCAT_CONFIGURE_WITH= textcat
|
|
TEXTCAT_LIB_DEPENDS= libtextcat.so:${PORTSDIR}/textproc/libtextcat
|
|
|
|
VPOPMAIL_BUILD_DEPENDS= ${LOCALBASE}/vpopmail/bin/vchkpw:${PORTSDIR}/mail/vpopmail
|
|
VPOPMAIL_CONFIGURE_WITH=vpopmail
|
|
|
|
DOCS= AUTHORS COPYING COPYING.LGPL COPYING.MIT 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
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
SUB_LIST+= REQUIRE="${_REQUIRE}"
|
|
SUB_FILES+= pkg-message
|
|
|
|
CPPFLAGS+= -I${LOCALBASE}/include -I${OPENSSLINC}
|
|
LDFLAGS+= -L${LOCALBASE}/lib -I${OPENSSLLIB}
|
|
|
|
post-patch:
|
|
@${REINPLACE_CMD} -e 's,/etc/dovecot,${PREFIX}/etc/dovecot,g; \
|
|
s,sysconfdir=/etc,sysconfdir=${PREFIX}/etc,g' \
|
|
${WRKSRC}/doc/example-config/*.conf ${WRKSRC}/doc/example-config/conf.d/*
|
|
@${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-install:
|
|
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${STAGEDIR}${DOCSDIR}
|
|
${MV} ${STAGEDIR}${DOCSDIR}/dovecot-openssl.cnf ${STAGEDIR}${EXAMPLESDIR}
|
|
${MV} ${STAGEDIR}${DOCSDIR}/mkcert.sh ${STAGEDIR}${EXAMPLESDIR}
|
|
(cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${STAGEDIR}${DOCSDIR})
|
|
|
|
.include <bsd.port.mk>
|