notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
All times are UTC
non port: mail/dovecot2-pigeonhole/Makefile

Number of commits found: 86

Tuesday, 27 Jun 2017
00:01 ler search for other commits by this committer
mail/dovecot2-pigeonhole: upgrade to 0.4.19
* This release adjusts Pigeonhole to several changes in the Dovecot API,
  making it depend on Dovecot v2.2.31. Previous versions of Pigeonhole
  will produce compile warnings with the recent Dovecot releases (but
  still work ok).
- Fixed bug in handling of implicit keep in some cases. Implicit
  side-effects, such as assigned flags, were not always applied
  correctly. This is in essence a very old bug, but it was exposed by
  recent changes.
- include extension: Fixed segfault that (sometimes) occurred when the
  global script location was left unconfigured.
Original commitRevision:444436 
Monday, 26 Jun 2017
22:29 adamw search for other commits by this committer
Update dovecot2 to 2.2.31, and bump PORTREVISION on the modules.

* LMTP: Removed "(Dovecot)" from added Received headers. Some
  installations want to hide it, and there's not really any good reason
  for anyone to have it.

+ Add ssl_alt_cert and ssl_alt_key settings to add support for
  having both RSA and ECDSA certificates.
+ dsync/imapc, pop3-migration plugin: Strip trailing whitespace from
  headers when matching mails. This helps with migrations from Zimbra.
+ acl: Add acl_globals_only setting to disable looking up
  per-mailbox dovecot-acl files.
+ Parse invalid message addresses better. This mainly affects the
  generated IMAP ENVELOPE replies.
- v2.2.30 wasn't fixing corrupted dovecot.index.cache files properly.
  It could have deleted wrong mail's cache or assert-crashed.
- v2.2.30 mail-crypt-acl plugin was assert-crashing
- v2.2.30 welcome plugin wasn't working
- Various fixes to handling mailbox listing. Especially related to
  handling nonexistent autocreated/autosubscribed mailboxes and ACLs.
- Global ACL file was parsed as if it was local ACL file. This caused
  some of the ACL rule interactions to not work exactly as intended.
- auth: forward_* fields didn't work properly: Only the first forward
  field was working, and only if the first passdb lookup succeeded.
- Using mail_sort_max_read_count sometimes caused "Broken sort-*
  indexes, resetting" errors.
- Using mail_sort_max_read_count may have caused very high CPU usage.
- Message address parsing could have crashed on invalid input.
- imapc_features=fetch-headers wasn't always working correctly and
  caused the full header to be fetched.
- imapc: Various bugfixes related to connection failure handling.
- quota=imapc sent unnecessary FETCH RFC822.SIZE to server when
  expunging mails.
- quota=count: quota_warning = -storage=.. was never executed
- quota=count: Add support for "ns" parameter
- dsync: Fix incremental syncing for mails that don't have Date or
  Message-ID headers.
- imap: Fix hang when client sends pipelined SEARCH +
- oauth2: Token validation didn't accept empty server responses.
- imap: NOTIFY command has been almost completely broken since the
  beginning. I guess nobody has been trying to use it.
Original commitRevision:444419 
Tuesday, 6 Jun 2017
15:37 ler search for other commits by this committer
    - auth: Multiple failed authentications within short time caused
        - push-notification: OX driver crashed at deinit

Bump PORTREVISION for plugins.
Original commitRevision:442779 
Wednesday, 31 May 2017
14:16 adamw search for other commits by this committer
Update dovecot to, and bump PORTREVISION on plugins.

  Due to some release process changes I didn't notice that one
  important bugfix wasn't included in the v2.2.30 release branch
  before I made the release. So fixing it here with v2.2.30.1.
  Also included another less important fix.

    - quota_warning scripts weren't working in v2.2.30
    - vpopmail still wasn't compiling

  Also I guess should mention that in v2.2.30+ the "script"
  service's protocol changed to a new version. If anyone had
  written their own script services (not using the included
  "script" binary) they would need some changes. I haven't
  heard of anyone having done that though.
Original commitRevision:442182 
Tuesday, 30 May 2017
20:13 adamw search for other commits by this committer
Update dovecot to 2.2.30, and bump PORTREVISION in consumers.

* auth: Use timing safe comparisons for everything related to
  passwords. It's unlikely that these could have been used for
  practical attacks, especially because Dovecot delays and flushes all
  failed authentications in 2 second intervals. Also it could have
  worked only when passwords were stored in plaintext in the passdb.
* master process sends SIGQUIT to all running children at shutdown,
  which instructs them to close all the socket listeners immediately.
  This way restarting Dovecot should no longer fail due to some
  processes keeping the listeners open for a long time.

+ auth: Add passdb { mechanisms=none } to match separate passdb lookup
+ auth: Add passdb { username_filter } to use passdb only if user
  matches the filter. See
+ dsync: Add dsync_commit_msgs_interval setting. It attempts to commit
  the transaction after saving this many new messages. Because of the
  way dsync works, it may not always be possible if mails are copied
  or UIDs need to change.
+ imapc: Support imapc_features=search without ESEARCH extension.
+ imapc: Add imapc_features=fetch-bodystructure to pass through remote
+ imapc: Add quota=imapc backend to use GETQUOTA/GETQUOTAROOT on the
  remote server.
+ passdb imap: Add allow_invalid_cert and ssl_ca_file parameters.
+ If dovecot.index.cache corruption is detected, reset only the one
  corrupted mail instead of the whole file.
+ doveadm mailbox status: Add "firstsaved" field.
+ director_flush_socket: Add old host's up/down and vhost count as parameters
- More fixes to automatically fix corruption in dovecot.list.index
- dsync-server: Fix support for dsync_features=empty-header-workaround
- imapc: Various bugfixes, including infinite loops on some errors
- IMAP NOTIFY wasn't working for non-INBOX if IMAP client hadn't
  enabled modseq tracking via CONDSTORE/QRESYNC.
- fts-lucene: Fix it to work again with mbox format
- Some internal error messages may have contained garbage in v2.2.29
- mail-crypt: Re-encrypt when copying/moving mails and per-mailbox keys
  are used. Otherwise the copied mails can't be opened.
- vpopmail: Fix compiling
Original commitRevision:442118 
Friday, 28 Apr 2017
18:12 ler search for other commits by this committer
Upon continuing the deferred implicit keep, the implicit side-effects
(such as imap flags) were not applied.

Approved by: adamw (mentor, implicit)
Original commitRevision:439618 
Wednesday, 12 Apr 2017
01:23 ler search for other commits by this committer
Upgrade mail/dovecot2-pigeonhole to 0.4.18.

Changelog v0.4.18:

+ imapsieve plugin: Implemented the copy_source_after rule action. When
  this is enabled for a mailbox rule, the specified Sieve script is
  executed for the message in the source mailbox during a "COPY" event.
  This happens only after the Sieve script that is executed for the
  corresponding message in the destination mailbox finishes running
+ imapsieve plugin: Added non-standard Sieve environment items for the
  source and destination mailbox.
- multiscript: The execution of the discard script had an implicit
  "keep", rather than an implicit "discard".

