# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= dovecot-pigeonhole VERSION= 2.4.2 KEYWORDS= mail VARIANTS= std SDESC[std]= Sieve implementation for Dovecot HOMEPAGE= https://pigeonhole.dovecot.org/ CONTACT= nobody DOWNLOAD_GROUPS= main SITES[main]= https://pigeonhole.dovecot.org/releases/2.4/ DISTFILE[1]= dovecot-pigeonhole-2.4.2.tar.gz:main DF_INDEX= 1 SPKGS[std]= set primary dev man docs OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none BUILD_DEPENDS= krb5:dev:std dovecot:dev:std openldap:dev:std BUILDRUN_DEPENDS= dovecot:primary:std krb5:primary:std USES= gmake libtool ssl mbsdfix DISTNAME= dovecot-pigeonhole-2.4.2 LICENSE= LGPL21:primary LICENSE_TERMS= primary:{{WRKSRC}}/COPYING LICENSE_FILE= LGPL21:{{WRKSRC}}/COPYING.LGPL LICENSE_SCHEME= solo FPC_EQUIVALENT= mail/dovecot-pigeonhole MUST_CONFIGURE= gnu CONFIGURE_ARGS= --docdir={{STD_DOCDIR}} --with-dovecot="{{LOCALBASE}}/lib/dovecot" --with-managesieve INSTALL_TARGET= install-strip INSTALL_REQ_TOOLCHAIN= yes SOVERSION= 0.0.0 LDFLAGS= -Wl,-rpath,{{LOCALBASE}}/lib/dovecot VAR_OPSYS[netbsd]= CFLAGS=-D_NETBSD_SOURCE [FILE:375:descriptions/desc.primary] Pigeonhole is the name of the project that adds support for the Sieve language (RFC 5228) and the ManageSieve protocol (RFC 5804) to the Dovecot Secure IMAP Server. The Pigeonhole project provides Sieve support as a plugin to Dovecot's Local Delivery Agent (LDA). The ManageSieve protocol is provided is an additional service, next to Dovecot's own POP3 and IMAP services. [FILE:110:distinfo] c2f90cf2a0154f94842ce0d8cafc81f282d0f98dfc3b51c3b7c2385c53316f97 2071623 dovecot-pigeonhole-2.4.2.tar.gz [FILE:556:manifests/plist.primary] bin/ sieve-dump sieve-filter sieve-test sievec lib/dovecot/ lib90_sieve_plugin.so lib95_imap_filter_sieve_plugin.so lib95_imap_sieve_plugin.so libdovecot-managesieve.so.%%SOVERSION%% libdovecot-sieve.so.%%SOMAJOR%% libdovecot-sieve.so.%%SOVERSION%% lib/dovecot/doveadm/lib10_doveadm_sieve_plugin.so lib/dovecot/settings/ libmanagesieve_login_settings.so libmanagesieve_settings.so libpigeonhole_settings.so lib/dovecot/sieve/ lib90_sieve_extprograms_plugin.so lib90_sieve_imapsieve_plugin.so libexec/dovecot/ managesieve managesieve-login [FILE:1628:manifests/plist.dev] include/dovecot/sieve/ edit-mail.h mail-raw.h managesieve-arg.h managesieve-parser.h managesieve-protocol.h managesieve-quote.h managesieve-url.h pigeonhole-config.h pigeonhole-version.h rfc2822.h sieve-actions.h sieve-address-parts.h sieve-address-source.h sieve-address.h sieve-ast.h sieve-binary-dumper.h sieve-binary-private.h sieve-binary.h sieve-code-dumper.h sieve-code.h sieve-commands.h sieve-common.h sieve-comparators.h sieve-config.h sieve-dump.h sieve-error-private.h sieve-error.h sieve-execute.h sieve-ext-copy.h sieve-ext-enotify.h sieve-ext-environment.h sieve-ext-imap4flags.h sieve-ext-mailbox.h sieve-ext-variables.h sieve-extensions.h sieve-generator.h sieve-interpreter.h sieve-lexer.h sieve-limits.h sieve-match-types.h sieve-match.h sieve-message.h sieve-objects.h sieve-parser.h sieve-plugins.h sieve-result.h sieve-runtime-trace.h sieve-runtime.h sieve-script-private.h sieve-script.h sieve-settings.h sieve-smtp.h sieve-storage-private.h sieve-storage-settings.h sieve-storage.h sieve-stringlist.h sieve-types.h sieve-validator.h sieve.h urn.h lib/dovecot/ lib90_sieve_plugin.a lib95_imap_filter_sieve_plugin.a lib95_imap_sieve_plugin.a libdovecot-managesieve.a libdovecot-managesieve.so libdovecot-managesieve.so.0 libdovecot-sieve.a libdovecot-sieve.so lib/dovecot/doveadm/lib10_doveadm_sieve_plugin.a lib/dovecot/settings/ libmanagesieve_login_settings.a libmanagesieve_settings.a libpigeonhole_settings.a lib/dovecot/sieve/ lib90_sieve_extprograms_plugin.a lib90_sieve_imapsieve_plugin.a share/aclocal/dovecot-pigeonhole.m4 [FILE:125:manifests/plist.man] share/man/man1/ doveadm-sieve.1 sieve-dump.1 sieve-filter.1 sieve-test.1 sievec.1 sieved.1 share/man/man7/pigeonhole.7 [FILE:483:manifests/plist.docs] share/doc/dovecot/example-config/sieve-ldap.conf share/doc/dovecot/example-config/conf.d/ 20-managesieve.conf 90-sieve-extprograms.conf 90-sieve.conf share/doc/dovecot/sieve/extensions/ duplicate.txt editheader.txt include.txt spamtest-virustest.txt vacation.txt vnd.dovecot.environment.txt vnd.dovecot.report.txt share/doc/dovecot/sieve/locations/ dict.txt file.txt ldap.txt share/doc/dovecot/sieve/plugins/ imap_filter_sieve.txt imapsieve.txt sieve_extprograms.txt [FILE:1893:patches/patch-doc_plugins_imap__filter__sieve.txt] --- doc/plugins/imap_filter_sieve.txt.orig 2025-10-29 07:00:30 UTC +++ doc/plugins/imap_filter_sieve.txt @@ -50,3 +50,55 @@ plugin { sieve_global = /usr/lib/dovecot/sieve-global.d } +IMAP FILTER Sieve plugin for Pigeonhole + +Relevant specifications +======================= + + doc/rfc/draft-bosch-imap-filter-sieve-00.txt + +Introduction +============ + +Normally, Sieve filters can either be applied at initial mail delivery or +triggered by certain events in the Internet Message Access Protocol (IMAPSIEVE; +RFC 6785). The user can configure which Sieve scripts to run at these instances, +but it is not possible to trigger the execution of Sieve scripts manually. +However, this could be very useful; e.g, to test new Sieve rules and to +re-filter messages that were erroneously handled by an earlier version of the +Sieve scripts involved. + +Pigeonhole provides the imap_filter_sieve plugin, which provides a vendor- +defined IMAP extension called "FILTER=SIEVE". This adds a new "FILTER" command +that allows applying a mail filter (a Sieve script) on a set of messages that +match the specified searching criteria. + +This plugin is experimental and the specification is likely to change. + +Configuration +============= + +The IMAP FILTER Sieve plugin is activated by adding it to the mail_plugins +setting for the imap protocol: + +protocol imap { + mail_plugins = $mail_plugins imap_filter_sieve +} + +Currently, no other settings specific to this plugin are defined. It uses the +normal configuration settings used by the LDA Sieve plugin at delivery. + +The sieve_before and sieve_after scripts are currently ignored by this plugin. + +Example +------- + +protocol imap { + # Space separated list of plugins to load (default is global mail_plugins). + mail_plugins = $mail_plugins imap_filter_sieve +} + +plugin { + sieve_global = /usr/lib/dovecot/sieve-global.d +} + [FILE:550:files/messages-primary.ucl] primary: { type: "install" message: <