2012-09-27 00:51:03 +02:00
|
|
|
# Created by: Nils Vogels <nivo+kw+ports.bfa274@is-root.com>
|
2010-11-27 07:01:33 +01:00
|
|
|
|
|
|
|
PORTNAME= dovecot-pigeonhole
|
mail/dovecot, mail/dovecot-pigeonhole: update to 2.3.18, 0.5.18 respectively
Dovecot ChangeLog:
* Removed mail_cache_lookup_finished event. This event wasn't especially
useful, but it increased CPU usage significantly.
* fts: Don't index inline base64 encoded content in FTS indexes using
the generic tokenizer. This reduces the FTS index sizes by removing
input that is very unlikely to be searched for. See
https://doc.dovecot.org/configuration_manual/fts/tokenization for
details on how base64 is detected. Only applies when using libfts.
* lmtp: Session IDs are now preserved through proxied connections, so
LMTP sessions can be tracked. This slightly changes the LMTP session
ID format by appending ":Tn" (transaction), ":Pn" (proxy connection)
and ":Rn" (recipient) counters after the session ID prefix.
+ Events now have "reason_code" field, which can provide a list of
reasons why the event is happening. See
https://doc.dovecot.org/admin_manual/event_reasons/
+ New events are added. See https://doc.dovecot.org/admin_manual/list_of_events/
+ fts: Added fts_header_excludes and fts_header_includes settings to
specify which headers to index. See
https://doc.dovecot.org/settings/plugin/fts-plugin#plugin-fts-setting-fts-header-excludes
for configuration details.
+ fts: Initialize the textcat language detection library only once per
process. This can reduce CPU usage if fts_languages setting has multiple
languages listed and service indexer-worker { service_count } isn't 1.
Only applies when using libfts.
+ lib-storage: Reduced CPU usage significantly for some operations that
accessed lots of emails (e.g. fetching all flags in a folder, SORT, ...)
+ lib: DOVECOT_PREREQ() - Add micro version which enables compiling
external plugins against different versions of Dovecot.
+ lmtp: Added new lmtp_verbose_replies setting that makes errors sent to
the LMTP client much more verbose with details about why exactly
backend proxy connections or commands are failing.
+ submission: Support implicit SASL EXTERNAL with
submission_client_workarounds=implicit-auth-external. This allows
automatically logging in when SSL client certificate is present.
- *-login: Statistics were disabled if stats process connection was lost.
- auth: Authentication master user login fails with SCRAM-* SASL mechanisms.
- auth: With auth_cache_verify_password_with_worker=yes, passdb extra
fields in the auth cache got lost.
- doveadm: Fixed crash if zlib_save_level setting was specified,
but zlib_save was unset. v2.3.15 regression.
- doveadm: Proxying can panic when flushing print output. v2.3.17
regression. Fixes:
Panic: file ioloop.c: line 865 (io_loop_destroy): assertion failed:
(ioloop == current_ioloop)
- doveadm: stats add --group-by parameter didn't work.
- fts: Using email-address fts tokenizer could result in excessive memory
usage with garbage email input. This could cause the indexer-worker
processes to fail due to reaching the VSZ memory size limit.
Only applies when using libfts.
- imap: A SEARCH command timing out while fts returns indexes may timeout
returning "NO [SERVERBUG]", while it should return "NO [INUSE]" instead.
- imap: LIST-EXTENDED doesn't return STATUS for all folders. Sending
LIST .. RETURN (SUBSCRIBED STATUS (...)) did not return STATUS for
folders that are not subscribed when they have a child folder that is
subscribed as mandated by IMAP RFCs.
- imapc: Mailbox vsize calculation crashed with
Panic: file index-mailbox-size.c: line 344 (index_mailbox_vsize_hdr_add_missing):
assertion failed: (mails_left > 0)
- indexer: If indexer-worker crashes, the request it was processing gets
stuck in the indexer process. This stops indexing for the folder until
indexer process is restarted. v2.3.14 regression.
- indexer: Process was slowly leaking memory for each indexing request.
- lib-event: Unnamed events were wrongly filtered out for event/metric
filters like "event=abc OR something_independent_of_event_name".
- lib-index: 64-bit big endian CPUs handle last_used field in
dovecot.index.cache wrong.
- lib-ssl-iostream: Fix buggy OpenSSL error handling without assert-crashing.
If there is no error available, log it as an error instead of crashing.
The previous fix for this in v2.3.11 was incomplete. Fixes
Panic: file istream-openssl.c: line 51 (i_stream_ssl_read_real):
assertion failed: (errno != 0)
- lmtp: Out-of-memory issues can happen when proxying large messages to
LMTP backend servers that accept the message data too slow.
- master: HAProxy header parsing has read buffer overflow if provided
header size is invalid. This happens only if inet_listener
{ haproxy=yes } is configured and only if the remote IP address is in
haproxy_trusted_networks.
- old_stats: Plugin kept increasing memory usage, which became
noticeable with long-running imap sessions.
- stats: Dynamically adding same metric multiple times causes multiple stats.
- submission-login: Authentication does not accept OAUTH2 token (or
other very long credentials) because it considers the line to be too long.
- submission-login: Process can crash if HELO is pipelined with an
invalid domain.
- submission-proxy: Don't use SASL-IR if it would make the AUTH command
line longer than 512 bytes.
- submission: Service would crash if relay server authentication failed.
- virtual: FTS search in a virtual folder could crash if there are
duplicate mailbox GUIDs. This mainly happened when user had both INBOX
and INBOX/INBOX folders and the namespace prefix was INBOX/. Fixes
Panic: file hash.c: line 252 (hash_table_insert_node):
assertion failed: (opcode == HASH_TABLE_OP_UPDATE)
- virtual: If mailbox opening fails, the backend mailbox is leaked and
process crashes when client disconnects. Fixes
Panic: file mail-user.c: line 232 (mail_user_deinit):
assertion failed: ((*user)->refcount == 1)
- virtual: Searching headers in virtual folders didn't always use
full-text search indexes, if fts_enforced=no or body.
Pigeonhole ChangeLog:
- duplicate: Users without a home directory can crash with Sieve when
using duplicate database. v2.3.17 regression.
- imapsieve: When mail was expunged when processing imapsieve events, a
crash could occur. Fixes Panic: file mail-index-map.c:
line 558 (mail_index_map_lookup_seq_range): assertion failed: (first_uid > 0)
- managesieve-login: Proxy didn't support forwarding the forward_* passdb fields.
- redirect: Sieve would crash if redirect after keep-equivalent action failed.
- sieve: Interpreter crashes when the Sieve index extension is used with
index zero.
- vnd.dovecot.filter: Envelope sender string may become corrupted when
Sieve scripts are using vnd.dovecot.filter. This could end up
corrupting mbox's From line and return wrong envelope sender string in
Bump mail/dovecot-fts-xapian portrevision.
2022-02-04 05:42:10 +01:00
|
|
|
PORTVERSION= 0.5.18
|
2010-11-27 07:01:33 +01:00
|
|
|
CATEGORIES= mail
|
2014-05-19 09:45:14 +02:00
|
|
|
MASTER_SITES= http://pigeonhole.dovecot.org/releases/${DOVECOTVERSION}/
|
2010-11-27 07:01:33 +01:00
|
|
|
DISTNAME= ${PORTNAME:C/-/-${DOVECOTVERSION}-/}-${PORTVERSION}
|
|
|
|
|
2017-01-11 01:28:13 +01:00
|
|
|
MAINTAINER= ler@FreeBSD.org
|
2012-12-02 13:11:34 +01:00
|
|
|
COMMENT= Sieve plugin for the Dovecot 'deliver' LDA and LMTP
|
2010-11-27 07:01:33 +01:00
|
|
|
|
2012-05-29 10:51:15 +02:00
|
|
|
LICENSE= LGPL21
|
|
|
|
|
mail/dovecot, mail/dovecot-pigeonhole: upgrade to 2.3.9, 0.5.9 respectively.
Bump PORTREVISION of mail/dovecot-fts-xapian for version change of dovecot.
Changelog:
Dovecot:
* Changed several event field names for consistency and to avoid
conflicts in parent-child event relationships:
* SMTP server command events: Renamed "name" to "cmd_name"
* Events inheriting from a mailbox: Renamed "name" to "mailbox"
* Server connection events have only "remote_ip", "remote_port",
"local_ip" and "local_port".
* Removed duplicate "client_ip", "ip" and "port".
* Mail storage events: Removed "service" field.
Use "service:<name>" category instead.
* HTTP client connection events: Renamed "host" to "dest_host" and
"port" to "dest_port"
* auth: Drop Postfix socketmap support. It hasn't been working
with recent Postfix versions for a while now.
* push-notification-lua: The "subject" field is now decoded to UTF8
instead of kept as MIME-encoded.
+ push-notification-lua: Added new "from_address", "from_display_name",
"to_address" and "to_display_name" fields. The display names are
decoded to UTF8.
+ Added various new fields to existing events.
See http://doc.dovecot.net/admin_manual/list_of_events.html
+ Add lmtp_add_received_header setting. It can be used to prevent LMTP
from adding "Received:" headers.
+ doveadm: Support SSL/STARTTLS for proxied doveadm connections based on
doveadm_ssl setting and proxy ssl/tls settings.
+ Log filters support now "service:<name>", which matches all events for
the given service. It can also be used as a category.
+ lib: Use libunwind to get abort backtraces with function names
where available.
+ lmtp: When the LMTP proxy changes the username (from passdb lookup)
add an appropriate ORCPT parameter.
- lmtp: Add lmtp_client_workarounds setting to implement workarounds for
clients that send MAIL and RCPT commands with additional spaces before
the path and for clients that omit <> brackets around the path.
See example-config/conf.d/20-lmtp.conf.
- lda/lmtp: Invalid MAIL FROM addresses were rejcted too aggressively.
Now mails from addresses with unicode characters are delivered, but
their Return-Path header will be <> instead of the given MAIL FROM
address.
- lmtp: The lmtp_hdr_delivery_address setting is ignored.
- imap: imap_command_finished event's "args" and "human_args" parameters
were always empty.
- mbox: Seeking in zlib and bzip2 compressed input streams didn't work
correctly.
- imap-hibernate: Process crashed when client got destroyed while it was
attempted to be unhibernated, and the unhibernation fails.
- *-login: Proxying may have crashed if SSL handshake to the backend
failed immediately. This was unlikely to happen in normal operation.
- *-login: If TLS handshake to upstream server failed during proxying,
login process could crash due to invalid memory access.
- *-login: v2.3 regression: Using SASL authentication without initial
response may have caused SSL connections to hang. This happened often
at least with PHP's IMAP library.
- *-login: When login processes are flooded with authentication attempts
it starts logging errors about "Authentication server sent unknown id".
This is still expected. However, it also caused the login process to
disconnect from auth server and potentially log some user's password
in the error message.
- dict-sql: SQL prepared statements were not shared between sessions.
This resulted in creating a lot of prepared statements, which was
especially inefficient when using Cassandra backend with a lot of
Cassandra nodes.
- auth: auth_request_finished event didn't have success=yes parameter
set for successful authentications.
- auth: userdb dict - Trying to list users crashed.
- submission: Service could be configured to allow anonymous
authentication mechanism and anonymous user access.
- LAYOUT=index: Corrupted dovecot.list.index caused folder creation to
panic.
- doveadm: HTTP server crashes if request target starts with double "/".
- dsync: Remote dsync started hanging if the initial doveadm
"dsync-server" command was sent in the same TCP packet as the
following dsync handshake. v2.3.8 regression.
- lib: Several "input streams" had a bug that in some rare situations
might cause it to access freed memory. This could lead to crashes or
corruption.
The only currently known effect of this is that using zlib plugin with
external mail attachments (mail_attachment_dir) could cause fetching
the mail to return a few bytes of garbage data at the beginning of the
header. Note that the mail wasn't saved corrupted, but fetching it
caused corrupted mail to be sent to the client.
- lib-storage: If a mail only has quoted content, use the quoted text
for generating message snippet (IMAP PREVIEW) instead of returning
empty snippet.
- lib-storage: When vsize header was rebuilt, newly calculated message
sizes were added to dovecot.index.cache instead of being directly
saved into vsize records in dovecot.index.
- lib: JSON generator was escaping UTF-8 characters unnecessarily.
Pigeonhole:
+ Added events for Sieve and ManageSieve, see
https://doc.dovecot.org/admin_manual/list_of_events/#pigeonhole
+ Pigeonhole: Implement the Sieve "special-use" extension described in
RFC 8579.
- duplicate: Test only compared the handles which would cause
different values to be cached as the same duplicate test. Fix to also
compare the actual hashes.
- imap_sieve_filter: IMAP FILTER Command had various bugs in error
handling. Errors may have been duplicated for each email, errors
may have been missing entirely, command tag and ERRORS/WARNINGS
parameters were swapped.
2019-12-04 18:59:41 +01:00
|
|
|
BUILD_DEPENDS= dovecot>=2.3.9:mail/dovecot
|
|
|
|
RUN_DEPENDS= dovecot>=2.3.9:mail/dovecot
|
2010-11-27 07:01:33 +01:00
|
|
|
|
2018-04-01 19:10:31 +02:00
|
|
|
DOVECOTVERSION= 2.3
|
2010-11-27 07:01:33 +01:00
|
|
|
|
|
|
|
GNU_CONFIGURE= yes
|
2013-07-16 19:51:12 +02:00
|
|
|
CONFIGURE_ARGS= --exec-prefix=${PREFIX} \
|
2010-11-27 07:01:33 +01:00
|
|
|
--docdir=${DOCSDIR} \
|
|
|
|
--with-dovecot="${LOCALBASE}/lib/dovecot"
|
|
|
|
LDFLAGS+= -L${LOCALBASE}/lib
|
2014-07-24 20:34:16 +02:00
|
|
|
INSTALL_TARGET= install-strip
|
2016-07-07 21:12:11 +02:00
|
|
|
USES= compiler:c11 libtool ssl
|
2010-11-27 07:01:33 +01:00
|
|
|
USE_LDCONFIG= ${PREFIX}/lib/dovecot
|
|
|
|
|
2016-07-01 04:46:19 +02:00
|
|
|
OPTIONS_DEFINE= DOCS LDAP MANAGESIEVE
|
2016-07-15 16:31:18 +02:00
|
|
|
OPTIONS_DEFAULT=MANAGESIEVE GSSAPI_NONE
|
|
|
|
|
|
|
|
OPTIONS_SINGLE= GSSAPI
|
|
|
|
OPTIONS_SINGLE_GSSAPI= GSSAPI_NONE GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT
|
2016-04-17 18:38:10 +02:00
|
|
|
OPTIONS_SUB= yes
|
|
|
|
|
2017-08-07 23:44:00 +02:00
|
|
|
GSSAPI_DESC= GSSAPI Support (*MUST MATCH* mail/dovecot)
|
2016-07-15 16:31:18 +02:00
|
|
|
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
|
|
|
|
|
|
|
|
GSSAPI_BASE_USES= gssapi
|
|
|
|
GSSAPI_HEIMDAL_USES= gssapi:heimdal
|
|
|
|
GSSAPI_MIT_USES= gssapi:mit
|
|
|
|
GSSAPI_NONE_CONFIGURE_OFF= ${GSSAPI_CONFIGURE_ARGS}
|
|
|
|
BUILD_FAIL_MESSAGE= Ensure that ${PORTNAME}'s GSSAPI backend is the same as dovecot2 (make config).
|
|
|
|
|
2016-04-17 18:38:10 +02:00
|
|
|
MANAGESIEVE_DESC= ManageSieve support
|
|
|
|
MANAGESIEVE_CONFIGURE_WITH= managesieve
|
|
|
|
|
2016-07-01 04:46:19 +02:00
|
|
|
LDAP_CONFIGURE_WITH= ldap
|
|
|
|
LDAP_CPPFLAGS= -I${LOCALBASE}/include
|
|
|
|
LDAP_LDFLAGS= -L${LOCALBASE}/lib
|
|
|
|
LDAP_USE= OPENLDAP=yes
|
|
|
|
|
2015-05-17 09:25:49 +02:00
|
|
|
PORTDOCS= sieve/extensions/* sieve/plugins/* sieve/locations/*
|
2010-11-27 07:01:33 +01:00
|
|
|
|
|
|
|
post-patch:
|
2012-05-29 10:51:15 +02:00
|
|
|
@${REINPLACE_CMD} -E '\
|
2013-07-16 19:51:12 +02:00
|
|
|
s!^(install-data-am:) install-sieve_docDATA!\1!; \
|
2012-05-29 10:51:15 +02:00
|
|
|
s!^(uninstall-am:) uninstall-sieve_docDATA!\1!;' \
|
|
|
|
${WRKSRC}/doc/Makefile.in
|
2010-11-27 07:01:33 +01:00
|
|
|
|
2013-10-02 01:24:09 +02:00
|
|
|
.include <bsd.port.mk>
|