Approved by:	adamw (mentor)
Differential Revision:
Original commitRevision:438323 
Tuesday, 11 Apr 2017
00:23 adamw search for other commits by this committer
Update dovecot to 2.2.29, and bump PORTREVISION for the plugins. Add a
warning to the pkg-message that security.bsd.see_other_uids/gids should
not be enabled if dovecot is storing mail for multiple users concurrently
(PR 218392, submitted by topical).

 * passdb/userdb dict: Don't double-expand %variables in keys. If dict
   was used as the authentication passdb, using specially crafted
   %variables in the username could be used to cause DoS (CVE-2017-2669)
 * When Dovecot encounters an internal error, it logs the real error and
   usually logs another line saying what function failed. Previously the
   second log line's error message was a rather uninformative "Internal
   error occurred. Refer to server log for more information." Now the
   real error message is duplicated in this second log line.
 * lmtp: If a delivery has multiple recipients, run autoexpunging only
   for the last recipient. This avoids a problem where a long
   autoexpunge run causes LMTP client to timeout between the DATA
   replies, resulting in duplicate mail deliveries.
 * config: Don't stop the process due to idling. Otherwise the
   configuration is reloaded when the process restarts.
 * mail_log plugin: Differentiate autoexpunges from regular expunges
 * imapc: Use LOGOUT to cleanly disconnect from server.
 * lib-http: Internal status codes (>9000) are no longer visible in logs
 * director: Log vhost count changes and HOST-UP/DOWN

 + quota: Add plugin { quota_max_mail_size } setting to limit the
   maximum individual mail size that can be saved.
 + imapc: Add imapc_features=delay-login. If set, connecting to the
   remote IMAP server isn't done until it's necessary.
 + imapc: Add imapc_connection_retry_count and
   imapc_connection_retry_interval settings.
 + imap, pop3, indexer-worker: Add (deinit) to process title before
   autoexpunging runs.
 + Added %{encrypt} and %{decrypt} variables
 + imap/pop3 proxy: Log proxy state in errors as human-readable string.
 + imap/pop3-login: All forward_* extra fields returned by passdb are
   sent to the next hop when proxying using ID/XCLIENT commands. On the
   receiving side these fields are imported and sent to auth process
   where they're accessible via %{passdb:forward_*}. This is done only
   if the sending IP address matches login_trusted_networks.
 + imap-login: If imap_id_retain=yes, send the IMAP ID string to
   auth process. %{client_id} expands to it in auth process. The ID
   string is also sent to the next hop when proxying.
 + passdb imap: Use ssl_client_ca_* settings for CA validation.
 - fts-tika: Fixed crash when parsing attachment without
   Content-Disposition header. Broken by 2.2.28. (fixed in FreeBSD ports)
 - trash plugin was broken in 2.2.28 (fixed in FreeBSD ports)
 - auth: When passdb/userdb lookups were done via auth-workers, too much
   data was added to auth cache. This could have resulted in wrong
   replies when using multiple passdbs/userdbs.
 - auth: passdb { skip & mechanisms } were ignored for the first passdb
 - oauth2: Various fixes, including fixes to crashes
 - dsync: Large Sieve scripts (or other large metadata) weren't always
 - Index rebuild (e.g. doveadm force-resync) set all mails as \Recent
 - imap-hibernate: %{userdb:*} wasn't expanded in mail_log_prefix
 - doveadm: Exit codes weren't preserved when proxying commands via
   doveadm-server. Almost all errors used exit code 75 (tempfail).
 - ACLs weren't applied to not-yet-existing autocreated mailboxes.
 - Fixed a potential crash when parsing a broken message header.
 - cassandra: Fallback consistency settings weren't working correctly.
 - doveadm director status <user>: "Initial config" was always empty
 - imapc: Various reconnection fixes.
Original commitRevision:438222 
Saturday, 1 Apr 2017
15:23 gerald search for other commits by this committer
Bump PORTREVISIONs for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.9.4 to GCC 5.4 (at least under some
circumstances such as versions of FreeBSD or platforms).

This includes ports
 - with USE_GCC=yes or USE_GCC=any,
 - with USES=fortran,
 - using using Mk/ which in turn has USES=fortran, and
 - with USES=compiler specifying openmp, nestedfct, c++11-lib, c++14-lang,
   c++11-lang, c++0x, c11, or gcc-c++11-lib.

PR:		216707
Original commitRevision:437439 
Monday, 27 Feb 2017
03:13 ler search for other commits by this committer
Upgrade mail/dovecot2-pigeonhole to 0.4.17
Changelog v0.4.17:

- LDA Sieve plugin: Fixed handling of an early explicit keep during
  multiscript execution. Action side-effects and the message snapshot
  would be lost at the final stage where the implicit keep is
  evaluated. This could result in the IMAP flags assigned to the
  message to be forgotten or that headers modified by the "editheader"
  extension would revert to their original state.
- file script storage: Amended the up-to-date time stamp comparison for
  on-disk binaries to include nanoseconds. This will fix problems
  occurring when both binary and script are saved within the same
  second. This fix is ineffective on older systems that have no support
  for nanoseconds in stat() timestamps, which should be pretty rare
- file script storage: Improve saving and listing permission error to
  include more details.
- imapsieve plugin: Make sure "INBOX" is upper case in static mailbox
  rules. Otherwise, the mailbox name would never match, since matching
  is performed case-sensitively and Dovecot only returns the
  upper-cased "INBOX".
- imapsieve plugin: Fixed assert failure occurring when used with
  virtual mailboxes.
- doveadm sieve plugin: Fixed crash when setting Sieve script via
  attribute's string value.

