FreshPorts -- The Place For Ports notbugIf you buy from Amazon USA, please support us by using this link.
Follow us

Port details
dovecot-pigeonhole Sieve plugin for the Dovecot 'deliver' LDA and LMTP
0.5.2_2 mail on this many watch lists=8 search for ports that depend on this port Find issues related to this port Report an issue related to this port
Maintainer: search for ports maintained by this maintainer
Port Added: 07 Aug 2017 21:44:12
License: LGPL21
Sieve language support by a plugin for the Dovecot deliver LDA&LMTP

    * Mail filtering
    * Mail forwarding
    * Vacation auto-reply

SVNWeb : Homepage : PortsMon
    Pseudo-pkg-plist information, but much better, from make generate-plist
    Expand this list (97 items)
  1. /usr/local/share/licenses/dovecot-pigeonhole-0.5.2_2/
  2. /usr/local/share/licenses/dovecot-pigeonhole-0.5.2_2/LICENSE
  3. /usr/local/share/licenses/dovecot-pigeonhole-0.5.2_2/LGPL21
  4. share/doc/dovecot-pigeonhole/example-config/conf.d/20-managesieve.conf
  5. share/doc/dovecot-pigeonhole/example-config/conf.d/90-sieve-extprograms.conf
  6. share/doc/dovecot-pigeonhole/example-config/conf.d/90-sieve.conf
  7. share/doc/dovecot-pigeonhole/example-config/sieve-ldap.conf
  8. bin/sieve-dump
  9. bin/sieve-filter
  10. bin/sieve-test
  11. bin/sievec
  12. include/dovecot-2.3-pigeonhole/sieve/edit-mail.h
  13. include/dovecot-2.3-pigeonhole/sieve/mail-raw.h
  14. include/dovecot-2.3-pigeonhole/sieve/pigeonhole-config.h
  15. include/dovecot-2.3-pigeonhole/sieve/pigeonhole-version.h
  16. include/dovecot-2.3-pigeonhole/sieve/rfc2822.h
  17. include/dovecot-2.3-pigeonhole/sieve/sieve-actions.h
  18. include/dovecot-2.3-pigeonhole/sieve/sieve-address-parts.h
  19. include/dovecot-2.3-pigeonhole/sieve/sieve-address-source.h
  20. include/dovecot-2.3-pigeonhole/sieve/sieve-address.h
  21. include/dovecot-2.3-pigeonhole/sieve/sieve-ast.h
  22. include/dovecot-2.3-pigeonhole/sieve/sieve-binary-dumper.h
  23. include/dovecot-2.3-pigeonhole/sieve/sieve-binary-private.h
  24. include/dovecot-2.3-pigeonhole/sieve/sieve-binary.h
  25. include/dovecot-2.3-pigeonhole/sieve/sieve-code-dumper.h
  26. include/dovecot-2.3-pigeonhole/sieve/sieve-code.h
  27. include/dovecot-2.3-pigeonhole/sieve/sieve-commands.h
  28. include/dovecot-2.3-pigeonhole/sieve/sieve-common.h
  29. include/dovecot-2.3-pigeonhole/sieve/sieve-comparators.h
  30. include/dovecot-2.3-pigeonhole/sieve/sieve-config.h
  31. include/dovecot-2.3-pigeonhole/sieve/sieve-dump.h
  32. include/dovecot-2.3-pigeonhole/sieve/sieve-error-private.h
  33. include/dovecot-2.3-pigeonhole/sieve/sieve-error.h
  34. include/dovecot-2.3-pigeonhole/sieve/sieve-ext-copy.h
  35. include/dovecot-2.3-pigeonhole/sieve/sieve-ext-enotify.h
  36. include/dovecot-2.3-pigeonhole/sieve/sieve-ext-environment.h
  37. include/dovecot-2.3-pigeonhole/sieve/sieve-ext-imap4flags.h
  38. include/dovecot-2.3-pigeonhole/sieve/sieve-ext-mailbox.h
  39. include/dovecot-2.3-pigeonhole/sieve/sieve-ext-variables.h
  40. include/dovecot-2.3-pigeonhole/sieve/sieve-extensions.h
  41. include/dovecot-2.3-pigeonhole/sieve/sieve-generator.h
  42. include/dovecot-2.3-pigeonhole/sieve/sieve-interpreter.h
  43. include/dovecot-2.3-pigeonhole/sieve/sieve-lexer.h
  44. include/dovecot-2.3-pigeonhole/sieve/sieve-limits.h
  45. include/dovecot-2.3-pigeonhole/sieve/sieve-match-types.h
  46. include/dovecot-2.3-pigeonhole/sieve/sieve-match.h
  47. include/dovecot-2.3-pigeonhole/sieve/sieve-message.h
  48. include/dovecot-2.3-pigeonhole/sieve/sieve-objects.h
  49. include/dovecot-2.3-pigeonhole/sieve/sieve-parser.h
  50. include/dovecot-2.3-pigeonhole/sieve/sieve-plugins.h
  51. include/dovecot-2.3-pigeonhole/sieve/sieve-result.h
  52. include/dovecot-2.3-pigeonhole/sieve/sieve-runtime-trace.h
  53. include/dovecot-2.3-pigeonhole/sieve/sieve-runtime.h
  54. include/dovecot-2.3-pigeonhole/sieve/sieve-script-private.h
  55. include/dovecot-2.3-pigeonhole/sieve/sieve-script.h
  56. include/dovecot-2.3-pigeonhole/sieve/sieve-settings.h
  57. include/dovecot-2.3-pigeonhole/sieve/sieve-smtp.h
  58. include/dovecot-2.3-pigeonhole/sieve/sieve-storage-private.h
  59. include/dovecot-2.3-pigeonhole/sieve/sieve-storage.h
  60. include/dovecot-2.3-pigeonhole/sieve/sieve-stringlist.h
  61. include/dovecot-2.3-pigeonhole/sieve/sieve-types.h
  62. include/dovecot-2.3-pigeonhole/sieve/sieve-validator.h
  63. include/dovecot-2.3-pigeonhole/sieve/sieve.h
  64. lib/dovecot-2.3-pigeonhole/libdovecot-sieve.a
  65. lib/dovecot-2.3-pigeonhole/
  66. lib/dovecot-2.3-pigeonhole/
  67. lib/dovecot-2.3-pigeonhole/
  68. lib/dovecot/doveadm/lib10_doveadm_sieve_plugin.a
  69. lib/dovecot/doveadm/
  70. lib/dovecot/lib95_imap_filter_sieve_plugin.a
  71. lib/dovecot/
  72. lib/dovecot/lib95_imap_sieve_plugin.a
  73. lib/dovecot/
  74. lib/dovecot/sieve/lib90_sieve_imapsieve_plugin.a
  75. lib/dovecot/sieve/
  76. lib/dovecot/lib90_sieve_plugin.a
  77. lib/dovecot/
  78. lib/dovecot/settings/libmanagesieve_login_settings.a
  79. lib/dovecot/settings/
  80. lib/dovecot/settings/libmanagesieve_settings.a
  81. lib/dovecot/settings/
  82. lib/dovecot/settings/libpigeonhole_settings.a
  83. lib/dovecot/settings/
  84. lib/dovecot/sieve/lib90_sieve_extprograms_plugin.a
  85. lib/dovecot/sieve/
  86. libexec/dovecot/managesieve
  87. libexec/dovecot/managesieve-login
  88. man/man1/doveadm-sieve.1.gz
  89. man/man1/sieve-dump.1.gz
  90. man/man1/sieve-filter.1.gz
  91. man/man1/sieve-test.1.gz
  92. man/man1/sievec.1.gz
  93. man/man1/sieved.1.gz
  94. man/man7/pigeonhole.7.gz
  95. share/aclocal/dovecot-pigeonhole.m4
  96. @postexec /usr/sbin/service ldconfig restart > /dev/null
  97. @postunexec /usr/sbin/service ldconfig restart > /dev/null
  98. Collapse this list.

