[Dovecot] sieve addflag has stopped working
Dovecot 1.2.10 in Debian, using Dovecot sieve.
I have a sieve script, generated by Ingo, that's supposed to mark spam messages as "Seen" and file them into the Junk folder. In part it reads:
require ["regex", "body", "imapflags", "fileinto"];
if exists "X-Spam-Flag" { addflag "\\Seen"; fileinto "Junk"; removeflag "\\Seen"; stop; }
This has been working correctly for a long time, but since about 2 weeks ago now, the "Seen" flag isn't being set, although the messages are still being filed into the Junk folder. In two different mail clients, new messages in the Junk folder show up as being unread. Looking at the mail files that hold those messages, the file names don't have an "S" flag appended, while older messages all have the "S" and show up as already seen in the mail clients.
I don't believe that I've updated dovecot recently, so I'm not sure why the behavior has changed. Note that I do have
plugin { sieve_extensions = +imapflags }
in dovecot.conf. I know that imapflags is deprecated, but it is still supposed to be supported. Unfortunately ingo1 doesn't support imap4flags yet (http://bugs.horde.org/ticket/8784).
I'm trying to find log information that might indicate an error, but I'm not finding much. /var/log/exim4/mainlog just says:
2010-02-15 14:22:14 1Nh6WK-000200-8z <xxx@xxx.xxx>: deliver_pipe transport output: deliver(andrex): Info: sieve: msgid=<ad58db2a42700ec0e5c924c8882d48c2@yourmailnews.net>: stored mail into mailbox 'Junk'
The wiki says that there should be a log file ~/.dovecot.sieve.log, but there isn't one, which I guess means there are no error messages.
Output of dovecot -a is below. Any ideas why the Seen flag isn't being set any more?
Thanks, Andrew.
# dovecot -a
# 1.2.10: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.26 x86_64 Debian squeeze/sid
base_dir: /var/run/dovecot
log_path:
info_log_path:
log_timestamp: %Y-%m-%d %H:%M:%S
syslog_facility: mail
protocols: imap imaps managesieve
listen(default): localhost
listen(imap): localhost
listen(managesieve): localhost:2000
ssl_listen: imap
ssl: yes
ssl_ca_file:
ssl_cert_file: /etc/dovecot/helium-imaps.cert.pem
ssl_key_file: /etc/dovecot/helium-imaps.key.pem
ssl_key_password:
ssl_parameters_regenerate: 0
ssl_cipher_list:
ssl_cert_username_field: commonName
ssl_verify_client_cert: no
disable_plaintext_auth: yes
verbose_ssl: no
shutdown_clients: yes
nfs_check: yes
version_ignore: no
login_dir: /var/run/dovecot/login
login_executable(default): /usr/lib/dovecot/imap-login
login_executable(imap): /usr/lib/dovecot/imap-login
login_executable(managesieve): /usr/lib/dovecot/managesieve-login
login_user: dovecot
login_greeting: Dovecot ready.
login_log_format_elements: user=<%u> method=%m rip=%r lip=%l %c
login_log_format: %$: %s
login_process_per_connection: yes
login_chroot: yes
login_trusted_networks:
login_process_size: 64
login_processes_count: 3
login_max_processes_count: 128
login_max_connections: 256
valid_chroot_dirs:
mail_chroot:
max_mail_processes: 512
mail_max_userip_connections: 10
verbose_proctitle: no
first_valid_uid: 500
last_valid_uid: 0
first_valid_gid: 1
last_valid_gid: 0
mail_access_groups:
mail_privileged_group: mail
mail_uid:
mail_gid:
mail_location: maildir:~/.mail
mail_cache_fields:
mail_never_cache_fields: imap.envelope
mail_cache_min_mail_count: 0
mailbox_idle_check_interval: 30
mail_debug: no
mail_full_filesystem_access: yes
mail_max_keyword_length: 50
mail_save_crlf: no
mmap_disable: yes
dotlock_use_excl: yes
fsync_disable: no
mail_nfs_storage: no
mail_nfs_index: no
mailbox_list_index_disable: yes
lock_method: fcntl
maildir_stat_dirs: no
maildir_copy_with_hardlinks: yes
maildir_copy_preserve_filename: no
maildir_very_dirty_syncs: no
mbox_read_locks: fcntl
mbox_write_locks: fcntl dotlock
mbox_lock_timeout: 300
mbox_dotlock_change_timeout: 120
mbox_min_index_size: 0
mbox_dirty_syncs: yes
mbox_very_dirty_syncs: no
mbox_lazy_writes: yes
dbox_rotate_size: 2048
dbox_rotate_min_size: 16
dbox_rotate_days: 1
mail_drop_priv_before_exec: no
mail_executable(default): /usr/lib/dovecot/imap
mail_executable(imap): /usr/lib/dovecot/imap
mail_executable(managesieve): /usr/lib/dovecot/managesieve
mail_process_size: 256
mail_plugins:
mail_plugin_dir(default): /usr/lib/dovecot/modules/imap
mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap
mail_plugin_dir(managesieve): /usr/lib/dovecot/modules/managesieve
mail_log_prefix: %Us(%u):
mail_log_max_lines_per_sec: 10
imap_max_line_length: 65536
imap_capability:
imap_client_workarounds:
imap_logout_format: bytes=%i/%o
imap_id_send:
imap_id_log:
imap_idle_notify_interval: 120
pop3_no_flag_updates: no
pop3_enable_last: no
pop3_reuse_xuidl: no
pop3_save_uidl: no
pop3_lock_session: no
pop3_uidl_format: %08Xu%08Xv
pop3_client_workarounds:
pop3_logout_format: top=%t/%p, retr=%r/%b, del=%d/%m, size=%s
dict_db_config:
dict_process_count: 1
managesieve_max_line_length: 65536
managesieve_logout_format: bytes=%i/%o
managesieve_implementation_string: dovecot
lda:
postmaster_address: postmaster@xxx.xxx
mail_plugin_dir: /usr/lib/dovecot/modules/lda
mail_plugins: sieve
log_path: /dev/stderr
log_timestamp:
auth default:
mechanisms: plain
realms:
default_realm:
cache_size: 0
cache_ttl: 3600
cache_negative_ttl: 3600
executable: /usr/lib/dovecot/dovecot-auth
user: root
chroot:
username_chars:
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
username_translation:
username_format:
master_user_separator:
anonymous_username: anonymous
krb5_keytab:
gssapi_hostname:
winbind_helper_path: /usr/bin/ntlm_auth
failure_delay: 2
verbose: no
debug: no
debug_passwords: no
ssl_require_client_cert: no
ssl_username_from_cert: no
use_winbind: no
count: 1
worker_max_count: 30
process_size: 256
passdb:
driver: pam
args:
deny: no
pass: no
master: no
userdb:
driver: passwd
args:
plugin:
sieve_extensions: +imapflags
sieve_dir: ~/.mail/sieve
Andrew Schulman wrote:
plugin { sieve_extensions = +imapflags }
in dovecot.conf. I know that imapflags is deprecated, but it is still supposed to be supported. Unfortunately ingo1 doesn't support imap4flags yet (http://bugs.horde.org/ticket/8784).
This is a known problem and it has been fixed in the repository:
http://hg.rename-it.nl/dovecot-1.2-sieve/rev/a890258aa5a9
This bug was actually present for quite some time. It was however shadowed by another bug that was fixed in the latest release, exposing this one.
You can apply the above change as a patch to fix the issue during the time that there is no new release.
Regards,
Stephan.
Andrew Schulman wrote:
plugin { sieve_extensions = +imapflags }
in dovecot.conf. I know that imapflags is deprecated, but it is still supposed to be supported. Unfortunately ingo1 doesn't support imap4flags yet (http://bugs.horde.org/ticket/8784).
This is a known problem and it has been fixed in the repository:
http://hg.rename-it.nl/dovecot-1.2-sieve/rev/a890258aa5a9
This bug was actually present for quite some time. It was however shadowed by another bug that was fixed in the latest release, exposing this one.
That's kind of funny.
You can apply the above change as a patch to fix the issue during the time that there is no new release.
OK, thanks. I'll file a bug report with Debian and see if they'll release a patched version.
Thanks, Andrew.
participants (2)
-
Andrew Schulman
-
Stephan Bosch