Approved by:	adamw
Reviewed by:
Original commitRevision:434913 
Friday, 24 Feb 2017
15:24 adamw search for other commits by this committer
Update dovecot2 to 2.2.28, and bump PORTREVISION on the plugins.

  * director: "doveadm director move" to same host now refreshes user's
    timeout. This allows keeping user constantly in the same backend by
    just periodically moving the user there.
  * When new mailbox is created, use initially INBOX's
    dovecot.index.cache caching decisions.
  * Expunging mails writes GUID to dovecot.index.log now only if the
    GUID is quickly available from index/cache.
  * pop3c: Increase timeout for PASS command to 5 minutes.
  * Mail access errors are no longer ignored when searching or sorting.
    With IMAP the untagged SEARCH/SORT reply is still sent the same as
    before, but NO reply is returned instead of OK.

  + Make dovecot.list.index's filename configurable. This is needed when
    there are multiple namespaces pointing to the same mail root
    (e.g. lazy_expunge namespace for mdbox).
  + Add size.virtual to dovecot.index when folder vsizes are accessed
    (e.g. quota=count). This is mainly a workaround to avoid slow quota
    recalculation performance when message sizes get lost from
    dovecot.index.cache due to corruption or some other reason.
  + auth: Support OAUTHBEARER and XOAUTH2 mechanisms. Also support them
    in lib-dsasl for client side.
  + auth: Support filtering by SASL mechanism: passdb { mechanisms }
  + Shrink the mail processes' memory usage by not storing settings
    duplicated unnecessarily many times.
  + imap: Add imap_fetch_failure setting to control what happens when
    FETCH fails for some mails (see example-config).
  + imap: Include info about last command in disconnection log line.
  + imap: Created new SEARCH=X-MIMEPART extension. It's currently not
    advertised by default, since it's not fully implemented.
  + fts-solr: Add support for basic authentication.
  + Cassandra: Support automatically retrying failed queries if
    execution_retry_interval and execution_retry_times are set.
  + doveadm: Added "mailbox path" command.
  + mail_log plugin: If plugin { mail_log_cached_only=yes }, log the
    wanted fields only if it doesn't require opening the email.
  + mail_vsize_bg_after_count setting added (see example-config).
  + mail_sort_max_read_count setting added (see example-config).
  + pop3c: Added pop3c_features=no-pipelining setting to prevent using
    PIPELINING extension even though it's advertised.

  - Index files: day_first_uid wasn't updated correctly since v2.2.26.
    This caused dovecot.index.cache to be non-optimal.
  - imap: SEARCH/SORT may have assert-crashed in
  - imap: FETCH X-MAILBOX may have assert-crashed in virtual mailboxes.
  - imap: Running time in tagged command reply was often wrongly 0.
  - search: Using NOT n:* or NOT UID n:* wasn't handled correctly
  - director: doveadm director kick was broken
  - director: Fix crash when using director_flush_socket
  - director: Fix some bugs when moving users between backends
  - imapc: Various error handling fixes and improvements
  - master: doveadm process status output had a lot of duplicates.
  - autoexpunge: If mailbox's rename timestamp is newer than mail's
    save-timestamp, use it instead. This is useful when autoexpunging
    e.g. Trash/* and an entire mailbox is deleted by renaming it under
    Trash to prevent it from being autoexpunged too early.
  - autoexpunge: Multiple processes may have been trying to expunge the
    same mails simultaneously. This was problematic especially with
    lazy_expunge plugin.
  - auth: %{passdb:*} was empty in auth-worker processes
  - auth-policy: hashed_password was always sent empty.
  - dict-sql: Merge multiple UPDATEs to a single statement if possible.
  - fts-solr: Escape {} chars when sending queries
  - fts: fts_autoindex_exclude = \Special-use caused crashes
  - doveadm-server: Fix leaks and other problems when process is reused
    for multiple requests (service_count != 1)
  - sdbox: Fix assert-crash on mailbox create race
  - lda/lmtp: deliver_log_format values weren't entirely correct if Sieve
    was used. especially %{storage_id} was broken.
  - lmtp_user_concurrency_limit didn't work if userdb changed username
Original commitRevision:434722 
Saturday, 14 Jan 2017
18:28 ler search for other commits by this committer
mail/dovecot2-pigeonhole: lib-sieve: Fixed handling of an early explicit keep
during multiscript execution.

Applies to LDA/LMTP context in general, not only when sieve_before/sieve_after
are used.
Action side-effects and the message snapshot would be lost at the final stage
where the implicit
keep is evaluated.
This happened because the keep action itself is not actually executed, but
rather its presence
is noted to determine whether more scripts need to be executed.
So, when finally execution of the actual keep action is due, i.e. when there are
no more scripts in the
sequence, it overrides the explicit keep from the last script.
This didn't take the side-effects and message snapshot into account.

Approved by:	adamw (Mentor)
Differential Revision:
Original commitRevision:431488 
Wednesday, 11 Jan 2017
00:28 ler search for other commits by this committer
Update MAINTAINER on my ports (and created by line) to my email

Approved by:	adamw (mentor)
Differential Revision:
Original commitRevision:431147 
Saturday, 3 Dec 2016
18:31 adamw search for other commits by this committer
Update dovecot2 to 2.2.27, and bump PORTREVISION on pigeonhole and
antispam-plugin. Also, while here, switch the MASTER_SITE to https,
because https.

The big thing in this release is the ability to read and write
encrypted messages. I'm very interested in hearing FreeBSD users'
experiences with it.

Really, Larry Rosenman did almost all the actual work here.

 * dovecot.list.index.log rotation sizes/times were changed so that
   the .log file stays smaller and .log.2 is deleted sooner.

 + Added mail_crypt plugin that allows encryption of stored emails.
 + stats: Global stats can be sent to Carbon server by setting
 + imap/pop3 proxy: If passdb returns proxy_not_trusted, don't send
 + Added generic hash modifier for %variables:
   %{<hash algorithm>;rounds=<n>,truncate=<bits>,salt=s>:field}
   Hash algorithm is any of the supported ones, e.g. md5, sha1, sha256.
   Also "pkcs5" is supported using SHA256. For example: %{sha256:user}
   or %{md5;truncate=32:user}.
 + Added support for SHA3-256 and SHA3-512 hashes.
 + config: Support DNS wildcards in local_name, e.g.
   local_name * { .. } matches, but
 + config: Support multiple names in local_name, e.g.
   local_name "" { .. }
 - Fixed crash in auth process when auth-policy was configured and
   authentication was aborted/failed without a username set.
 - director: If two users had different tags but the same hash,
   the users may have been redirected to the wrong tag's hosts.
 - Index files may have been thought incorrectly lost, causing
   "Missing middle file seq=.." to be logged and index rebuild.
   This happened more easily with IMAP hibernation enabled.
 - Various fixes to restoring state correctly in un-hibernation.
 - dovecot.index files were commonly 4 bytes per email too large. This
   is because 3 bytes per email were being wasted that could have been
   used for IMAP keywords.
 - Various fixes to handle dovecot.list.index corruption better.
 - lib-fts: Fixed assert-crash in address tokenizer with specific input.
 - Fixed assert-crash in HTML to text parsing with specific input
   (e.g. for FTS indexing or snippet generation)
 - doveadm sync -1: Fixed handling mailbox GUID conflicts.
 - sdbox, mdbox: Perform full index rebuild if corruption is detected
   inside lib-index, which runs index fsck.
 - quota: Don't skip quota checks when moving mails between different
   quota roots.
 - search: Multiple sequence sets or UID sets in search parameters
   weren't handled correctly. They were incorrectly merged together
Original commitRevision:427636 
Sunday, 20 Nov 2016
09:38 gerald search for other commits by this committer
Bump PORTREVISIONS for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.8.5 to GCC 4.9.4 (at least under some
circumstances such as versions of FreeBSD or platforms).

In particular that is ports with USE_GCC=yes, USE_GCC=any, or one of
gcc-c++11-lib, openmp, nestedfct, c++11-lib as well as c++14-lang,
c++11-lang, c++0x, c11 requested via USES=compiler.
Original commitRevision:426566 
Tuesday, 8 Nov 2016
02:53 adamw search for other commits by this committer
pick up github commit:

imapsieve plugin: Fixed assert failure occurring when used with virtual

In that case a transaction (delayed sync) is perfromed outside of the
context of an IMAP command.

PR:		214302
Submitted by:	maintainer (Larry Rosenman)
Original commitRevision:425665 
Tuesday, 1 Nov 2016
15:54 adamw search for other commits by this committer
Pigeonhole 0.4.16 cannot work with dovecot2 releases older than
2.2.26. Up the registered dependency to force dovecot2 at least (the latest version).

See also:

PR:		213978
Submitted by:	maintainer (Larry Rosenman)
Original commitRevision:425056 
Sunday, 30 Oct 2016
23:04 adamw search for other commits by this committer
Update to 0.4.16.

* Part of the Sieve extprograms implementation was moved to Dovecot,
  which means that this release depends on Dovecot v2.2.26+.
* ManageSieve: The PUTSCRIPT command now allows uploading empty Sieve
  scripts. There was really no good reason to disallow doing that.
+ Sieve extension:
  + Added a Dovecot-Reporting-User field to the report body, which
    contains the e-mail address of the user sending the report.
  + Added support for configuring the "From:" address used in the
+ LDA sieve plugin: Implemented support for a "discard script" that is
  run when the message is going to be discarded. This allows doing
  something other than throwing the message away for good.
+ Sieve vnd.dovecot.environment extension: Added vnd.dovecot.config.*
  environment items. These environment items map to sieve_env_*
  settings from the plugin {} section in the configuration. Such values
  can of course also  be returned from userdb.
+ Sieve vacation extension: Use the Microsoft X-Auto-Response-Suppress
  header to prevent unwanted responses from and to (older) Microsoft
+ ManageSieve: Added rawlog_dir setting to store ManageSieve traffic
  logs. This replaces at least partially the rawlog plugin (mimics
  similar IMAP/POP3 change).
- doveadm sieve plugin: synchronization: Prevent setting file
  timestamps to unix epoch time. This occurred when Dovecot passed the
  timestamp as 'unknown' during synchronization.
- Sieve exprograms plugin: Fixed spurious '+' sometimes returned at the
  end of socket-based program output.
- imapsieve plugin: Fixed crash occurring in specific situations.

PR:		213926
Submitted by:	maintainer (Larry Rosenman)
Original commitRevision:424965 
Thursday, 27 Oct 2016
23:15 adamw search for other commits by this committer
Update dovecot2 to 2.2.26, and bump PORTREVISION on pigeonhole and

Changes for 2.2.26:
Mainly there are quite a lot of director fixes and improvements.

Here's the full list of changes:

 * master: Removed hardcoded 511 backlog limit for listen(). The kernel
   should limit this as needed.
 * doveadm import: Source user is now initialized the same as target
   user. Added -U parameter to override the source user.
 * Mailbox names are no longer limited to 16 hierarchy levels. We'll
   check another way to make sure mailbox names can't grow larger than
   4096 bytes.

 + Added a concept of "alternative usernames" by returning user_* extra
   field(s) in passdb. doveadm proxy list shows these alt usernames in
   "doveadm proxy list" output. "doveadm director&proxy kick" adds
   -f <passdb field> parameter. The alt usernames don't have to be
   unique, so this allows creation of user groups and kicking them in
   one command.
 + auth: passdb/userdb dict allows now %variables in key settings.
 + auth: If passdb returns noauthenticate=yes extra field, assume that
   it only set extra fields and authentication wasn't actually performed.
 + auth: passdb static now supports password={scheme} prefix.
 + auth, login_log_format_elements: Added %{local_name} variable, which
   expands to TLS SNI hostname if given.
 + imapc: Added imapc_max_line_length to limit maximum memory usage.
 + imap, pop3: Added rawlog_dir setting to store IMAP/POP3 traffic logs.
   This replaces at least partially the rawlog plugin.
 + dsync: Added dsync_features=empty-header-workaround setting. This
   makes incremental dsyncs work better for servers that randomly return
   empty headers for mails. When an empty header is seen for an existing
   mail, dsync assumes that it matches the local mail.
 + doveadm sync/backup: Added -I <max size> parameter to skip too
   large mails.
 + doveadm sync/backup: Fixed -t parameter and added -e for "end date".
 + doveadm mailbox metadata: Added -s parameter to allow accessing
   server metadata by using empty mailbox name.
 + Added "doveadm service status" and "doveadm process status" commands.
 + director: Added director_flush_socket. See
 + doveadm director flush: Users are now moved only max 100 at a time to
   avoid load spikes. --max-parallel parameter overrides this.
 + Added FILE_LOCK_SLOW_WARNING_MSECS environment, which logs a warning
   if any lock is waited on or kept for this many milliseconds.

 - master process's listener socket was leaked to all child processes.
   This might have allowed untrusted processes to capture and prevent
   "doveadm service stop" comands from working.
 - login proxy: Fixed crash when outgoing SSL connections were hanging.
 - auth: userdb fields weren't passed to auth-workers, so %{userdb:*}
   from previous userdbs didn't work there.
 - auth: Each userdb lookup from cache reset its TTL.
 - auth: Fixed auth_bind=yes + sasl_bind=yes to work together
 - auth: Blocking userdb lookups reset extra fields set by previous
 - auth: Cache keys didn't include %{passdb:*} and %{userdb:*}
 - auth-policy: Fixed crash due to using already-freed memory if policy
   lookup takes longer than auth request exists.
 - lib-auth: Unescape passdb/userdb extra fields. Mainly affected
   returning extra fields with LFs or TABs.
 - lmtp_user_concurrency_limit>0 setting was logging unnecessary
   anvil errors.
 - lmtp_user_concurrency_limit is now checked before quota check with
   lmtp_rcpt_check_quota=yes to avoid unnecessary quota work.
 - lmtp: %{userdb:*} variables didn't work in mail_log_prefix
 - autoexpunge settings for mailboxes with wildcards didn't work when
   namespace prefix was non-empty.
 - Fixed writing >2GB to iostream-temp files (used by fs-compress,
   fs-metawrap, doveadm-http)
 - director: Ignore duplicates in director_servers setting.
 - director: Many fixes related to connection handshaking, user moving
   and error handling.
 - director: Don't break with shutdown_clients=no
 - zlib, IMAP BINARY: Fixed internal caching when accessing multiple
   newly created mails. They all had UID=0 and the next mail could have
   wrongly used the previously cached mail.
 - doveadm stats reset wasn't reseting all the stats.
 - auth_stats=yes: Don't update num_logins, since it doubles them when
   using with mail stats.
 - quota count: Fixed deadlocks when updating vsize header.
 - dict-quota: Fixed crashes happening due to memory corruption.
 - dict proxy: Fixed various timeout-related bugs.
 - doveadm proxying: Fixed -A and -u wildcard handling.
 - doveadm proxying: Fixed hangs and bugs related to printing.
 - imap: Fixed wrongly triggering assert-crash in
 - imap proxy: Don't send ID command pipelined with nopipelining=yes
 - imap-hibernate: Don't execute quota_over_script or last_login after
 - imap-hibernate: Don't un-hibernate if client sends DONE+IDLE in one
   IP packet.
 - imap-hibernate: Fixed various failures when un-hibernating.
 - fts: fts_autoindex=yes was broken in 2.2.25 unless
   fts_autoindex_exclude settings existed.
 - fts-solr: Fixed searching multiple mailboxes (patch by x16a0)
 - doveadm fetch body.snippet wasn't working in 2.2.25. Also fixed a
   crash with certain emails.
 - pop3-migration + dbox: Various fixes related to POP3 UIDL
   optimization in 2.2.25.
 - pop3-migration: Fixed "truncated email header" workaround.
Original commitRevision:424796 
Saturday, 24 Sep 2016
11:06 tijl search for other commits by this committer
- Update devel/icu to 57.1.
- Clean up the Makefile.
- Follow some upstream recommendations (--with-data-packaging=archive,
  --disable-renaming, -DICU_NO_USER_DATA_OVERRIDE).
- Patch makefiles to install static libraries with INSTALL_DATA so they
  aren't stripped.
- Patch config/mh-bsd-gcc to sync with config/mh-linux-gcc.
- Fix endianness detection in ICU.  The code wanted to use BYTE_ORDER
  defined in machine/endian.h, but this isn't visible because ICU is
  compiled with _XOPEN_SOURCE.  Patch the code to use _BYTE_ORDER instead.
- Compile ICU with C++11 compiler to enable move constructors.
- Patch ICU to fix a problem with atomics in the case of a C++11 compiler
  without C++11 header <atomic> (like Clang on FreeBSD 9).
- Bump all ports that depend on it due to library version change.
- Add USES=compiler:c++0x to some ports that pick up -std=c++0x from ICU
  pkgconfig files.
- Add USES=compiler:c++11-lib to graphics/libcdr01 because it also needs
  a C++11 runtime library now.  Add this to all ports that depend on it
  so their executables load the right on FreeBSD 9.

PR:		205120
Exp-run by:	antoine
Approved by:	portmgr (antoine)
Original commitRevision:422711 
Sunday, 18 Sep 2016
16:46 ohauer search for other commits by this committer

PR:		212788
Original commitRevision:422399 
Friday, 15 Jul 2016
14:31 adamw search for other commits by this committer
If base was built WITHOUT_KERBEROS and dovecot2 was built with kerberos
from ports, pigeonhole's build will fail because it can't find

To fix this, introduce the usual GSSAPI option block. Also, add a
BUILD_FAIL_MESSAGE asking you to make sure that the GSSAPI option here
matches the GSSAPI option from dovecot2.

PR:		211025
Submitted by:	dewayne heuristicsystems com au
Patch by:	maintainer (Larry Rosenman)
Original commitRevision:418580 
Thursday, 7 Jul 2016
22:50 adamw search for other commits by this committer
Update to 0.4.15.

* vacation extension: The sieve_user_email setting is now used in the
  check for implicit delivery.
- imapsieve plugin: For any mail transaction, the mailbox was opened a
  second time, even if no mailbox rule matched. This was unintentional,
  useless and caused problems when the imapsieve plugin was used with
  other plugins like acl.
- extprograms plugin: Significantly improved error handling. No stream
  errors were logged.
- extprograms plugin: Fixed bug in handling of result code from remote
  program (script service).
- extprograms plugin: Connection to remote program service was not
- Several small fixes based on static analysis.
- Fixed handling of quoted string localparts in email addresses.

PR:		210905
Submitted by:	maintainer (Larry Rosenman)
Original commitRevision:418203 
19:12 adamw search for other commits by this committer
Add USES=compiler:c11 to fix build on 9.x.

While altering USES, switch from USE_OPENSSL to USES=ssl.

Approved by:	maintainer (Larry Rosenman)
Original commitRevision:418194 
Tuesday, 5 Jul 2016
17:06 adamw search for other commits by this committer
Update dovecot2 to 2.2.25 again, this time with a patch from upstream to
fix the kqueue crash. Bump PORTREVISION on pigeonhole and antispam-plugin

Extra thanks to Larry Rosenman for being on top of the fix.

Original commitRevision:418095 
Friday, 1 Jul 2016
15:55 adamw search for other commits by this committer
Update dovecot2 to 2.2.25, and bump PORTREVISION on pigeonhole and

  * lmtp: Start tracking lmtp_user_concurrency_limit and reject already
    at RCPT TO stage. This avoids MTA unnecessarily completing DATA only
    to get an error.
  * doveadm: Previously only mail settings were read from protocol
    doveadm { .. } section. Now all settings are.

  + quota: Added quota_over_flag_lazy_check setting. It avoids checking
    quota_over_flag always at startup. Instead it's checked only when
    quota is being read for some other purpose.
  + auth: Added a new auth policy service:
  + auth: Added PBKDF2 password scheme
  + auth: Added %{auth_user}, %{auth_username} and %{auth_domain}
  + auth: Added ":remove" suffix to extra field names to remove them.
  + auth: Added "delay_until=<timestamp>[+<max random secs>]" passdb
    extra field. The auth will wait until <timestamp> and optionally some
    randomness and then return success.
  + dict proxy: Added idle_msecs=<n> parameter. Support async operations.
  + Performance improvements for handling large mailboxes.
  + Added lib-dcrypt API for providing cryptographic functions.
  + Added "doveadm mailbox update" command
  + imap commands' output now includes timing spent on the "syncing"
    stage if it's larger than 0.
  + cassandra: Added metrics=<path> to connect setting to output internal
    statistics in JSON format every second to <path>.
  + doveadm mailbox delete: Added -e parameter to delete only empty
    mailboxes. Added --unsafe option to quickly delete a mailbox,
    bypassing lazy_expunge and quota plugins.
  + doveadm user & auth cache flush are now available via doveadm-server.
  + doveadm service stop <services> will stop specified services while
    leaving the rest of Dovecot running.
  + quota optimization: Avoid reading mail sizes for backends which
    don't need them (count, fs, dirsize)
  + Added mailbox { autoexpunge_max_mails=<n> } setting.
  + Added welcome plugin:
  + fts: Added fts_autoindex_exclude setting.
  - v2.2.24's MIME parser was assert-crashing on mails having truncated
    MIME headers.
  - auth: With multiple userdbs the final success/failure result wasn't
    always correct. The last userdb's result was always used.
  - doveadm backup was sometimes deleting entire mailboxes unnecessarily.
  - doveadm: Command -parameters weren't being sent to doveadm-server.
  - If dovecot.index read failed e.g. because mmap() reached VSZ limit,
    an empty index could have been opened instead, corrupting the
    mailbox state.
  - imapc: Fixed EXPUNGE handling when imapc_features didn't have modseq.
  - lazy-expunge: Fixed a crash when copying failed. Various other fixes.
  - fts-lucene: Fixed crash on index rescan.
  - auth_stats=yes produced broken output
  - dict-ldap: Various fixes
  - dict-sql: NULL values crashed. Now they're treated as "not found".
Original commitRevision:417891 
02:46 adamw search for other commits by this committer
Add an LDAP option.

PR:		210733
Submitted by:	jhujhiti at adjectivism dot org
Approved by:	maintainer (Larry Rosenman)
Original commitRevision:417860 
Wednesday, 27 Apr 2016
15:42 adamw search for other commits by this committer
Update to 0.4.14.

The most important feature that this new release adds is the IMAPSIEVE
capability, which allows executing Sieve scripts at IMAP events. It also
adds the ability to obtain trace logs from Sieve execution at actual
delivery (or from IMAP), rather than only using the sieve-test command
line tool.

This release also fixes a bug in the Sieve extprograms plugin that has
been bothering a few people for a while now.

Changelog v0.4.14:

* The address test now allows specifying the X-Original-To header.
+ Implemented the Sieve imapsieve extension and its IMAP counterpart
  (RFC 6785) as a set of plugins. This allows running Sieve scripts at
  IMAP activity, rather than at delivery. There are also facilities for
  the familiar sieve_before/sieve_after administrator scripts. A user
  script is defined for a mailbox using an IMAP METADATA entry, whereas
  administrator scripts are configured using mailbox matching rules
  defined in the plugin settings.
+ Adjusted the Sieve ihave extension to allow capability tests to be
  performed at runtime. This way, scripts can be written that work both
  at delivery and from IMAP.
+ Implemented support for runtime trace debugging. This means that
  detailed information about which commands, actions and tests are
  performed is written to a file. That file is created in the
  configured directory, but only if that directory exists. This way, a
  particular user can be easily singled out for debugging. This works
  much like the Dovecot rawlog facility. The trace output is identical
  to what is produced using sieve-test with its "-t" command line
+ Added a "sieve_user_email" setting that configures the user's primary
  email address. This is mainly useful to have a user email address
  available in IMAP, where envelope data is unavailable.
+ Implemented the dovecot-specific "" extension. This
  allows sending report messages in the Message Abuse Reporting Format
  (RFC 5965).
- extprograms plugin: Fixed epoll() panic caused by closing the output
  FD before the output stream.
- Made sure that the local part of a mail address is encoded properly
  using quoted string syntax when it is not a dot-atom.

PR:		209084
Submitted by:	maintainer (Larry Rosenman)
Original commitRevision:414113 
Tuesday, 26 Apr 2016
16:03 adamw search for other commits by this committer
Update dovecot2 to 2.2.24, and bump PORTREVISION on antispam-plugin and

* doveconf now warns if it sees a global setting being changed when
  the same setting was already set inside some filters. (A common
  mistake has been adding more plugins to a global mail_plugins
  setting after it was already set inside protocol { .. }, which
  caused the global setting to be ignored for that protocol.)
* LMTP proxy: Increased default timeout 30s -> 125s. This makes it
  less likely to reach the timeout and cause duplicate deliveries.
* LMTP and indexer now append ":suffix" to session IDs to make it
  unique for the specific user's delivery. (Fixes duplicate session
  ID warnings in stats process.)

+ Added dict-ldap for performing read-only LDAP dict lookups.
+ lazy-expunge: All mails can be saved to a single specified mailbox.
+ mailbox { autoexpunge } supports now wildcards in mailbox names.
+ doveadm HTTP API: Added support for proxy commands
+ imapc: Reconnect when getting disconnected in non-selected state.
+ imapc: Added imapc_features=modseq to access MODSEQs/HIGHESTMODSEQ.
  This is especially useful for incremental dsync.
+ doveadm auth/user: Auth lookup performs debug logging if
  -o auth_debug=yes is given to doveadm.
+ Added passdb/userdb { auth_verbose=yes|no } setting.
+ Cassandra: Added user, password, num_threads, connect_timeout and
  request_timeout settings.
+ doveadm user -e <value>: Print <value> with %variables expanded.
- Huge header lines could have caused Dovecot to use too much memory
  (depending on config and used IMAP commands). (Typically this would
  result in only the single user's process dying with out of memory
  due to reaching service { vsz_limit } - not a global DoS).
- dsync: Detect and handle invalid/stale -s state string better.
- dsync: Fixed crash caused by specific mailbox renames
- auth: Auth cache is now disabled passwd-file. It was unnecessary and
  it broke %variables in extra fields.
- fts-tika: Don't crash if it returns 500 error
- dict-redis: Fixed timeout handling
- SEARCH INTHREAD was crashing
- stats: Only a single fifo_listeners was supported, making it
  impossible to use both auth_stats=yes and mail stats plugin.
- SSL errors were logged in separate "Stacked error" log lines
  instead of as part of the disconnection reason.
- MIME body parser didn't handle properly when a child MIME part's
  --boundary had the same prefix as the parent.
Original commitRevision:414060 
Sunday, 17 Apr 2016
16:38 adamw search for other commits by this committer
Add a MANAGESIEVE option, to choose whether to install the ManageSieve

PR:		208859
Approved by:	maintainer (Larry Rosenman)
Original commitRevision:413515 
Saturday, 2 Apr 2016
16:59 adamw search for other commits by this committer
Update dovecot2 to 2.2.23, and bump PORTREVISION on dovecot2-pigeonhole
and dovecot2-antispam-plugin.

From the 2.2.23 release notes:

This is a bugfix-only release with various important fixes on top of v2.2.22.

 - Various fixes to doveadm. Especially running commands via
   doveadm-server was broken.
 - director: Fixed user weakness getting stuck in some situations
 - director: Fixed a situation where directors keep re-sending
   different states to each others and never becoming synced.
 - director: Fixed assert-crash related to a slow "user killed" reply
 - Fixed assert-crash related to istream-concat, which could have
   been triggered at least by a Sieve script.
Original commitRevision:412423 
Friday, 1 Apr 2016
14:16 mat search for other commits by this committer
Remove ${PORTSDIR}/ from dependencies, categories m, n, o, and p.

With hat:	portmgr
Sponsored by:	Absolight
Original commitRevision:412348 
Friday, 18 Mar 2016
19:48 pi search for other commits by this committer
mail/dovecot2-pigeonhole: 0.4.12 -> 0.4.13

* redirect action: Added the list-id header to the duplicate ID for
  mail loop prevention. This means that the message sent directly to
  the user and the message coming through the mailing list itself are
  treated as different messages by the loop detection of the redirect
  command, even though their Message-ID may be identical.
* Changed the Sieve number type to uint64_t, which means that Sieve
  numbers can now technically range up to 2^64. Some other Sieve
  implementation allowed this, making this change necessary for
  successful migration.
+ Implemented the sieve_implicit_extensions setting. The extensions
  listed in this setting do not need to be enabled explicitly using the
  Sieve "require" command. This behavior directkly violates the
  standard, but can be necessary for compatibility with some existing
  implementations of Sieve. Do not use this setting unless you really
  need to!
- redirect action: Made mail loop detection more robust by forcibly
  adding a Message-ID header if it is missing.
- Prevent logging a useless "script not found" error message for LDAP
  scripts for which the entry exists but no attribute containing a
  script. This is not necessarily an error.
- extprograms plugin: Changed the communication channel between parent
  and child process for a directly forked program from a socketpair to
  a double pipe. Linux does not support /dev/stdin, /dev/stdout and
  friends for sockets. For some shell program authors this may be
  confusing, so that is why it is changed. When using the script
  service, these device nodes are still not usable though.

PR:		208108
Submitted by:	Larry Rosenman <> (maintainer)
Original commitRevision:411368 
Wednesday, 16 Mar 2016
17:29 adamw search for other commits by this committer
Update mail/dovecot2 to 2.2.22, and bump PORTREVISION on dovecot2-pigeonhole
and dovecot2-antispam-plugin.

Changes for 2.2.22:
 + Added doveadm HTTP API: See
 + virtual plugin: Mailbox filtering can now be done based on the
   mailbox metadata. See
 + stats: Added doveadm stats reset to reset global stats.
 + stats: Added authentication statistics if auth_stats=yes.
 + dsync, imapc, pop3c & pop3-migration: Many optimizations,
   improvements and error handling fixes.
 + doveadm: Most commands now stop soon after SIGINT/SIGTERM.
 - auth: Auth caching was done too aggressively when %variables were
   used in default_fields, override_fields or LDAP pass/user_attrs.
   userdb result_* were also ignored when user was found from cache.
 - imap: Fixed various assert-crashes caused v2.2.20+. Some of them
   caught actual hangs or otherwise unwanted behavior towards IMAP
 - Expunges were forgotten in some situations, for example when
   pipelining multiple IMAP MOVE commands.
 - quota: Per-namespaces quota were broken for dict and count backends
   in v2.2.20+
 - fts-solr: Search queries were using OR instead of AND as the
   separator for multi-token search queries in v2.2.20+.
 - Single instance storage support wasn't really working in v2.2.16+
 - dbox: POP3 message ordering wasn't working correctly.
 - virtual plugin: Fixed crashes related to backend mailbox deletions.
Original commitRevision:411242 
Tuesday, 9 Feb 2016
03:43 pi search for other commits by this committer
mail/dovecot2-pigeonhole: 0.4.11 -> 0.4.12

+ Implemented the Sieve extracttext extension (RFC 5703; Section 7). It
  is now possible to extract body text from a message into a variable.
* Increased ABI version due to changes in the Sieve interpreter's object
- multiscript: Fixed bug in handling of (implicit) keep; final keep
  action was always executed as though there was a failure. This caused
  the keep action to revert back to the initial message, causing
  editheader actions to be ignored.
- managesieve-login: Fixed proxy to allow SASL mechanisms other than
  PLAIN. Before, the proxy would fail if the server did not support the
  PLAIN mechanism.
- ldap storage: Prevent segfault occurring when assigning certain
  (global) configuration options.

PR:		207000
Submitted by:	Larry Rosenman <> (maintainer)
Original commitRevision:408534 
Saturday, 9 Jan 2016
12:51 miwi search for other commits by this committer
- Update to 0.4.11

PR:		206042
Submitted by:	maintainer
Original commitRevision:405624 
Tuesday, 15 Dec 2015
14:57 miwi search for other commits by this committer
- Update to 0.4.10

PR:		205303
Submitted by:	maintainer
Approved by:	mat (mentor)
Differential Revision:	D4567
Original commitRevision:403785 
Saturday, 12 Dec 2015
16:47 adamw search for other commits by this committer
Update dovecot2 to 2.2.21, and bump PORTREVISION in consumers.

While here, fix up some paths in the decode2text plugin, and add a note
to pkg-message about how to make it work. [1]

 - doveadm mailbox list (and some others) were broken in v2.2.20
 - director: Fixed making backend changes when running with only a
   single director server.
 - virtual plugin: Fixed crash when trying to open nonexistent
   autocreated backend mailbox.

PR:		205231 [1]
Submitted by:
Original commitRevision:403608 
Wednesday, 9 Dec 2015
15:39 adamw search for other commits by this committer
Update dovecot2 to 2.2.20, and bump PORTREVISION on antispam-plugin and

Also, remove the GC option from dovecot2. As reported in bug #205035,
reported by, all it does it cause leaks and
spam the logs about it.

 + Added mailbox { autoexpunge=<time> } setting. See for details.
 + ssl_options: Added support for no_ticket
 + imap/pop3/managesieve-login: Added postlogin_socket=path passdb extra
   field. This allows replacing the default service
   imap/pop3/managesieve {} settings for specific users (e.g. running
   their imap process via valgrind or strace).
 + doveadm fetch: Added date.sent/received/saved.unixtime
 + fs-posix: Added mode=auto parameter to set the created files' and
   directories' mode based on the parent dir if it has setgid-bit.
 + director: Support backends having hostnames, which makes it possible
   to verify their SSL certificates.
 - director: Directors' state became desynchronized if doveadm director
   commands were used to modify the same backend in multiple directors
   at the same time with conflicting changes. This fix includes some
   extra checks, which makes sure that if such a conflict still happens
   it's automatically fixed. In some situations such an automatic fix
   may now be unnecessarily triggered and an error logged.
 - director: Backend tags weren't working correctly.
 - ldap: tls_* settings weren't used for ldaps URIs.
 - ldap, mysql: Fixed setting connect timeout.
 - auth: userdb lookups via auth-worker couldn't change username
 - dsync: Fixed handling deleted directories. Make sure we don't go to
   infinite mailbox renaming loop.
 - imap: Fixed crash in NOTIFY when there were watched namespaces that
   didn't support NOTIFY.
 - imap: After SETMETADATA was used, various commands (especially FETCH)
   could have started hanging when their output was large.
 - stats: Idle sessions weren't refreshed often enough, causing stats
   process to forget them and log errors about unknown sessions when
   they were updated later.
 - stats: Fixed "Duplicate session ID" errors when LMTP delivered to
   multiple recipients and fts_autoindex=yes.
 - zlib plugin: Fixed copying causing cache corruption when zlib_save
   wasn't set, but the source message was compressed.
 - fts-solr: Fixed escaping Solr query parameters.
 - lmtp: quota_full_tempfail=yes was ignored with
Original commitRevision:403426 
Monday, 5 Oct 2015
03:52 pi search for other commits by this committer
mail/dovecot2-pigeonhole: 0.4.8 -> 0.4.9

upgrade to follow mail/dovecot2

* Properly implemented checking of ABI version for Sieve interpreter
  plugins, much like Dovecot itself does for plugins. This will prevent
  plugin ABI mismatches.
+ Implemented a vnd.dovecot.environment extension. This builds upon the
  standard environment extension and adds a few more environment items,
  such as username and default mailbox. It also creates a variables
  namespace so that environment items can be accessed directly. I am
  still thinking about more environment items that can be added.
+ Sieve extprograms plugin: Made line endings of the input passed to the
  external programs configurable. This can be configured separately for
  each of the three extensions.
+ ManageSieve: Implemented proxy XCLIENT support. This allows the proxy
  to pass client information to the back-end.
- ManageSieve: Fixed an assert failure occurring when a client
  disconnects during the GETSCRIPT command.
- doveadm sieve plugin: Fixed incorrect initialization of mail user.
  This caused a few memory leaks.
- sieve-filter command line tool: Fixed handling of failure-related
  implicit keep when there is an explicit default destination folder.
  This caused message duplication.
- lib-sieve: Fixed bug in RFC5322 header folding. Words longer than the
  optimal line length caused empty lines in the output, which would
  break the resulting message header. This surfaced in References:
  headers with very long message IDs.

PR:		203526
Submitted by:	Larry Rosenman <> (maintainer)
Original commitRevision:398629 
Friday, 2 Oct 2015
22:44 adamw search for other commits by this committer
Update dovecot2 to 2.2.19, and bump PORTREVISION on antispam-plugin
and pigeonhole.


* 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:
+ 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
Original commitRevision:398453 
Sunday, 17 May 2015
07:25 bofh search for other commits by this committer
mail/dovecot2-pigeonhole: Update version 0.4.7=>0.4.8


PR:		200226
Submitted by:
Original commitRevision:386584 
Friday, 15 May 2015
15:02 adamw search for other commits by this committer
Update dovecot2 to 2.2.18. This is a bugfix release to address issues
identified in 2.2.17.

- director: Login UNIX sockets were normally detected as doveadm or
  director ring sockets, causing it to break in existing installations.
- sdbox: When copying a mail in alt storage, place the destination to
  alt storage as well.

Bump PORTREVISION on antispam-plugin and pigeonhole, like I should have
done last time.
Original commitRevision:386411 
10:40 bapt search for other commits by this committer
Bump portrevision after dovecot2 update
Original commitRevision:386395 
Sunday, 22 Mar 2015
18:16 pi search for other commits by this committer
mail/dovecot2-pigeonhole: 0.4.6 -> 0.4.7

Changelog v0.4.7:

* editheader extension: Made protection against addition and deletion of
  headers configurable separately. Also, the `Received' and
  `Auto-Submitted' headers are no longer protected against addition by
* Turned message envelope address parse errors into warnings.
* The interpreter now accepts non-standard domain names, e.g.
  containing '_'.
+ Implemented the Sieve index extension (RFC 5260).
+ Implemented support for the mboxmetadata and servermetadata extensions
  (RFC 5490).
+ Implemented new sieve commands for the doveadm command line utility.
  These commands are currently limited to ManageSieve operations, but
  the other current sieve tools will be migrated to doveadm in the near
  future as well.
+ Added more debug output about binary up-to-date checking.
+ Added script metadata to binary dump output.
- Fixed Sieve script binary up-to-date checking by normalizing the
  script location.
- The Sieve interpreter now flushes the duplicate database during start
  phase of result execution rather than commit phase. This makes sure
  locks on the duplicate database are released as soon as possible,
  preventing contention.
- Performed a few optimizations in the lexical scanner of the language.
- Fixed bug in `:matches' match-type that made a pattern without
  wildcards match as if there were a '*' at the beginning.
- Fixed crash in validation of the string parameter of the comparator
- extprograms extension: Made sure supplemental group privileges are
  also dropped. This was a problem reported by Debian lintian.
- Fixed bug in handling of binary errors for action side-effects and
  message overrides.
- file script storage: Restructured storage initialization to address
  backwards compatibility issues.
- dict script storage: Fixed small memory allocation bug.

PR:		198747
Submitted by:	Larry Rosenman <> (maintainer)
Original commitRevision:381944 
Friday, 13 Mar 2015
14:59 adamw search for other commits by this committer
Bump PORTREVISION on pigeonhole and antispam-plugin, which should have
happened yesterday.
Original commitRevision:381215 
Sunday, 4 Jan 2015
09:52 pi search for other commits by this committer
mail/dovecot2-pigeonhole: register the dependency on OpenSSL

PR:		196448
Submitted by:	Bernard Spil <>
Approved by:	Larry Rosenman <> (maintainer)
Original commitRevision:376190 
Thursday, 13 Nov 2014
18:58 pi search for other commits by this committer
mail/dovecot2-pigeonhole: 0.4.3 -> 0.4.6

- submitter takes maintainership


- Added support for Japanese mail addresses with dots at non-standard
  places in localpart.
- Changed handling of ENOSPACE into a normal temporary failure and added
  handling of ENOQUOTA as a user error.
- Restructured result execution, so that all actions which involve mail
  storage are always committed before all others.
- Implemented support for generic Sieve storages. Using alternative
  storages now also possible for sieve_before/sieve_after.
- Implemented storage driver for retrieving Sieve scripts from LDAP.
  This currently cannot be used with ManageSieve.
- Implemented sieve_redirect_envelope_from setting, which allows
  configuring the envelope sender of redirected messages.
- Fixed handling of mail storage errors occurring while evaluating the
  input message.
- managesieve-login:
   - Removed bogus ALERT response code returned for AUTHENTICATE
   - Fixed handling of invalid initial response argument to AUTHENTICATE
- Fixed handling of stream errors in lexical scanner.
- Fixed handling of SMTP errors. Permanent and temporary errors were
  mixed up.
- Fixed several problems reported by CLang 3.4.
- duplicate extension: Fixed erroneous compile error about conflicting
  tags when `:handle' argument was used last.
- relational extension: Fixed error handling of `:value' match.
- editheader extension: Fixed header unfolding and header iteration.
- mailbox extension: Fixed the `:create' tag, which erroneously
  subscribed an existing folder.
- extprograms plugin: Fixed handling of error codes.
- doveadm-sieve plugin: Fixed several bugs. Synchronization of symbolic
  link in the file storage should now also work properly.

- Added a Pigeonhole version banner to doveconf output. This way, future
  bug reports will also include Pigeonhole version information.
- Fixed handling of implicit keep. Last version erroneously reported
  that implicit keep succeeded after an earlier failure, while it in
  fact had failed. Particularly occurred for mailbox quota errors.
- Fixed segfault occurring on SunOS systems when there is no active

- ports-related change integrated upstream

PR:		194645
Submitted by:	Larry Rosenman <>
Approved by:	maintainer (timeout)
Original commitRevision:372535 
Sunday, 26 Oct 2014
00:15 adamw search for other commits by this committer
Update dovecot2 to 2.2.15, and add an LZ4 option that uses liblz4.


Some small fixes and changes to v2.2.14. This release is mainly in the hope
that it could still make it into the next Debian stable instead of v2.2.14 -
mainly because of a couple of new assert crashes that started happening in
v2.2.14 and should be fixed now.

	* Plugins can now print a banner comment in doveconf output
	  (typically the plugin version)
	* Replication plugin now triggers low (instead of high) priority for
	  mail copying operations.
	* IMAP/POP3/ManageSieve proxy: If destination server can't be
	  connected to, retry connecting once per second up to the value of
	  proxy_timeout. This allows quick restarts/upgrades on the backend
	  server without returning login failures.
	* Internal passdb lookups (e.g. done by lmtp/doveadm proxy) wasn't
	  returning failure in some situations where it should have (e.g.
	  allow_nets mismatch)
	* LMTP uses mail_log_prefix now for logging mail deliveries instead of
	  a hardcoded prefix. The non-delivery log prefix is still hardcoded

	+ passdb allow_nets=local matches lookups that don't contain an IP
	  address (internally done by Dovecot services)
	+ Various debug logging and error logging improvements
	- Various race condition fixes to LAYOUT=index
	- v2.2.14 virtual plugin crashed in some situations
Original commitRevision:371494 
Tuesday, 14 Oct 2014
17:35 adamw search for other commits by this committer
Update dovecot2 to 2.2.14. PORTREVISION bumps for dovecot2-pigeonhole and

Changes in 2.2.14:

	* lmtp: Delivered-To: header no longer contains <> around the email
	  address. Other MDAs don't have it either.
	* "Out of disk space" errors are now treated as temporary errors
	  (not the same as "Out of disk quota").
	* replication plugin: Use replication only for users who have a
	  non-empty mail_replica setting.

	+ lmtp proxy: Log a line about each mail delivery.
	+ Added login_source_ips setting. This can be used to set the source IP
	  address round-robin from a pool of IPs (in case you run out of TCP
	+ Rawlog settings can use tcp:<host>:<port> as the path.
	+ virtual plugin: Don't keep more than virtual_max_open_mailboxes
	  (default 64) number of backend mailboxes open.
	+ SSL/TLS compression can be disabled with ssl_options=no_compression
	+ acl: Global ACL file now supports "quotes" around patterns.
	+ Added last-login plugin to set user's last-login timestamp on login.
	+ LDAP auth: Allow passdb credentials lookup also with auth_bind=yes
	- IMAP: MODSEQ was sent in FETCH reply even if CONDSTORE/QRESYNC wasn't
	  enabled. This broke at least old Outlooks.
	- passdb static treated missing password field the same as an empty
	  password field.
	- mdbox: Fixed potential infinite looping when scanning a broken
	  mdbox file.
	- imap-login, pop3-login: Fixed potential crashes when client
	  disconnected unexpectedly.
	- imap proxy: The connection was hanging in some usage patterns. This
	  mainly affected older Outlooks.
	- lmtp proxy: The proxy sometimes delivered empty mails in error
	  situations or potentially delivered truncated mails.
	- fts-lucene: If whitespace_chars was set, we may have ended up
	  indexing some garbage words, growing the index size unnecessarily.
	- -c and -i parameters for dovecot/doveadm commands were ignored if
	  the config socket was readable.
	- quota: Quota recalculation didn't include INBOX in some setups.
	- Mail headers were sometimes added to dovecot.index.cache in wrong
	  order. The main problem this caused was with dsync+imapc incremental
	  syncing when the second sync thought the local mailbox had changed.
	- doveadm backup didn't notice if emails were missing from the middle
	  of the destination mailbox. Now it deletes and resyncs the mailbox.
Original commitRevision:370872 
Thursday, 24 Jul 2014
18:34 tijl search for other commits by this committer
- Convert to USES=libtool and bump dependent ports
- Don't use PTHREAD_LIBS

- Drop :keepla
- Add INSTALL_TARGET=install-strip

databases/libgda4* databases/libgda5*:
- Convert to USES=libtool and bump dependent ports
- USES=tar:xz
- Use INSTALL_TARGET=install-strip
- Use @sample

- Drop :keepla
- USES=tar:bzip2
- Use INSTALL_TARGET=install-strip

- Add INSTALL_TARGET=install-strip
- Drop --enable-static (inherited from old repocopy)

devel/anjuta x11-toolkits/py-gnome-extras:
- Drop :keepla

dns/powerdns dns/powerdns-devel:
- Convert to USES=libtool
- Add INSTALL_TARGET=install-strip
- Disable static modules
- Stop creating library symlinks with .0 suffix, not needed for dynamically
  opened modules

- Add USES=libtool

- Drop CONFIGURE_TARGET (incorrect for Dragonfly)
- Add USES=libtool and INSTALL_TARGET=install-strip

- USES=libtool tar:xz

Approved by:	portmgr (implicit, bump unstaged ports)
Original commitRevision:362835 
Sunday, 8 Jun 2014
11:20 olgeni search for other commits by this committer

- MASTER_SITES from PR 189700 was already fixed in r354504.

PR:		189700
Submitted by:
Approved by:	maintainer timeout
Original commitRevision:357003 
Saturday, 7 Jun 2014
17:12 olgeni search for other commits by this committer
Upgrade to version 0.4.3.

PR:		190180
Submitted by:	Larry Rosenman
Approved by:	maintainer timeout (14 days)
Original commitRevision:356930 
Monday, 19 May 2014
07:45 ohauer search for other commits by this committer
- update MASTER_SITE, distfiles are now hosted by dovecot

Original commitRevision:354504 
Monday, 28 Apr 2014
13:30 ohauer search for other commits by this committer
- bump PORTREVISION as reqested in the dovcot2 Makefile
- strip
Original commitRevision:352499 
Friday, 31 Jan 2014
15:07 pawel search for other commits by this committer
- Update mail/dovecot2 to version 2.2.10
- Bump affected plugin ports

PR:		ports/185904
Submitted by:	maintainer
Original commitRevision:342000 
Friday, 10 Jan 2014
11:45 olgeni search for other commits by this committer
Chase dovecot2 rename in RUN_ and BUILD_DEPENDS.
Original commitRevision:339344 
Monday, 25 Nov 2013
19:03 danilo search for other commits by this committer
- Update from 2.2.6 to 2.2.9
- And, following the instructions in Makefile, bump PORTREVISION of
mail/dovecot2-antispam-plugin and mail/dovecot-pigeonhole

PR:		ports/184273
Submitted by:	Attila Nagy <> (maintainer)
Original commitRevision:334882 
Tuesday, 1 Oct 2013
23:24 wg search for other commits by this committer
mail/dovecot2-pigeonhole: update to 0.4.2

- Update to 0.4.2 [1]
- Allow staging

PR:		ports/182543 [1]
Submitted by:	Attila Nagy <bra> (maintainer) [1]
Original commitRevision:329008 
Friday, 20 Sep 2013
19:59 bapt search for other commits by this committer
Add NO_STAGE all over the place in preparation for the staging support (cat:
Original commitRevision:327742 
Tuesday, 6 Aug 2013
11:59 wg search for other commits by this committer
mail/dovecot2-pigeonhole: update to 0.4.1

- Update to 0.4.1


PR:		ports/181085
Submitted by:	Attila Nagy <bra> (maintainer)
Original commitRevision:324310 
Tuesday, 16 Jul 2013
17:51 feld search for other commits by this committer
- Fix conflict with mail/dovecot2

PR:		ports/175523
Approved by:	crees (mentor)
Original commitRevision:323115 
Tuesday, 25 Jun 2013
12:36 wg search for other commits by this committer
mail/dovecot2: update to 2.2.4

- Update to 2.2.4 [1]
- Bump plugins PORTREVISION

PR:		ports/179953
Submitted by:	Attila Nagy <> [1] (maintainer)
Original commitRevision:321740 
Thursday, 23 May 2013
17:58 miwi search for other commits by this committer
- Update dovecot2 to 2.2.2
- Update dovecot2-pigeonhole to 0.4.0

PR:		178832
Submitted by:	maintainer
Original commitRevision:318892 
Thursday, 9 May 2013
17:39 delphij search for other commits by this committer
Update mail/dovecot2 to 2.1.16 and mail/dovecot2-pigeonhole to 0.34.

PR:		ports/178428
Approved by:	maintainer
Original commitRevision:317742 
Thursday, 14 Feb 2013
07:46 miwi search for other commits by this committer
- Update to 2.1.15
- Bump Portrevision for dovecot plugins
PR:		176102
Submitted by:	maintainer
Original commitRevision:312200 
Monday, 4 Feb 2013
10:31 rakuco search for other commits by this committer
Hopefully adjust PORTREVISION correctly before anyone notices.

PR:		ports/175738
Original commitRevision:311603 
10:30 rakuco search for other commits by this committer
Update dovecot2 to 2.1.14.

PR:		ports/175738
Submitted by:	Attila Nagy <> (maintainer)
Original commitRevision:311602 
Sunday, 2 Dec 2012
12:11 rm search for other commits by this committer
- update to 2.1.12
- chase update in dovecot2-pigeonhole

while here, do some changes in dovecot2-pigeonhole:
- remove indefinite article from COMMENT
- tab -> scape in pkg-descr:WWW
- remove trailing whitespace in pkg-message
- fix pkg-plist

PR:		174014
Submitted by:	Attila Nagy <> (maintainer)
Feature safe:	yes
Original commitRevision:308099 
Wednesday, 26 Sep 2012
22:51 jase search for other commits by this committer
- Update to 0.3.3 [1]
- Convert to new format Makefile header


PR:		ports/172082 [1]
Submitted by:	Attila Nagy <> (maintainer)
Approved by:	flo, culot (mentors, implicit)
Original commitRevision:304936 
Saturday, 7 Jul 2012
16:28 jase search for other commits by this committer
- Bump PORTREVISION after update to mail/dovecot2 [1]
- Convert to optionsNG and add DOCS,EXAMPLES options
- Pet portlint(1): dirrm DOCSDIR

PR:             ports/169622 [1]
Submitted by:   Attila Nagy <> (maintainer)
Approved by:    culot (mentor)
Original commit
Thursday, 31 May 2012
21:32 delphij search for other commits by this committer
 - Update dovecot2 to 2.1.7.
 - Bump PORTREVISION for dovecot2-pigeonhole per maintainer request.

PR:             ports/168476
Approved by:    maintainer
Original commit
Tuesday, 29 May 2012
08:51 miwi search for other commits by this committer
- Update to 0.3.1
- Changes:

PR:             168420
Submitted by:   Jase Thew <>
Original commit
Friday, 18 May 2012
11:21 zi search for other commits by this committer
- Bump PORTREVISION after update to mail/dovecot2

PR:             ports/167718
Submitted by:   Attila Nagy [2]<> (maintainer)
Original commit
Sunday, 8 Apr 2012
16:56 miwi search for other commits by this committer
- Update to 0.3.0

PR:             165882
Submitted by:   maintainer
Feature safe:   yes
Original commit
Wednesday, 29 Feb 2012
12:18 scheidell search for other commits by this committer
- Update to 2.0.18
- Changes:

- Update to 0.2.6
- Changes:

PR:             ports/165176
Submitted by:   Jase Thew <>
Approved by: (maintainer), gabor (mentor, implicit)
Original commit
Monday, 28 Nov 2011
09:24 sunpoet search for other commits by this committer
- Update to 0.2.5

PR:             ports/162916
Submitted by:   Jase Thew <>
Approved by:    Attila Nagy <> (maintainer)
Feature safe:   yes
Original commit
Tuesday, 25 Oct 2011
20:29 pawel search for other commits by this committer
- Update mail/dovecot2 to 2.0.15
- Update mail/dovecot2-pigeonhole to 0.2.4

PR:             ports/160820
Submitted by:   Attila Nagy <> (maintainer) -> update
                Jase Thew <> -> updated patch-doc_Makefile_in
Original commit
Friday, 23 Sep 2011
22:26 amdmi3 search for other commits by this committer
- Add LDFLAGS to CONFIGURE_ENV and MAKE_ENV (as it was done with LDFLAGS)
- Fix all ports that add {CPP,LD}FLAGS to *_ENV to modify flags instead

PR:             157936
Submitted by:   myself
Exp-runs by:    pav
Approved by:    pav
Original commit
Thursday, 8 Sep 2011
13:14 sunpoet search for other commits by this committer
- Bump PORTREVISION of mail/dovecot2-pigeonhole

PR:             ports/160476
Submitted by:   Attila Nagy <> (maintainer)
Original commit
Friday, 19 Aug 2011
18:14 delphij search for other commits by this committer
Update dovecot2 to 2.0.13 [1].

dovecot-pigeonhole is also updated to 0.2.3.

Security:       0b53f5f7-ca8a-11e0-aea3-00215c6a37bb [1]
Submitted by:   Uffe Jakobsen <uffe>
PR:             ports/158173
Approved by:    maintainer timeout
Original commit
Friday, 13 May 2011
17:04 beech search for other commits by this committer
-Bump portrevision to chase dovecot2 update

PR:             ports/156728
Approved by:    itetcu (mentor)(implicit)
Original commit
Thursday, 17 Mar 2011
16:01 miwi search for other commits by this committer
- Bump PORTREVISION after dovecote2 update
Original commit
Saturday, 5 Feb 2011
16:49 sunpoet search for other commits by this committer
- Update to 0.2.2
- Space/Tab twiddle

PR:             ports/154038
Submitted by:   sunpoet (myself)
Approved by:    Attila Nagy <> (maintainer, in followup of
Feature safe:   yes
Original commit
Thursday, 2 Dec 2010
07:55 glewis search for other commits by this committer
. Add a missing BUILD_DEPENDS on dovecot2.

Pointyhat to:   glewis
Original commit
Saturday, 27 Nov 2010
06:01 glewis search for other commits by this committer
. Add a port of an implementation of the Sieve language for Dovecot 2.x:

Sieve language support by a plugin for the Dovecot deliver LDA&LMTP

    * Mail filtering
    * Mail forwarding
    * Vacation auto-reply


PR:             150790
Submitted by:   "Nagy, Attila" <>
Original commit

Number of commits found: 86