Re: Sieve filter imapflags with "flagvar" not working
Op 5-3-2018 om 11:47 schreef Konstantinos Tsakiltzidis: tried also with `require "variables"` doesn't seem to work, the flag is not added at all What is your full script? Just adding flags to a variable is not going to do anything. Either leave out the variable: setflag "spam"; In which case it applies implicitly to subsequent fileinto and (implicit) keep. Or use the "${flagvar}" variable in a fileinto or keep command: fileinto :flags "${flagvar}" "Mailbox"; Or keep :flags "${flagvar}"; Regards, Stephan. On 03/03/2018 09:54 AM, Stephan Bosch wrote: Op 3/2/2018 om 6:09 PM schreef Konstantinos Tsakiltzidis: Following the rfc5232, Sieve Email Filtering: Imap4flags Extension the following filter doesn't work when the `"flagvar"` part is added require "imap4flags"; if header :contains "X-Spam" "Yes" { setflag "flagvar" "spam"; } You should be getting an error logged somewhere. Using a flag variable is not allowed, unless the variables extension is enabled. So, you must add `require "variables";' for this script to make sense at all. Regards, Stephan. removing the `"flagvar"` part works as expected # 2.2.33.2 (d6601f4ec): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.21 (92477967) # OS: Linux 4.9.0-6-amd64 x86_64 Debian 9.1 ext4 lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes mail_debug = yes mail_location = maildir:/var/vmail/%d/%n managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext namespace inbox { inbox = yes location = mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = separator = . subscriptions = yes type = private } namespace modulus { list = children location = maildir:/var/vmail/%d/Public:INDEXPVT=~/public/indexes mailbox admin { auto = subscribe } mailbox support { auto = subscribe } mailbox telecoms { auto = subscribe } prefix = Public. separator = . subscriptions = yes type = public } passdb { driver = pam } plugin { acl = vfile mail_log_events = flag_change mail_log_fields = box flags uid sieve = ~/dovecot.sieve sieve_before = /var/vmail/global.sieve sieve_dir = ~/sieve sieve_global_dir = /var/vmail/sieve } protocols = " imap lmtp sieve lmtp" service auth { unix_listener /var/spool/postfix/private/auth { group = mail mode = 0666 user = postfix } unix_listener auth-userdb { group = mail mode = 0666 user = vmail } } service imap-login { inet_listener imap { port = 0 } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } service managesieve-login { inet_listener sieve { port = 4190 } process_min_avail = 0 service_count = 1 vsz_limit = 64 M } service managesieve { process_limit = 1024 } ssl = required ssl_cert =
Re: Sieve filter imapflags with "flagvar" not working
tried also with `require "variables"` doesn't seem to work, the flag is not added at all On 03/03/2018 09:54 AM, Stephan Bosch wrote: Op 3/2/2018 om 6:09 PM schreef Konstantinos Tsakiltzidis: Following the rfc5232, Sieve Email Filtering: Imap4flags Extension the following filter doesn't work when the `"flagvar"` part is added require "imap4flags"; if header :contains "X-Spam" "Yes" { setflag "flagvar" "spam"; } You should be getting an error logged somewhere. Using a flag variable is not allowed, unless the variables extension is enabled. So, you must add `require "variables";' for this script to make sense at all. Regards, Stephan. removing the `"flagvar"` part works as expected # 2.2.33.2 (d6601f4ec): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.21 (92477967) # OS: Linux 4.9.0-6-amd64 x86_64 Debian 9.1 ext4 lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes mail_debug = yes mail_location = maildir:/var/vmail/%d/%n managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext namespace inbox { inbox = yes location = mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = separator = . subscriptions = yes type = private } namespace modulus { list = children location = maildir:/var/vmail/%d/Public:INDEXPVT=~/public/indexes mailbox admin { auto = subscribe } mailbox support { auto = subscribe } mailbox telecoms { auto = subscribe } prefix = Public. separator = . subscriptions = yes type = public } passdb { driver = pam } plugin { acl = vfile mail_log_events = flag_change mail_log_fields = box flags uid sieve = ~/dovecot.sieve sieve_before = /var/vmail/global.sieve sieve_dir = ~/sieve sieve_global_dir = /var/vmail/sieve } protocols = " imap lmtp sieve lmtp" service auth { unix_listener /var/spool/postfix/private/auth { group = mail mode = 0666 user = postfix } unix_listener auth-userdb { group = mail mode = 0666 user = vmail } } service imap-login { inet_listener imap { port = 0 } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } service managesieve-login { inet_listener sieve { port = 4190 } process_min_avail = 0 service_count = 1 vsz_limit = 64 M } service managesieve { process_limit = 1024 } ssl = required ssl_cert =
Re: Sieve filter imapflags with "flagvar" not working
Op 3/2/2018 om 6:09 PM schreef Konstantinos Tsakiltzidis: > Following the rfc5232, Sieve Email Filtering: Imap4flags Extension > > the following filter doesn't work when the `"flagvar"` part is added > > require "imap4flags"; > > if header :contains "X-Spam" "Yes" { > > setflag "flagvar" "spam"; > > } You should be getting an error logged somewhere. Using a flag variable is not allowed, unless the variables extension is enabled. So, you must add `require "variables";' for this script to make sense at all. Regards, Stephan. > removing the `"flagvar"` part works as expected > > > # 2.2.33.2 (d6601f4ec): /etc/dovecot/dovecot.conf > # Pigeonhole version 0.4.21 (92477967) > # OS: Linux 4.9.0-6-amd64 x86_64 Debian 9.1 ext4 > lda_mailbox_autocreate = yes > lda_mailbox_autosubscribe = yes > mail_debug = yes > mail_location = maildir:/var/vmail/%d/%n > managesieve_notify_capability = mailto > managesieve_sieve_capability = fileinto reject envelope > encoded-character vacation subaddress comparator-i;ascii-numeric > relational regex imap4flags copy include variables body enotify > environment mailbox date index ihave duplicate mime foreverypart > extracttext > namespace inbox { > inbox = yes > location = > mailbox Drafts { > special_use = \Drafts > } > mailbox Junk { > special_use = \Junk > } > mailbox Sent { > special_use = \Sent > } > mailbox "Sent Messages" { > special_use = \Sent > } > mailbox Trash { > special_use = \Trash > } > prefix = > separator = . > subscriptions = yes > type = private > } > namespace modulus { > list = children > location = maildir:/var/vmail/%d/Public:INDEXPVT=~/public/indexes > mailbox admin { > auto = subscribe > } > mailbox support { > auto = subscribe > } > mailbox telecoms { > auto = subscribe > } > prefix = Public. > separator = . > subscriptions = yes > type = public > } > passdb { > driver = pam > } > plugin { > acl = vfile > mail_log_events = flag_change > mail_log_fields = box flags uid > sieve = ~/dovecot.sieve > sieve_before = /var/vmail/global.sieve > sieve_dir = ~/sieve > sieve_global_dir = /var/vmail/sieve > } > protocols = " imap lmtp sieve lmtp" > service auth { > unix_listener /var/spool/postfix/private/auth { > group = mail > mode = 0666 > user = postfix > } > unix_listener auth-userdb { > group = mail > mode = 0666 > user = vmail > } > } > service imap-login { > inet_listener imap { > port = 0 > } > } > service lmtp { > unix_listener /var/spool/postfix/private/dovecot-lmtp { > group = postfix > mode = 0600 > user = postfix > } > } > service managesieve-login { > inet_listener sieve { > port = 4190 > } > process_min_avail = 0 > service_count = 1 > vsz_limit = 64 M > } > service managesieve { > process_limit = 1024 > } > ssl = required > ssl_cert = ssl_key = # hidden, use -P to show it > userdb { > driver = passwd > } > protocol imap { > mail_max_userip_connections = 20 > mail_plugins = " mail_log notify acl" > passdb { > args = /etc/dovecot/dovecot-ldap-users.conf.ext > driver = ldap > name = > } > userdb { > args = uid=vmail gid=mail home=/var/vmail/%d/%n > driver = static > name = > } > } > protocol lda { > mail_plugins = " sieve acl" > userdb { > args = /etc/dovecot/dovecot-ldap-users.conf.ext > driver = ldap > name = > override_fields = uid=vmail gid=mail home=/var/vmail/%d/%n > } > userdb { > args = /etc/dovecot/dovecot-ldap-groups.conf.ext > driver = ldap > name = > override_fields = uid=vmail gid=mail home=/var/vmail/%d/Public/.%n > mail=maildir:/var/vmail/%d/Public/.%n > } > } > protocol lmtp { > mail_plugins = " sieve acl" > postmaster_address = postmas...@modulus.gr > userdb { > args = /etc/dovecot/dovecot-ldap-users.conf.ext > driver = ldap > name = > override_fields = uid=vmail gid=mail home=/var/vmail/%d/%n > } > userdb { > args = /etc/dovecot/dovecot-ldap-groups.conf.ext > driver = ldap > name = > override_fields = uid=vmail gid=mail home=/var/vmail/%d/Public/.%n > mail=maildir:/var/vmail/%d/Public/.%n > } > } > protocol doveadm { > userdb { > args = /etc/dovecot/dovecot-ldap-users.conf.ext > driver = ldap > name = > override_fields = uid=vmail gid=mail home=/var/vmail/%d/%n > } > userdb { > args = /etc/dovecot/dovecot-ldap-groups.conf.ext > driver = ldap > name = > override_fields = uid=vmail gid=mail home=/var/vmail/%d/Public/.%n > mail=maildir:/var/vmail/%d/Public/.%n > } > } > protocol sieve { > mail_max_userip_connections = 10 > managesieve_implementation_string = Dovecot Pigeonhole > managesieve_logout_format = bytes=%i/%o > managesieve_max_line_length = 65536 > passdb { > args = /etc/dovecot/dovecot-ldap-users.conf.ext > driver = ldap > name = > } > userdb { > args = uid=vm
Re: Sieve filter imapflags with "flagvar" not working
It is: - imap4flags extension: Fix binary byte-code corruption occurring when the setflag, addflag, or removeflag command's flag-list is a variable. -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 214-642-9640 E-Mail: larry...@gmail.com US Mail: 5708 Sabbia Drive, Round Rock, TX 78665-2106 From: dovecot on behalf of Aki Tuomi Date: Friday, March 2, 2018 at 12:07 PM To: Larry Rosenman , Konstantinos Tsakiltzidis , Dovecot List Subject: Re: Sieve filter imapflags with "flagvar" not working its quite likely fixed in 0.4.22 --- Aki Tuomi Dovecot oy Original message From: Larry Rosenman Date: 02/03/2018 19:55 (GMT+02:00) To: Konstantinos Tsakiltzidis , dovecot@dovecot.org Subject: Re: Sieve filter imapflags with "flagvar" not working I don't remember if this was fixed in 0.4.21 or not, but it's definitely fixed in 0.5.0, which requires dovecot 2.3. -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 214-642-9640 E-Mail: larry...@gmail.com US Mail: 5708 Sabbia Drive, Round Rock, TX 78665-2106 On 3/2/18, 11:42 AM, "dovecot on behalf of Konstantinos Tsakiltzidis" wrote: well i posted the doveconf... # Pigeonhole version 0.4.21 (92477967)
Re: Sieve filter imapflags with "flagvar" not working
its quite likely fixed in 0.4.22 ---Aki TuomiDovecot oy Original message From: Larry Rosenman Date: 02/03/2018 19:55 (GMT+02:00) To: Konstantinos Tsakiltzidis , dovecot@dovecot.org Subject: Re: Sieve filter imapflags with "flagvar" not working I don't remember if this was fixed in 0.4.21 or not, but it's definitely fixed in 0.5.0, which requires dovecot 2.3. -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 214-642-9640 E-Mail: larry...@gmail.com US Mail: 5708 Sabbia Drive, Round Rock, TX 78665-2106 On 3/2/18, 11:42 AM, "dovecot on behalf of Konstantinos Tsakiltzidis" wrote: well i posted the doveconf... # Pigeonhole version 0.4.21 (92477967)
Re: Sieve filter imapflags with "flagvar" not working
I don't remember if this was fixed in 0.4.21 or not, but it's definitely fixed in 0.5.0, which requires dovecot 2.3. -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 214-642-9640 E-Mail: larry...@gmail.com US Mail: 5708 Sabbia Drive, Round Rock, TX 78665-2106 On 3/2/18, 11:42 AM, "dovecot on behalf of Konstantinos Tsakiltzidis" wrote: well i posted the doveconf... # Pigeonhole version 0.4.21 (92477967)
Re: Sieve filter imapflags with "flagvar" not working
well i posted the doveconf... # Pigeonhole version 0.4.21 (92477967)
Re: Sieve filter imapflags with "flagvar" not working
That's the DOVECOT version, what's the PIGEONHOLE version? -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 214-642-9640 E-Mail: larry...@gmail.com US Mail: 5708 Sabbia Drive, Round Rock, TX 78665-2106 On 3/2/18, 11:22 AM, "Konstantinos Tsakiltzidis" wrote: debian package Version: 1:2.2.33.2-1~bpo9+1 On 03/02/2018 07:13 PM, Larry Rosenman wrote: > What version of pigeonhole are you using? This was fixed recently. > >
Re: Sieve filter imapflags with "flagvar" not working
debian package Version: 1:2.2.33.2-1~bpo9+1 On 03/02/2018 07:13 PM, Larry Rosenman wrote: What version of pigeonhole are you using? This was fixed recently.
Re: Sieve filter imapflags with "flagvar" not working
What version of pigeonhole are you using? This was fixed recently. -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 214-642-9640 E-Mail: larry...@gmail.com US Mail: 5708 Sabbia Drive, Round Rock, TX 78665-2106 On 3/2/18, 11:09 AM, "dovecot on behalf of Konstantinos Tsakiltzidis" wrote: Following the rfc5232, Sieve Email Filtering: Imap4flags Extension the following filter doesn't work when the `"flagvar"` part is added require "imap4flags"; if header :contains "X-Spam" "Yes" { setflag "flagvar" "spam"; } removing the `"flagvar"` part works as expected # 2.2.33.2 (d6601f4ec): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.21 (92477967) # OS: Linux 4.9.0-6-amd64 x86_64 Debian 9.1 ext4 lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes mail_debug = yes mail_location = maildir:/var/vmail/%d/%n managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext namespace inbox { inbox = yes location = mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = separator = . subscriptions = yes type = private } namespace modulus { list = children location = maildir:/var/vmail/%d/Public:INDEXPVT=~/public/indexes mailbox admin { auto = subscribe } mailbox support { auto = subscribe } mailbox telecoms { auto = subscribe } prefix = Public. separator = . subscriptions = yes type = public } passdb { driver = pam } plugin { acl = vfile mail_log_events = flag_change mail_log_fields = box flags uid sieve = ~/dovecot.sieve sieve_before = /var/vmail/global.sieve sieve_dir = ~/sieve sieve_global_dir = /var/vmail/sieve } protocols = " imap lmtp sieve lmtp" service auth { unix_listener /var/spool/postfix/private/auth { group = mail mode = 0666 user = postfix } unix_listener auth-userdb { group = mail mode = 0666 user = vmail } } service imap-login { inet_listener imap { port = 0 } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } service managesieve-login { inet_listener sieve { port = 4190 } process_min_avail = 0 service_count = 1 vsz_limit = 64 M } service managesieve { process_limit = 1024 } ssl = required ssl_cert =