To install the port: cd /usr/ports/mail/dovecot-pigeonhole/ && make install clean
To add the package: pkg install dovecot-pigeonhole

PKGNAME: dovecot-pigeonhole


TIMESTAMP = 1530289706
SHA256 (dovecot-2.3-pigeonhole-0.5.2.tar.gz) = 950e8e15c58e539761255e140dd3678dd2477fa432a5f2b804e53821bdc02535
SIZE (dovecot-2.3-pigeonhole-0.5.2.tar.gz) = 1814618

NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.

Build dependencies:
  1. dovecot>=2.3.2 : mail/dovecot
Runtime dependencies:
  1. dovecot>=2.3.2 : mail/dovecot
There are no ports dependent upon this port

Configuration Options
===> The following configuration options are available for dovecot-pigeonhole-0.5.2_2:
     DOCS=on: Build and/or install documentation
     LDAP=off: LDAP protocol support
     MANAGESIEVE=on: ManageSieve support
====> GSSAPI Support (*MUST MATCH* mail/dovecot): you have to select exactly one of them
     GSSAPI_NONE=on: Build without GSSAPI support
     GSSAPI_BASE=off: Use GSSAPI from base
     GSSAPI_HEIMDAL=off: Use Heimdal GSSAPI from security/heimdal
     GSSAPI_MIT=off: Use MIT GSSAPI from security/krb5
