Martin Štefany
2015-Feb-12 14:47 UTC
Dovecot dsync not replicating ".dovecot.sieve -> .sieve/managesieve.sieve" / setactive
Hello, I've ran into problem with Dovecot and dsync replication. Everything works perfectly, including replication of sieve scripts, except fact that if user activates the 'managesieve' ruleset (I'm using currently Roundcubemail) on "mail1" host, it wouldn't be activated on "mail2" host, by creating symlink ".dovecot.sieve -> .sieve/managesieve.sieve". I've also tried to use 'replication_full_sync_interval', but symlink is not created anyway. I found 2 references already for this problem, but none came to any conclusion: http://dovecot.org/pipermail/dovecot/2014-June/096650.html http://www.dovecot.org/list/dovecot/2014-September/097857.html Here is the output from 'doveconf -n' from both hosts for reference :: mail1 :: # 2.2.10: /etc/dovecot/dovecot.conf # OS: Linux 3.10.0-123.20.1.el7.x86_64 x86_64 CentOS Linux release 7.0.1406 (Core) auth_cache_size = 5 M auth_debug = yes auth_default_realm = example.com auth_gssapi_hostname = mail.example.com auth_krb5_keytab = /etc/dovecot/dovecot.keytab auth_mechanisms = plain gssapi auth_realms = example.com auth_verbose = yes doveadm_password = <secret> lmtp_save_to_detail_mailbox = yes mail_debug = yes mail_location = maildir:~/Maildir mail_plugins = " fts fts_lucene notify quota replication virtual zlib" 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 ihave namespace inbox { inbox = yes location mailbox All { auto = create special_use = \All } mailbox Archives { auto = subscribe special_use = \Archive } mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox Junk { auto = subscribe special_use = \Junk } mailbox Sent { auto = subscribe special_use = \Sent } mailbox Templates { auto = subscribe } mailbox Trash { auto = subscribe special_use = \Trash } prefix separator = / type = private } passdb { args = /etc/dovecot/dovecot-ldap-passdb.conf.ext driver = ldap } plugin { fts = lucene fts_autoindex = yes fts_lucene = whitespace_chars=@. mail_replica = tcps:mail2.example.com:10993 quota = maildir:User quota quota_rule = *:storage=4GB quota_rule2 = Trash:storage=+50MB sieve = ~/.dovecot.sieve sieve_after = /srv/sieve/after.d/ sieve_before = /srv/sieve/before.d/ sieve_default = /srv/sieve/default.d/dovecot.sieve sieve_dir = ~/.sieve sieve_global_dir = /srv/sieve/ zlib_save = gz zlib_save_level = 9 } postmaster_address = postmaster at example.com protocols = imap lmtp sieve service aggregator { fifo_listener replication-notify-fifo { group = vmail mode = 0660 user = vmail } unix_listener replication-notify { group = vmail mode = 0660 user = vmail } } service auth { unix_listener /var/spool/postfix/private/dovecot-auth { group = postfix mode = 0660 user = postfix } } service doveadm { inet_listener { port = 10993 ssl = yes } } service imap-login { inet_listener imaps { port = 0 } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0660 user = postfix } } service managesieve-login { inet_listener sieve { port = 4190 } service_count = 1 } service replicator { process_min_avail = 1 unix_listener replicator-doveadm { group = vmail mode = 0660 user = vmail } } ssl_ca = </etc/ipa/ca.crt ssl_cert = </etc/pki/tls/certs/dovecot.pem ssl_cipher_list = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA ssl_client_ca_file = /etc/ipa/ca.crt ssl_client_cert = </etc/pki/tls/certs/dovecot.pem ssl_client_key = </etc/pki/tls/private/dovecot.key ssl_key = </etc/pki/tls/private/dovecot.key ssl_parameters_regenerate = 1 weeks ssl_prefer_server_ciphers = yes ssl_protocols = !SSLv2 !SSLv3 userdb { args = /etc/dovecot/dovecot-ldap-userdb.conf.ext driver = ldap override_fields = gid=vmail home=/srv/vmail/example.com/%n } verbose_ssl = yes protocol lmtp { mail_plugins = " fts fts_lucene notify quota replication virtual zlib sieve" } protocol imap { mail_plugins = " fts fts_lucene notify quota replication virtual zlib imap_quota imap_zlib" } mail2 :: # 2.2.10: /etc/dovecot/dovecot.conf # OS: Linux 3.10.0-123.20.1.el7.x86_64 x86_64 CentOS Linux release 7.0.1406 (Core) auth_cache_size = 5 M auth_debug = yes auth_default_realm = example.com auth_gssapi_hostname = mail.example.com auth_krb5_keytab = /etc/dovecot/dovecot.keytab auth_mechanisms = plain gssapi auth_realms = example.com auth_verbose = yes doveadm_password = <secret> lmtp_save_to_detail_mailbox = yes mail_debug = yes mail_location = maildir:~/Maildir mail_plugins = " fts fts_lucene notify quota replication virtual zlib" 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 ihave namespace inbox { inbox = yes location mailbox All { auto = create special_use = \All } mailbox Archives { auto = subscribe special_use = \Archive } mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox Junk { auto = subscribe special_use = \Junk } mailbox Sent { auto = subscribe special_use = \Sent } mailbox Templates { auto = subscribe } mailbox Trash { auto = subscribe special_use = \Trash } prefix separator = / type = private } passdb { args = /etc/dovecot/dovecot-ldap-passdb.conf.ext driver = ldap } plugin { fts = lucene fts_autoindex = yes fts_lucene = whitespace_chars=@. mail_replica = tcps:mail1.example.com:10993 quota = maildir:User quota quota_rule = *:storage=4GB quota_rule2 = Trash:storage=+50MB sieve = ~/.dovecot.sieve sieve_after = /srv/sieve/after.d/ sieve_before = /srv/sieve/before.d/ sieve_default = /srv/sieve/default.d/dovecot.sieve sieve_dir = ~/.sieve sieve_global_dir = /srv/sieve/ zlib_save = gz zlib_save_level = 9 } postmaster_address = postmaster at example.com protocols = imap lmtp sieve service aggregator { fifo_listener replication-notify-fifo { group = vmail mode = 0660 user = vmail } unix_listener replication-notify { group = vmail mode = 0660 user = vmail } } service auth { unix_listener /var/spool/postfix/private/dovecot-auth { group = postfix mode = 0660 user = postfix } } service doveadm { inet_listener { port = 10993 ssl = yes } } service imap-login { inet_listener imaps { port = 0 } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0660 user = postfix } } service managesieve-login { inet_listener sieve { port = 4190 } service_count = 1 } service replicator { process_min_avail = 1 unix_listener replicator-doveadm { group = vmail mode = 0660 user = vmail } } ssl_ca = </etc/ipa/ca.crt ssl_cert = </etc/pki/tls/certs/dovecot.pem ssl_cipher_list = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA ssl_client_ca_file = /etc/ipa/ca.crt ssl_client_cert = </etc/pki/tls/certs/dovecot.pem ssl_client_key = </etc/pki/tls/private/dovecot.key ssl_key = </etc/pki/tls/private/dovecot.key ssl_parameters_regenerate = 1 weeks ssl_prefer_server_ciphers = yes ssl_protocols = !SSLv2 !SSLv3 userdb { args = /etc/dovecot/dovecot-ldap-userdb.conf.ext driver = ldap override_fields = gid=vmail home=/srv/vmail/example.com/%n } verbose_ssl = yes protocol lmtp { mail_plugins = " fts fts_lucene notify quota replication virtual zlib sieve" } protocol imap { mail_plugins = " fts fts_lucene notify quota replication virtual zlib imap_quota imap_zlib" } And reference directory structure :: [root at mail1 ~]# tree -a /srv /srv ??? sieve ??? ??? after.d ??? ??? before.d ??? ??? ??? spam.sieve ??? ??? ??? spam.svbin ??? ??? default.d ??? vmail ??? example.com ??? <user> ??? .dovecot.lda-dupes ??? .dovecot.sieve -> .sieve/managesieve.sieve ??? .dovecot.svbin ??? Maildir ??? ??? .All ??? ??? ??? cur ??? ??? ??? dovecot.index.log ??? ??? ??? dovecot-uidlist ??? ??? ??? maildirfolder ??? ??? ??? new ??? ??? ??? tmp ??? ??? .Archives ??? ??? ??? cur ??? ??? ??? dovecot.index.log ??? ??? ??? dovecot-uidlist ??? ??? ??? maildirfolder ??? ??? ??? new ??? ??? ??? tmp ??? ??? cur ??? ??? dovecot.index.cache ??? ??? dovecot.index.log ??? ??? dovecot.index.thread ??? ??? dovecot-keywords ??? ??? dovecot.mailbox.log ??? ??? dovecot-uidlist ??? ??? dovecot-uidvalidity ??? ??? dovecot-uidvalidity.54dbb6f0 ??? ??? .Drafts ??? ??? ??? cur ??? ??? ??? dovecot.index.cache ??? ??? ??? dovecot.index.log ??? ??? ??? dovecot-uidlist ??? ??? ??? maildirfolder ??? ??? ??? new ??? ??? ??? tmp ??? ??? .Junk ??? ??? ??? cur ??? ??? ??? dovecot.index.log ??? ??? ??? dovecot-uidlist ??? ??? ??? maildirfolder ??? ??? ??? new ??? ??? ??? tmp ??? ??? lucene-indexes ??? ??? ??? _k.cfs ??? ??? ??? segments_17 ??? ??? ??? segments.gen ??? ??? maildirfolder ??? ??? maildirsize ??? ??? new ??? ??? .Sent ??? ??? ??? cur ??? ??? ??? dovecot.index.cache ??? ??? ??? dovecot.index.log ??? ??? ??? dovecot-uidlist ??? ??? ??? maildirfolder ??? ??? ??? new ??? ??? ??? tmp ??? ??? subscriptions ??? ??? .Templates ??? ??? ??? cur ??? ??? ??? dovecot.index.log ??? ??? ??? dovecot-uidlist ??? ??? ??? maildirfolder ??? ??? ??? new ??? ??? ??? tmp ??? ??? tmp ??? ??? .Trash ??? ??? cur ??? ??? dovecot.index.log ??? ??? dovecot-uidlist ??? ??? maildirfolder ??? ??? new ??? ??? tmp ??? .sieve ??? managesieve.sieve ??? tmp [root at mail2 ~]# tree -a /srv /srv ??? sieve ??? ??? after.d ??? ??? before.d ??? ??? ??? spam.sieve ??? ??? ??? spam.svbin ??? ??? default.d ??? vmail ??? example.com ??? <user> ??? Maildir ??? ??? .All ??? ??? ??? cur ??? ??? ??? dovecot.index.log ??? ??? ??? dovecot-uidlist ??? ??? ??? maildirfolder ??? ??? ??? new ??? ??? ??? tmp ??? ??? .Archives ??? ??? ??? cur ??? ??? ??? dovecot.index.log ??? ??? ??? dovecot-uidlist ??? ??? ??? maildirfolder ??? ??? ??? new ??? ??? ??? tmp ??? ??? cur ??? ??? dovecot.index.cache ??? ??? dovecot.index.log ??? ??? dovecot-keywords ??? ??? dovecot.mailbox.log ??? ??? dovecot-uidlist ??? ??? dovecot-uidvalidity ??? ??? dovecot-uidvalidity.54dbb6f5 ??? ??? .Drafts ??? ??? ??? cur ??? ??? ??? dovecot.index.cache ??? ??? ??? dovecot.index.log ??? ??? ??? dovecot-uidlist ??? ??? ??? maildirfolder ??? ??? ??? new ??? ??? ??? tmp ??? ??? .Junk ??? ??? ??? cur ??? ??? ??? dovecot.index.log ??? ??? ??? dovecot-uidlist ??? ??? ??? maildirfolder ??? ??? ??? new ??? ??? ??? tmp ??? ??? lucene-indexes ??? ??? ??? _k.cfs ??? ??? ??? segments_17 ??? ??? ??? segments.gen ??? ??? maildirfolder ??? ??? maildirsize ??? ??? new ??? ??? .Sent ??? ??? ??? cur ??? ??? ??? dovecot.index.cache ??? ??? ??? dovecot.index.log ??? ??? ??? dovecot-uidlist ??? ??? ??? maildirfolder ??? ??? ??? new ??? ??? ??? tmp ??? ??? subscriptions ??? ??? .Templates ??? ??? ??? cur ??? ??? ??? dovecot.index.log ??? ??? ??? dovecot-uidlist ??? ??? ??? maildirfolder ??? ??? ??? new ??? ??? ??? tmp ??? ??? tmp ??? ??? .Trash ??? ??? cur ??? ??? dovecot.index.log ??? ??? dovecot-uidlist ??? ??? maildirfolder ??? ??? new ??? ??? tmp ??? .sieve ??? managesieve.sieve ??? tmp Thanks a lot for Dovecot anyway! ;) Martin
Claus
2015-Feb-12 17:20 UTC
Dovecot dsync not replicating ".dovecot.sieve -> .sieve/managesieve.sieve" / setactive
Am 12.02.2015 um 15:47 schrieb Martin ?tefany:> Hello, > > I've ran into problem with Dovecot and dsync replication. Everything > works perfectly, including replication of sieve scripts, except fact > that if user activates the 'managesieve' ruleset (I'm using currently > Roundcubemail) on "mail1" host, it wouldn't be activated on "mail2" > host, by creating symlink ".dovecot.sieve -> > .sieve/managesieve.sieve". I've also tried to use > 'replication_full_sync_interval', but symlink is not created anyway. > > I found 2 references already for this problem, but none came to any > conclusion: > > http://dovecot.org/pipermail/dovecot/2014-June/096650.html > http://www.dovecot.org/list/dovecot/2014-September/097857.html > > > Here is the output from 'doveconf -n' from both hosts for reference :: > > mail1 :: > # 2.2.10: /etc/dovecot/dovecot.conf > # OS: Linux 3.10.0-123.20.1.el7.x86_64 x86_64 CentOS Linux release > 7.0.1406 (Core) > auth_cache_size = 5 M > auth_debug = yes > auth_default_realm = example.com > auth_gssapi_hostname = mail.example.com > auth_krb5_keytab = /etc/dovecot/dovecot.keytab > auth_mechanisms = plain gssapi > auth_realms = example.com > auth_verbose = yes > doveadm_password = <secret> > lmtp_save_to_detail_mailbox = yes > mail_debug = yes > mail_location = maildir:~/Maildir > mail_plugins = " fts fts_lucene notify quota replication virtual zlib" > 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 ihave > namespace inbox { > inbox = yes > location > mailbox All { > auto = create > special_use = \All > } > mailbox Archives { > auto = subscribe > special_use = \Archive > } > mailbox Drafts { > auto = subscribe > special_use = \Drafts > } > mailbox Junk { > auto = subscribe > special_use = \Junk > } > mailbox Sent { > auto = subscribe > special_use = \Sent > } > mailbox Templates { > auto = subscribe > } > mailbox Trash { > auto = subscribe > special_use = \Trash > } > prefix > separator = / > type = private > } > passdb { > args = /etc/dovecot/dovecot-ldap-passdb.conf.ext > driver = ldap > } > plugin { > fts = lucene > fts_autoindex = yes > fts_lucene = whitespace_chars=@. > mail_replica = tcps:mail2.example.com:10993 > quota = maildir:User quota > quota_rule = *:storage=4GB > quota_rule2 = Trash:storage=+50MB > sieve = ~/.dovecot.sieve > sieve_after = /srv/sieve/after.d/ > sieve_before = /srv/sieve/before.d/ > sieve_default = /srv/sieve/default.d/dovecot.sieve > sieve_dir = ~/.sieve > sieve_global_dir = /srv/sieve/ > zlib_save = gz > zlib_save_level = 9 > } > postmaster_address = postmaster at example.com > protocols = imap lmtp sieve > service aggregator { > fifo_listener replication-notify-fifo { > group = vmail > mode = 0660 > user = vmail > } > unix_listener replication-notify { > group = vmail > mode = 0660 > user = vmail > } > } > service auth { > unix_listener /var/spool/postfix/private/dovecot-auth { > group = postfix > mode = 0660 > user = postfix > } > } > service doveadm { > inet_listener { > port = 10993 > ssl = yes > } > } > service imap-login { > inet_listener imaps { > port = 0 > } > } > service lmtp { > unix_listener /var/spool/postfix/private/dovecot-lmtp { > group = postfix > mode = 0660 > user = postfix > } > } > service managesieve-login { > inet_listener sieve { > port = 4190 > } > service_count = 1 > } > service replicator { > process_min_avail = 1 > unix_listener replicator-doveadm { > group = vmail > mode = 0660 > user = vmail > } > } > ssl_ca = </etc/ipa/ca.crt > ssl_cert = </etc/pki/tls/certs/dovecot.pem > ssl_cipher_list = > EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA > ssl_client_ca_file = /etc/ipa/ca.crt > ssl_client_cert = </etc/pki/tls/certs/dovecot.pem > ssl_client_key = </etc/pki/tls/private/dovecot.key > ssl_key = </etc/pki/tls/private/dovecot.key > ssl_parameters_regenerate = 1 weeks > ssl_prefer_server_ciphers = yes > ssl_protocols = !SSLv2 !SSLv3 > userdb { > args = /etc/dovecot/dovecot-ldap-userdb.conf.ext > driver = ldap > override_fields = gid=vmail home=/srv/vmail/example.com/%n > } > verbose_ssl = yes > protocol lmtp { > mail_plugins = " fts fts_lucene notify quota replication virtual > zlib sieve" > } > protocol imap { > mail_plugins = " fts fts_lucene notify quota replication virtual > zlib imap_quota imap_zlib" > } > > > mail2 :: > # 2.2.10: /etc/dovecot/dovecot.conf > # OS: Linux 3.10.0-123.20.1.el7.x86_64 x86_64 CentOS Linux release > 7.0.1406 (Core) > auth_cache_size = 5 M > auth_debug = yes > auth_default_realm = example.com > auth_gssapi_hostname = mail.example.com > auth_krb5_keytab = /etc/dovecot/dovecot.keytab > auth_mechanisms = plain gssapi > auth_realms = example.com > auth_verbose = yes > doveadm_password = <secret> > lmtp_save_to_detail_mailbox = yes > mail_debug = yes > mail_location = maildir:~/Maildir > mail_plugins = " fts fts_lucene notify quota replication virtual zlib" > 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 ihave > namespace inbox { > inbox = yes > location > mailbox All { > auto = create > special_use = \All > } > mailbox Archives { > auto = subscribe > special_use = \Archive > } > mailbox Drafts { > auto = subscribe > special_use = \Drafts > } > mailbox Junk { > auto = subscribe > special_use = \Junk > } > mailbox Sent { > auto = subscribe > special_use = \Sent > } > mailbox Templates { > auto = subscribe > } > mailbox Trash { > auto = subscribe > special_use = \Trash > } > prefix > separator = / > type = private > } > passdb { > args = /etc/dovecot/dovecot-ldap-passdb.conf.ext > driver = ldap > } > plugin { > fts = lucene > fts_autoindex = yes > fts_lucene = whitespace_chars=@. > mail_replica = tcps:mail1.example.com:10993 > quota = maildir:User quota > quota_rule = *:storage=4GB > quota_rule2 = Trash:storage=+50MB > sieve = ~/.dovecot.sieve > sieve_after = /srv/sieve/after.d/ > sieve_before = /srv/sieve/before.d/ > sieve_default = /srv/sieve/default.d/dovecot.sieve > sieve_dir = ~/.sieve > sieve_global_dir = /srv/sieve/ > zlib_save = gz > zlib_save_level = 9 > } > postmaster_address = postmaster at example.com > protocols = imap lmtp sieve > service aggregator { > fifo_listener replication-notify-fifo { > group = vmail > mode = 0660 > user = vmail > } > unix_listener replication-notify { > group = vmail > mode = 0660 > user = vmail > } > } > service auth { > unix_listener /var/spool/postfix/private/dovecot-auth { > group = postfix > mode = 0660 > user = postfix > } > } > service doveadm { > inet_listener { > port = 10993 > ssl = yes > } > } > service imap-login { > inet_listener imaps { > port = 0 > } > } > service lmtp { > unix_listener /var/spool/postfix/private/dovecot-lmtp { > group = postfix > mode = 0660 > user = postfix > } > } > service managesieve-login { > inet_listener sieve { > port = 4190 > } > service_count = 1 > } > service replicator { > process_min_avail = 1 > unix_listener replicator-doveadm { > group = vmail > mode = 0660 > user = vmail > } > } > ssl_ca = </etc/ipa/ca.crt > ssl_cert = </etc/pki/tls/certs/dovecot.pem > ssl_cipher_list = > EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA > ssl_client_ca_file = /etc/ipa/ca.crt > ssl_client_cert = </etc/pki/tls/certs/dovecot.pem > ssl_client_key = </etc/pki/tls/private/dovecot.key > ssl_key = </etc/pki/tls/private/dovecot.key > ssl_parameters_regenerate = 1 weeks > ssl_prefer_server_ciphers = yes > ssl_protocols = !SSLv2 !SSLv3 > userdb { > args = /etc/dovecot/dovecot-ldap-userdb.conf.ext > driver = ldap > override_fields = gid=vmail home=/srv/vmail/example.com/%n > } > verbose_ssl = yes > protocol lmtp { > mail_plugins = " fts fts_lucene notify quota replication virtual > zlib sieve" > } > protocol imap { > mail_plugins = " fts fts_lucene notify quota replication virtual > zlib imap_quota imap_zlib" > } > > > > And reference directory structure :: > [root at mail1 ~]# tree -a /srv > /srv > ??? sieve > ? ??? after.d > ? ??? before.d > ? ? ??? spam.sieve > ? ? ??? spam.svbin > ? ??? default.d > ??? vmail > ??? example.com > ??? <user> > ??? .dovecot.lda-dupes > ??? .dovecot.sieve -> .sieve/managesieve.sieve > ??? .dovecot.svbin > ??? Maildir > ? ??? .All > ? ? ??? cur > ? ? ??? dovecot.index.log > ? ? ??? dovecot-uidlist > ? ? ??? maildirfolder > ? ? ??? new > ? ? ??? tmp > ? ??? .Archives > ? ? ??? cur > ? ? ??? dovecot.index.log > ? ? ??? dovecot-uidlist > ? ? ??? maildirfolder > ? ? ??? new > ? ? ??? tmp > ? ??? cur > ? ??? dovecot.index.cache > ? ??? dovecot.index.log > ? ??? dovecot.index.thread > ? ??? dovecot-keywords > ? ??? dovecot.mailbox.log > ? ??? dovecot-uidlist > ? ??? dovecot-uidvalidity > ? ??? dovecot-uidvalidity.54dbb6f0 > ? ??? .Drafts > ? ? ??? cur > ? ? ??? dovecot.index.cache > ? ? ??? dovecot.index.log > ? ? ??? dovecot-uidlist > ? ? ??? maildirfolder > ? ? ??? new > ? ? ??? tmp > ? ??? .Junk > ? ? ??? cur > ? ? ??? dovecot.index.log > ? ? ??? dovecot-uidlist > ? ? ??? maildirfolder > ? ? ??? new > ? ? ??? tmp > ? ??? lucene-indexes > ? ? ??? _k.cfs > ? ? ??? segments_17 > ? ? ??? segments.gen > ? ??? maildirfolder > ? ??? maildirsize > ? ??? new > ? ??? .Sent > ? ? ??? cur > ? ? ??? dovecot.index.cache > ? ? ??? dovecot.index.log > ? ? ??? dovecot-uidlist > ? ? ??? maildirfolder > ? ? ??? new > ? ? ??? tmp > ? ??? subscriptions > ? ??? .Templates > ? ? ??? cur > ? ? ??? dovecot.index.log > ? ? ??? dovecot-uidlist > ? ? ??? maildirfolder > ? ? ??? new > ? ? ??? tmp > ? ??? tmp > ? ??? .Trash > ? ??? cur > ? ??? dovecot.index.log > ? ??? dovecot-uidlist > ? ??? maildirfolder > ? ??? new > ? ??? tmp > ??? .sieve > ??? managesieve.sieve > ??? tmp > > > [root at mail2 ~]# tree -a /srv > /srv > ??? sieve > ? ??? after.d > ? ??? before.d > ? ? ??? spam.sieve > ? ? ??? spam.svbin > ? ??? default.d > ??? vmail > ??? example.com > ??? <user> > ??? Maildir > ? ??? .All > ? ? ??? cur > ? ? ??? dovecot.index.log > ? ? ??? dovecot-uidlist > ? ? ??? maildirfolder > ? ? ??? new > ? ? ??? tmp > ? ??? .Archives > ? ? ??? cur > ? ? ??? dovecot.index.log > ? ? ??? dovecot-uidlist > ? ? ??? maildirfolder > ? ? ??? new > ? ? ??? tmp > ? ??? cur > ? ??? dovecot.index.cache > ? ??? dovecot.index.log > ? ??? dovecot-keywords > ? ??? dovecot.mailbox.log > ? ??? dovecot-uidlist > ? ??? dovecot-uidvalidity > ? ??? dovecot-uidvalidity.54dbb6f5 > ? ??? .Drafts > ? ? ??? cur > ? ? ??? dovecot.index.cache > ? ? ??? dovecot.index.log > ? ? ??? dovecot-uidlist > ? ? ??? maildirfolder > ? ? ??? new > ? ? ??? tmp > ? ??? .Junk > ? ? ??? cur > ? ? ??? dovecot.index.log > ? ? ??? dovecot-uidlist > ? ? ??? maildirfolder > ? ? ??? new > ? ? ??? tmp > ? ??? lucene-indexes > ? ? ??? _k.cfs > ? ? ??? segments_17 > ? ? ??? segments.gen > ? ??? maildirfolder > ? ??? maildirsize > ? ??? new > ? ??? .Sent > ? ? ??? cur > ? ? ??? dovecot.index.cache > ? ? ??? dovecot.index.log > ? ? ??? dovecot-uidlist > ? ? ??? maildirfolder > ? ? ??? new > ? ? ??? tmp > ? ??? subscriptions > ? ??? .Templates > ? ? ??? cur > ? ? ??? dovecot.index.log > ? ? ??? dovecot-uidlist > ? ? ??? maildirfolder > ? ? ??? new > ? ? ??? tmp > ? ??? tmp > ? ??? .Trash > ? ??? cur > ? ??? dovecot.index.log > ? ??? dovecot-uidlist > ? ??? maildirfolder > ? ??? new > ? ??? tmp > ??? .sieve > ??? managesieve.sieve > ??? tmp > > Thanks a lot for Dovecot anyway! ;) > > MartinHi Martin, the problem was fixed in pigeonhole-0.4.4. I recommend to use dovecot-2.2.15 with newest pigeonhole-0.4.6. Claus
Martin Štefany
2015-Feb-12 20:30 UTC
Dovecot dsync not replicating ".dovecot.sieve -> .sieve/managesieve.sieve" / setactive
Hello Claus, I've installed dovecot-2.2.15-3.fc20.x86_64.rpm + dovecot-pigeonhole-2.2.15-3.fc20.x86_64.rpm from Fedora guys and it works like a charm. Thank you! Martin D?a 12.2.2015 18:20 Claus nap?sal(a):> Am 12.02.2015 um 15:47 schrieb Martin ?tefany: >> Hello, >> >> I've ran into problem with Dovecot and dsync replication. Everything >> works perfectly, including replication of sieve scripts, except fact >> that if user activates the 'managesieve' ruleset (I'm using currently >> Roundcubemail) on "mail1" host, it wouldn't be activated on "mail2" >> host, by creating symlink ".dovecot.sieve -> >> .sieve/managesieve.sieve". I've also tried to use >> 'replication_full_sync_interval', but symlink is not created anyway. >> >> I found 2 references already for this problem, but none came to any >> conclusion: >> >> http://dovecot.org/pipermail/dovecot/2014-June/096650.html >> http://www.dovecot.org/list/dovecot/2014-September/097857.html >> >> >> Here is the output from 'doveconf -n' from both hosts for reference :: >> >> mail1 :: >> # 2.2.10: /etc/dovecot/dovecot.conf >> # OS: Linux 3.10.0-123.20.1.el7.x86_64 x86_64 CentOS Linux release >> 7.0.1406 (Core) >> auth_cache_size = 5 M >> auth_debug = yes >> auth_default_realm = example.com >> auth_gssapi_hostname = mail.example.com >> auth_krb5_keytab = /etc/dovecot/dovecot.keytab >> auth_mechanisms = plain gssapi >> auth_realms = example.com >> auth_verbose = yes >> doveadm_password = <secret> >> lmtp_save_to_detail_mailbox = yes >> mail_debug = yes >> mail_location = maildir:~/Maildir >> mail_plugins = " fts fts_lucene notify quota replication virtual zlib" >> 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 ihave >> namespace inbox { >> inbox = yes >> location >> mailbox All { >> auto = create >> special_use = \All >> } >> mailbox Archives { >> auto = subscribe >> special_use = \Archive >> } >> mailbox Drafts { >> auto = subscribe >> special_use = \Drafts >> } >> mailbox Junk { >> auto = subscribe >> special_use = \Junk >> } >> mailbox Sent { >> auto = subscribe >> special_use = \Sent >> } >> mailbox Templates { >> auto = subscribe >> } >> mailbox Trash { >> auto = subscribe >> special_use = \Trash >> } >> prefix >> separator = / >> type = private >> } >> passdb { >> args = /etc/dovecot/dovecot-ldap-passdb.conf.ext >> driver = ldap >> } >> plugin { >> fts = lucene >> fts_autoindex = yes >> fts_lucene = whitespace_chars=@. >> mail_replica = tcps:mail2.example.com:10993 >> quota = maildir:User quota >> quota_rule = *:storage=4GB >> quota_rule2 = Trash:storage=+50MB >> sieve = ~/.dovecot.sieve >> sieve_after = /srv/sieve/after.d/ >> sieve_before = /srv/sieve/before.d/ >> sieve_default = /srv/sieve/default.d/dovecot.sieve >> sieve_dir = ~/.sieve >> sieve_global_dir = /srv/sieve/ >> zlib_save = gz >> zlib_save_level = 9 >> } >> postmaster_address = postmaster at example.com >> protocols = imap lmtp sieve >> service aggregator { >> fifo_listener replication-notify-fifo { >> group = vmail >> mode = 0660 >> user = vmail >> } >> unix_listener replication-notify { >> group = vmail >> mode = 0660 >> user = vmail >> } >> } >> service auth { >> unix_listener /var/spool/postfix/private/dovecot-auth { >> group = postfix >> mode = 0660 >> user = postfix >> } >> } >> service doveadm { >> inet_listener { >> port = 10993 >> ssl = yes >> } >> } >> service imap-login { >> inet_listener imaps { >> port = 0 >> } >> } >> service lmtp { >> unix_listener /var/spool/postfix/private/dovecot-lmtp { >> group = postfix >> mode = 0660 >> user = postfix >> } >> } >> service managesieve-login { >> inet_listener sieve { >> port = 4190 >> } >> service_count = 1 >> } >> service replicator { >> process_min_avail = 1 >> unix_listener replicator-doveadm { >> group = vmail >> mode = 0660 >> user = vmail >> } >> } >> ssl_ca = </etc/ipa/ca.crt >> ssl_cert = </etc/pki/tls/certs/dovecot.pem >> ssl_cipher_list = >> EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA >> ssl_client_ca_file = /etc/ipa/ca.crt >> ssl_client_cert = </etc/pki/tls/certs/dovecot.pem >> ssl_client_key = </etc/pki/tls/private/dovecot.key >> ssl_key = </etc/pki/tls/private/dovecot.key >> ssl_parameters_regenerate = 1 weeks >> ssl_prefer_server_ciphers = yes >> ssl_protocols = !SSLv2 !SSLv3 >> userdb { >> args = /etc/dovecot/dovecot-ldap-userdb.conf.ext >> driver = ldap >> override_fields = gid=vmail home=/srv/vmail/example.com/%n >> } >> verbose_ssl = yes >> protocol lmtp { >> mail_plugins = " fts fts_lucene notify quota replication virtual >> zlib sieve" >> } >> protocol imap { >> mail_plugins = " fts fts_lucene notify quota replication virtual >> zlib imap_quota imap_zlib" >> } >> >> >> mail2 :: >> # 2.2.10: /etc/dovecot/dovecot.conf >> # OS: Linux 3.10.0-123.20.1.el7.x86_64 x86_64 CentOS Linux release >> 7.0.1406 (Core) >> auth_cache_size = 5 M >> auth_debug = yes >> auth_default_realm = example.com >> auth_gssapi_hostname = mail.example.com >> auth_krb5_keytab = /etc/dovecot/dovecot.keytab >> auth_mechanisms = plain gssapi >> auth_realms = example.com >> auth_verbose = yes >> doveadm_password = <secret> >> lmtp_save_to_detail_mailbox = yes >> mail_debug = yes >> mail_location = maildir:~/Maildir >> mail_plugins = " fts fts_lucene notify quota replication virtual zlib" >> 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 ihave >> namespace inbox { >> inbox = yes >> location >> mailbox All { >> auto = create >> special_use = \All >> } >> mailbox Archives { >> auto = subscribe >> special_use = \Archive >> } >> mailbox Drafts { >> auto = subscribe >> special_use = \Drafts >> } >> mailbox Junk { >> auto = subscribe >> special_use = \Junk >> } >> mailbox Sent { >> auto = subscribe >> special_use = \Sent >> } >> mailbox Templates { >> auto = subscribe >> } >> mailbox Trash { >> auto = subscribe >> special_use = \Trash >> } >> prefix >> separator = / >> type = private >> } >> passdb { >> args = /etc/dovecot/dovecot-ldap-passdb.conf.ext >> driver = ldap >> } >> plugin { >> fts = lucene >> fts_autoindex = yes >> fts_lucene = whitespace_chars=@. >> mail_replica = tcps:mail1.example.com:10993 >> quota = maildir:User quota >> quota_rule = *:storage=4GB >> quota_rule2 = Trash:storage=+50MB >> sieve = ~/.dovecot.sieve >> sieve_after = /srv/sieve/after.d/ >> sieve_before = /srv/sieve/before.d/ >> sieve_default = /srv/sieve/default.d/dovecot.sieve >> sieve_dir = ~/.sieve >> sieve_global_dir = /srv/sieve/ >> zlib_save = gz >> zlib_save_level = 9 >> } >> postmaster_address = postmaster at example.com >> protocols = imap lmtp sieve >> service aggregator { >> fifo_listener replication-notify-fifo { >> group = vmail >> mode = 0660 >> user = vmail >> } >> unix_listener replication-notify { >> group = vmail >> mode = 0660 >> user = vmail >> } >> } >> service auth { >> unix_listener /var/spool/postfix/private/dovecot-auth { >> group = postfix >> mode = 0660 >> user = postfix >> } >> } >> service doveadm { >> inet_listener { >> port = 10993 >> ssl = yes >> } >> } >> service imap-login { >> inet_listener imaps { >> port = 0 >> } >> } >> service lmtp { >> unix_listener /var/spool/postfix/private/dovecot-lmtp { >> group = postfix >> mode = 0660 >> user = postfix >> } >> } >> service managesieve-login { >> inet_listener sieve { >> port = 4190 >> } >> service_count = 1 >> } >> service replicator { >> process_min_avail = 1 >> unix_listener replicator-doveadm { >> group = vmail >> mode = 0660 >> user = vmail >> } >> } >> ssl_ca = </etc/ipa/ca.crt >> ssl_cert = </etc/pki/tls/certs/dovecot.pem >> ssl_cipher_list = >> EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA >> ssl_client_ca_file = /etc/ipa/ca.crt >> ssl_client_cert = </etc/pki/tls/certs/dovecot.pem >> ssl_client_key = </etc/pki/tls/private/dovecot.key >> ssl_key = </etc/pki/tls/private/dovecot.key >> ssl_parameters_regenerate = 1 weeks >> ssl_prefer_server_ciphers = yes >> ssl_protocols = !SSLv2 !SSLv3 >> userdb { >> args = /etc/dovecot/dovecot-ldap-userdb.conf.ext >> driver = ldap >> override_fields = gid=vmail home=/srv/vmail/example.com/%n >> } >> verbose_ssl = yes >> protocol lmtp { >> mail_plugins = " fts fts_lucene notify quota replication virtual >> zlib sieve" >> } >> protocol imap { >> mail_plugins = " fts fts_lucene notify quota replication virtual >> zlib imap_quota imap_zlib" >> } >> >> >> >> And reference directory structure :: >> [root at mail1 ~]# tree -a /srv >> /srv >> ??? sieve >> ? ??? after.d >> ? ??? before.d >> ? ? ??? spam.sieve >> ? ? ??? spam.svbin >> ? ??? default.d >> ??? vmail >> ??? example.com >> ??? <user> >> ??? .dovecot.lda-dupes >> ??? .dovecot.sieve -> .sieve/managesieve.sieve >> ??? .dovecot.svbin >> ??? Maildir >> ? ??? .All >> ? ? ??? cur >> ? ? ??? dovecot.index.log >> ? ? ??? dovecot-uidlist >> ? ? ??? maildirfolder >> ? ? ??? new >> ? ? ??? tmp >> ? ??? .Archives >> ? ? ??? cur >> ? ? ??? dovecot.index.log >> ? ? ??? dovecot-uidlist >> ? ? ??? maildirfolder >> ? ? ??? new >> ? ? ??? tmp >> ? ??? cur >> ? ??? dovecot.index.cache >> ? ??? dovecot.index.log >> ? ??? dovecot.index.thread >> ? ??? dovecot-keywords >> ? ??? dovecot.mailbox.log >> ? ??? dovecot-uidlist >> ? ??? dovecot-uidvalidity >> ? ??? dovecot-uidvalidity.54dbb6f0 >> ? ??? .Drafts >> ? ? ??? cur >> ? ? ??? dovecot.index.cache >> ? ? ??? dovecot.index.log >> ? ? ??? dovecot-uidlist >> ? ? ??? maildirfolder >> ? ? ??? new >> ? ? ??? tmp >> ? ??? .Junk >> ? ? ??? cur >> ? ? ??? dovecot.index.log >> ? ? ??? dovecot-uidlist >> ? ? ??? maildirfolder >> ? ? ??? new >> ? ? ??? tmp >> ? ??? lucene-indexes >> ? ? ??? _k.cfs >> ? ? ??? segments_17 >> ? ? ??? segments.gen >> ? ??? maildirfolder >> ? ??? maildirsize >> ? ??? new >> ? ??? .Sent >> ? ? ??? cur >> ? ? ??? dovecot.index.cache >> ? ? ??? dovecot.index.log >> ? ? ??? dovecot-uidlist >> ? ? ??? maildirfolder >> ? ? ??? new >> ? ? ??? tmp >> ? ??? subscriptions >> ? ??? .Templates >> ? ? ??? cur >> ? ? ??? dovecot.index.log >> ? ? ??? dovecot-uidlist >> ? ? ??? maildirfolder >> ? ? ??? new >> ? ? ??? tmp >> ? ??? tmp >> ? ??? .Trash >> ? ??? cur >> ? ??? dovecot.index.log >> ? ??? dovecot-uidlist >> ? ??? maildirfolder >> ? ??? new >> ? ??? tmp >> ??? .sieve >> ??? managesieve.sieve >> ??? tmp >> >> >> [root at mail2 ~]# tree -a /srv >> /srv >> ??? sieve >> ? ??? after.d >> ? ??? before.d >> ? ? ??? spam.sieve >> ? ? ??? spam.svbin >> ? ??? default.d >> ??? vmail >> ??? example.com >> ??? <user> >> ??? Maildir >> ? ??? .All >> ? ? ??? cur >> ? ? ??? dovecot.index.log >> ? ? ??? dovecot-uidlist >> ? ? ??? maildirfolder >> ? ? ??? new >> ? ? ??? tmp >> ? ??? .Archives >> ? ? ??? cur >> ? ? ??? dovecot.index.log >> ? ? ??? dovecot-uidlist >> ? ? ??? maildirfolder >> ? ? ??? new >> ? ? ??? tmp >> ? ??? cur >> ? ??? dovecot.index.cache >> ? ??? dovecot.index.log >> ? ??? dovecot-keywords >> ? ??? dovecot.mailbox.log >> ? ??? dovecot-uidlist >> ? ??? dovecot-uidvalidity >> ? ??? dovecot-uidvalidity.54dbb6f5 >> ? ??? .Drafts >> ? ? ??? cur >> ? ? ??? dovecot.index.cache >> ? ? ??? dovecot.index.log >> ? ? ??? dovecot-uidlist >> ? ? ??? maildirfolder >> ? ? ??? new >> ? ? ??? tmp >> ? ??? .Junk >> ? ? ??? cur >> ? ? ??? dovecot.index.log >> ? ? ??? dovecot-uidlist >> ? ? ??? maildirfolder >> ? ? ??? new >> ? ? ??? tmp >> ? ??? lucene-indexes >> ? ? ??? _k.cfs >> ? ? ??? segments_17 >> ? ? ??? segments.gen >> ? ??? maildirfolder >> ? ??? maildirsize >> ? ??? new >> ? ??? .Sent >> ? ? ??? cur >> ? ? ??? dovecot.index.cache >> ? ? ??? dovecot.index.log >> ? ? ??? dovecot-uidlist >> ? ? ??? maildirfolder >> ? ? ??? new >> ? ? ??? tmp >> ? ??? subscriptions >> ? ??? .Templates >> ? ? ??? cur >> ? ? ??? dovecot.index.log >> ? ? ??? dovecot-uidlist >> ? ? ??? maildirfolder >> ? ? ??? new >> ? ? ??? tmp >> ? ??? tmp >> ? ??? .Trash >> ? ??? cur >> ? ??? dovecot.index.log >> ? ??? dovecot-uidlist >> ? ??? maildirfolder >> ? ??? new >> ? ??? tmp >> ??? .sieve >> ??? managesieve.sieve >> ??? tmp >> >> Thanks a lot for Dovecot anyway! ;) >> >> Martin > Hi Martin, > > the problem was fixed in pigeonhole-0.4.4. > I recommend to use dovecot-2.2.15 with newest pigeonhole-0.4.6. > > Claus