>> (2017/12/23 @ 1051 EST): Stephan Bosch said, in 2.0K: << > Op 12/22/2017 om 3:43 AM schreef Adam Weinberger: > >> On 21 Dec, 2017, at 14:37, Stephan Bosch <step...@rename-it.nl> wrote: > >> > >> Op 12/19/2017 om 8:41 AM schreef Adam Weinberger: > >>> I'm getting a behaviour with pigeonhole that I wasn't expecting. Am I > >>> misunderstanding the design? > >>> > >>> I run my messages through a vnd.dovecot.filter. It's essentially this: > >>> > >>> filter "spam_filter"; > >>> if spamheaders { > >>> fileinto "spam"; > >>> stop; > >>> } > >>> > >>> Mail stored in the spam folder is the filtered version, but the > >>> implicit-keep message is the original, unfiltered message. If I add an > >>> explicit `keep;` to the end, it stores the filtered version into my > >>> inbox. > >>> > >>> Based on the filter RFC, I was expecting the implicit keep to retain > >>> the filtered version. Am I misinterpreting the spec? > >> > >> I did a quick test, and I am not seeing any problems. > >> > >> However, what is that spamheaders test in your script? > > > > Hi Stephan, > > > > The block looks like this: > > > > ### BOGOFILTER > > filter "bogofilter_filter"; > > > > if header :contains "X-Bogosity" [ > > "Spam, tests=bogofilter, spamicity=1.00", > > "Spam, tests=bogofilter, spamicity=0.99" > > ] { > > fileinto "spam/totally"; > > stop; > > } > > elsif header :contains "X-Bogosity" "Spam," { > > fileinto "spam/probably"; > > stop; > > } > > elsif header :contains "X-Bogosity" "Unsure," { > > fileinto "spam/maybe"; > > stop; > > } > > > > Bogofilter adds an X-Bogosity header. With the block as it is, when it > > hits the implicit keep the message has no X-Bogosity header. When I > > add 'keep;' to the end, it does have the header. > > > > If it's just me, that's fine, as it's incredibly easy to work around. > > What version is this? Please provide full config from `dovecot -n`. > > Regards, > > Stephan. > >> end of "Re: Pigeonhole implicit keep gets unfiltered message" from Stephan >> Bosch <<
It's dovecot 2.2.33.2, and pigeonhole 0.4.21. Here's my dovecot -n output: # 2.2.33.2 (d6601f4ec): /usr/local/etc/dovecot/dovecot.conf # Pigeonhole version 0.4.21 (92477967) # OS: FreeBSD 11.1-RELEASE-p6 amd64 nullfs auth_mechanisms = plain login first_valid_gid = 1021 first_valid_uid = 1021 last_valid_gid = 1022 last_valid_uid = 1022 listen = imap.jail.apnoea.adamw.org mail_location = mdbox:/mail/%u/mail mail_plugins = " zlib virtual fts fts_lucene" mail_prefetch_count = 5 mailbox_list_index = yes mdbox_rotate_size = 10 M namespace { location = virtual:/mail/%u/mail/virtual prefix = virtual/ separator = / } namespace inbox { inbox = yes location = mailbox Drafts { special_use = \Drafts } mailbox FreeBSD { autoexpunge = 17 weeks } mailbox FreeBSD/TodaysCommits { autoexpunge = 2 days } mailbox FreeBSD/automation { autoexpunge = 1 days } mailbox FreeBSD/portmgr { autoexpunge = 26 weeks } mailbox FreeBSD/ports { autoexpunge = 12 weeks } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { autoexpunge = 30 days special_use = \Trash } mailbox spam/probably { autoexpunge = 30 days } mailbox spam/totally { autoexpunge = 5 days } mailbox spamtrap { autoexpunge = 30 days } mailbox uberspam { autoexpunge = 30 days } prefix = separator = / } passdb { args = scheme=BLF-CRYPT username_format=%u /path/to/userdb.passwd driver = passwd-file } plugin { fts = lucene fts_autoindex = yes fts_autoindex_max_recent_msgs = 25 fts_lucene = whitespace_chars=@ sieve = file:/scripts/sieve/%u.sieve;bindir=/mail/%u/sieve/ sieve_extensions = +vnd.dovecot.pipe +vnd.dovecot.filter +editheader sieve_filter_bin_dir = /scripts/sieve/filter sieve_pipe_bin_dir = /scripts/sieve/pipe sieve_plugins = sieve_extprograms } protocols = imap lmtp service imap-login { inet_listener imaps { port = 0 } } service lmtp { inet_listener lmtp { port = 24 } } ssl = required ssl_cert = </path/to/fullchain.pem ssl_cipher_list = TLSv1.2+AEAD:!aNULL ssl_dh_parameters_length = 4096 ssl_key = # hidden, use -P to show it ssl_prefer_server_ciphers = yes ssl_protocols = TLSv1.2 userdb { args = username_format=%u /path/to/userdb.passwd driver = passwd-file } protocol lmtp { mail_plugins = " zlib virtual fts fts_lucene sieve" } protocol lda { mail_plugins = " zlib virtual fts fts_lucene sieve" } protocol imap { mail_max_userip_connections = 20 mail_plugins = " zlib virtual fts fts_lucene imap_zlib" } -- Adam Weinberger ad...@adamw.org http://www.adamw.org