===> Use 'make config' to modify these settings

compiler:c11 libtool ssl


 This port assumes you are familiar with Dovecot and have it installed
 and running on the system you have installed this plugin on.

 You can enable the plugin with this directive in your dovecot.conf:

     protocol lda {
       # Support for dynamically loadable plugins. mail_plugins is
       # a space separated list of plugins to load.
       mail_plugins = sieve # ... other plugins like quota

 Further information on configuration can be found at:


Master Sites:
Notes from UPDATING
These upgrade notes are taken from /usr/ports/UPDATING
  • 2018-04-01
    Affects: users of mail/dovecot and mail/dovecot-pigeonhole
      Dovecot has been upgraded to 2.3.1, and pigeonhole to 0.5.1. Most
      existing dovecot installations MUST be modified for 2.3, but for
      most users the modifications are simple.
      Modify your Dovecot conf.d/ files before spinning up 2.3.1. The
      upgrading instructions are detailed here:
Port Moves
  • port moved here from mail/dovecot2-pigeonhole on 2017-08-07
    REASON: Renamed to mail/dovecot-pigeonhole

  • port moved here from mail/dovecot2-antispam-plugin on 2017-07-31
    REASON: Has expired: Use pigeonhole instead. See

  • port moved here from mail/dovecot-antispam on 2017-07-31
    REASON: Has expired: Dovecot-1.x is deprecated. Use dovecot2 and dovecot2-antispam-plugin instead

  • port moved here from mail/dovecot-sieve on 2017-07-31
    REASON: Has expired: Dovecot-1.x is deprecated. Use dovecot2 and dovecot-pigeonhole instead

  • port moved here from mail/dovecot-managesieve on 2017-07-31
    REASON: Has expired: Dovecot-1.x is deprecated. Use dovecot2 and dovecot-pigeonhole instead

Number of commits found: 18

Commit History - (may be incomplete: see SVNWeb link above for full details)
29 Jun 2018 19:05:16
Original commit files touched by this commit  0.5.2_2
ler search for other commits by this committer
mail/dovecot-pigeonhole: bump PORTREVISION.
29 Jun 2018 19:03:59
Original commit files touched by this commit  0.5.2_1
ler search for other commits by this committer
mail/dovecot-pigeonhole: add imap_filter_sieve.txt to Makefile(s)
29 Jun 2018 18:44:50
Original commit files touched by this commit  0.5.2_1
ler search for other commits by this committer
mail/dovecot-pigeonhole: add missing doc file

Obtained from:	upstream github
29 Jun 2018 16:36:04
Original commit files touched by this commit  0.5.2
ler search for other commits by this committer
mail/dovecot, mail/dovecot-pigeonhole: upgrade to 2.3.2 and 0.5.2 respectively

dovecot changelog:
v2.3.2 is mainly a bugfix release. It contains all the changes in v2.2.36, as
well as a bunch of other fixes (mainly for v2.3-only bugs). Binary packages are
already in

* old-stats plugin: Don't temporarily enable PR_SET_DUMPABLE while
   opening /proc/self/io. This may still cause security problems if the
   process is ptrace()d at the same time. Instead, open it while still
   running as root.
+ doveadm: Added mailbox cache decision&remove commands. See
   doveadm-mailbox(1) man page for details.
+ doveadm: Added rebuild attachments command for rebuilding
   $HasAttachment or $HasNoAttachment flags for matching mails. See
   doveadm-rebuild(1) man page for details.
+ cassandra: Use fallback_consistency on more types of errors
(Only the first 15 lines of the commit message are shown above View all of this commit message)
22 Apr 2018 21:35:38
Original commit files touched by this commit  0.5.1
dbaio search for other commits by this committer
Add mail/dovecot22 (v2.2.35) and mail/dovecot-pigeonhole04 (v0.4.23)

This brings back Dovecot 2.2.35 to the tree because there is an issue
with version 2.3.1 and replication in some scenarios [1].

Keep this version until this problem gets fixed upstream.

1 -

Approved by:	adamw (maintainer of mail/dovecot)
Approved by:	ler   (maintainer of mail/dovecot-pigeonhole)
01 Apr 2018 17:10:31
Original commit files touched by this commit  0.5.1
adamw search for other commits by this committer
Update dovecot to 2.3.1, and dovecot-pigeonhole to 0.5.1

This is a very large update, and it WILL require manually
updating existing conf files, though the changes to do so
are not extensive. Updating instructions are here:

Additionally there are various cleanups to the dovecot rc(8)
script, and support for a LUA scripting interface for dovecot.

The decision was made not to import the 2.3.0 or releases
here, due to the number of existing bugs. ler and I have been
dogfooding it for months now, and all of the bugs I've encountered
are fixed in this 2.3.1 release.

This update is the result of many, many hours of collborative work
between ler and me, and the input of many people on the freebsd-ports
20 Mar 2018 00:25:28
Original commit files touched by this commit  0.4.23
ler search for other commits by this committer
mail/dovecot-pigeonhole: upgrade to 0.4.23:
- editheader extension: Corrected the stream position calculations
  performed while making the modified message available as a stream.
  Pigeonhole Sieve crashed in LMTP with an assertion panic when the
  Sieve editheader extension was used before the message was redirected.
  Experiments indicate that the problem occurred only with LMTP and that
  LDA is not affected.
- fileinto extension: Fix assert panic occurring when fileinto is used
  without being listed in the require line, while the copy extension is
  listed there. This is a very old bug.
- imapsieve plugin: Do not log an error for messages that disappear
  concurrently while applying Sieve scripts. This is a further
  improvement on the imapsieve fix in the previous release (which fixed
  a panic). This event is now logged as a debug message.
19 Mar 2018 15:06:05
Original commit files touched by this commit  0.4.22_1
adamw search for other commits by this committer
Update dovecot to 2.2.35, and bump pigeonhole

    - charset_alias: compile fails with Solaris Studio, reported by
      John Woods.
    - Fix local name handling in v2.2.34 SNI code, bug found by cPanel.
    - imapc: Don't try to add mails to index if they already exist there.
    - imapc: If email is modified in istream_opened hook, mail size isn't
    - lib-dcrypt: When reading encrypted data, more data would not be
      read if buffer was not consumed causing panic or hang.
    - notify: When notify plugin is used and transaction commit fails in
      dsync, crash occurs.
    - sdbox: When delivering to a mailbox that is over quota, temp files
      are not cleaned up when saving or copying fails.
02 Mar 2018 18:05:18
Original commit files touched by this commit  0.4.22
ler search for other commits by this committer
mail/dovecot-pigeonhole: upgrade to v0.4.22.

- Fixed filesystem path handling problem: sieve plugin could have
  assert-crashed with specific path lengths with: "Panic: file
  realpath.c: line 86 (path_normalize): assertion failed: (npath_pos +
  1 < npath + asize)".
- Sieve extprograms plugin: Large output from "execute" command crashed
  delivery. Fixed buffering issue in code that handles output from the
  external program.
- editheader extension: Extensively reworked the low-level
  implementation of adding and removing headers. This solves a few
  integer arithmetic problems reported by Clang runtime checks, but also
  improves code structure and reliability in general.
- imapsieve: Fix assert crash occurring when selected messages are
  expunged concurrently by the time Sieve filter is to be applied.
- imap4flags extension: Fix binary byte-code corruption occurring when
  the setflag, addflag, or removeflag command's flag-list is a variable.
- enotify extension: mailto method: Fixed parsing of mailto URI with
  only a header part.
- enotify extension: mailto method: Make sure "From:" header is set to a
  usable address and not "(null)".
- Fixed writing address headers to outgoing messages. It sometimes
  erroneously applied another layer of MIME header encoding.
28 Feb 2018 23:12:44
Original commit files touched by this commit  0.4.21_2
adamw search for other commits by this committer
Update dovecot to 2.2.34, and bump pigeonhole.

 * CVE-2017-15130: TLS SNI config lookups may lead to excessive
   memory usage, causing imap-login/pop3-login VSZ limit to be reached
   and the process restarted. This happens only if Dovecot config has
   local_name { } or local { } configuration blocks and attacker uses
   randomly generated SNI servernames.
 * CVE-2017-14461: Parsing invalid email addresses may cause a crash or
   leak memory contents to attacker. For example, these memory contents
   might contain parts of an email from another user if the same imap
   process is reused for multiple users. First discovered by Aleksandar
   Nikolic of Cisco Talos. Independently also discovered by "flxflndy"
   via HackerOne.
 * CVE-2017-15132: Aborted SASL authentication leaks memory in login
(Only the first 15 lines of the commit message are shown above View all of this commit message)
20 Oct 2017 15:00:36
Original commit files touched by this commit  0.4.21_1
ler search for other commits by this committer
mail/dovecot: update to

One more patch release with some fixes:

- doveadm: Fix crash in proxying (or dsync replication) if remote is
  running older than v2.2.33
- auth: Fix memory leak in %{ldap_dn}
- dict-sql: Fix data types to work correctly with Cassandra

bump dovecot-pigeonhole PORTREVISION as well.
12 Oct 2017 21:16:04
Original commit files touched by this commit  0.4.21
ler search for other commits by this committer
mail/dovecot-pigeonhole: update to 0.4.21.

Changelog v0.4.21:

* redirect action: Always set the X-Sieve-Redirected-From header to
  sieve_user_email if configured. Before, it would use the envelope
  recipient instead if available, which makes no sense if the primary
  e-mail address is available.
+ vacation extension: Allow ignoring the envelope sender while composing
  the "To:" header for the reply. Normally, the "To:" header is composed
  from the address found in the "Sender", "Resent-From" or "From"
  headers that is equal to the envelope sender. If none is then found,
  the bare envelope sender is used. This change adds a new setting
  "sieve_vacation_to_header_ignore_envelope". With this setting enabled,
  the "To:" header is always composed from those headers in the source
(Only the first 15 lines of the commit message are shown above View all of this commit message)
11 Oct 2017 17:15:52
Original commit files touched by this commit  0.4.20_3
ler search for other commits by this committer
mail/dovecot: upgrade to

- dovecot-lda was logging to stderr instead of to the log file.
10 Oct 2017 15:45:35
Original commit files touched by this commit  0.4.20_2
adamw search for other commits by this committer
Update dovecot to 2.2.33, and bump pigeonhole.

* doveadm director commands wait for the changes to be visible in the
  whole ring before they return. This is especially useful in testing.
* Environments listed in import_environment setting are now set or
  preserved when executing standalone commands (e.g. doveadm)

+ doveadm proxy: Support proxying logs. Previously the logs were
  visible only in the backend's logs.
+ Added %{if}, see
+ Added a new notify_status plugin, which can be used to update dict
  with current status of a mailbox when it changes. See
+ Mailbox list index can be disabled for a namespace by appending
  ":LISTINDEX=" to location setting.
(Only the first 15 lines of the commit message are shown above View all of this commit message)
10 Sep 2017 20:55:39
Original commit files touched by this commit  0.4.20_1
gerald search for other commits by this committer
Bump PORTREVISION for ports depending on the canonical version of GCC
(via Mk/ and lang/gcc) which has moved from
GCC 5.4 to GCC 6.4 under most circumstances.

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

PR:		219275
27 Aug 2017 14:34:22
Original commit files touched by this commit  0.4.20
ler search for other commits by this committer
mail/dovecot-pigeonhole: upgrade to 0.4.20.
Changelog v0.4.20:

+ Made the retention period for redirect duplicate identifiers
  configurable. For accounts that perform many redirects, the lda-dupes
  database could grow to impractical sizes. Changed the default
  retention period from 24 to 12 hours.
- sieve-filter: Fixed memory leak: forgot to clean up script binary at
  end of execution. Normally, this would merely be an inconsequential
  memory leak. However, when the script comes from an LDAP storage, this
  would cause io leak warnings.
- managesieve-login: Fixed handling of AUTHENTICATE command. A second
  authenticate command would be parsed wrong. This problem was caused by
  changes in the previous release.
- LDA Sieve plugin: Fixed minor memory leak caused by not cleaning up
  the sieve_discard script.
24 Aug 2017 16:49:23
Original commit files touched by this commit  0.4.19_2
adamw search for other commits by this committer
Update dovecot to 2.2.32, and bump pigeonhole.

* imapc: Info-level line is logged every time when successfully
  connected to the remote server. This includes local/remote IP/port,
  which can be useful for matching against external logs.
* config: Log a warning if plugin { key=no } is used explicitly.
  v2.3 will support "no" properly in plugin settings, but for now
  any value at all for a boolean plugin setting is treated as "yes",
  even if it's written as explicit "no". This change will now warn
  that it most likely won't work as intended.

+ Various optimizations to avoid accessing files/directories when it's
  not necessary. Especially avoid accessing mail root directories when
  INDEX directories point to a different filesystem.
+ mail_location can now include ITERINDEX parameter. This tells Dovecot
(Only the first 15 lines of the commit message are shown above View all of this commit message)
07 Aug 2017 21:44:01
Original commit files touched by this commit  0.4.19_1
adamw search for other commits by this committer
Rename dovecot2/dovecot2-pigeonhole to dovecot/dovecot-pigeonhole.

It might be necessary to manually remove and reinstall the package under
the new name.

Discussed with:	ler

Number of commits found: 18

User Login
Create account

Servers and bandwidth provided by
New York Internet, SuperNews, and RootBSD

This site
What is FreshPorts?
About the authors
How big is it?
The latest upgrade!

Enter Keywords:

Latest Vulnerabilities
slurm-wlmJun 16
nodeJun 15
node6Jun 15
node8Jun 15
libgcrypt*Jun 14
password-storeJun 14
asterisk13*Jun 12
libresslJun 12
libressl-develJun 12
opensslJun 12
openssl-develJun 12
asterisk13Jun 11
asterisk15Jun 11
asterisk15Jun 11
chromiumJun 10

14 vulnerabilities affecting 116 ports have been reported in the past 14 days

* - modified, not new

All vulnerabilities

Last updated:
2018-06-16 15:43:50

Deleted ports
Sanity Test Failures

NEW Graphs (Javascript)

Calculated hourly:
Port count 34425
Broken 82
Deprecated 102
Ignore 334
Forbidden 2
Restricted 160
Vulnerable 32
Expired 12
Set to expire 89
Interactive 0
new 24 hours 12
new 48 hours20
new 7 days43
new fortnight88
new month15986

Servers and bandwidth provided by
New York Internet, SuperNews, and RootBSD
Valid HTML, CSS, and RSS.
Copyright © 2000-2018 Dan Langille. All rights reserved.