Hello
I'm in the process to migrate our mail server from version 2.2.13 with maildirs to 2.3.13 with sdbox. On the old server if we wanted an common index for the seen flag on shared folders we created an file called dovecot-shared in the mail_location folder and the mailbox folders. This does not work on the new server for all shared mailboxes the seen flag is stored per user.
The log file shows this if the seen flag is changed
Feb 18 13:24:15 SERVER dovecot[18887]: imap(USER)<18978><51HhlUnYeOfAwAx3>: Debug: imapsieve: mailbox shared/info: FLAG event (changed flags: \Seen)
The dovecot-acl file for the shared/info/INBOX folder has the s flag set.
I hope i can get a few pointers here how to get the seen flag working for all users again. On the old server the location variable for the shared folders had the variable INDEX defined which can not be used with sdbox.
location = maildir:/home/vmail/%%u/mail:INDEX=/home/vmail/%u/mail/shared/%%u:INBOX=/home/vmail/%%u/mail/.INBOX
Does that imply that sharing the seen flag can not be used with sdbox?
Thanks in advance, Achim
Here is the dovecot -n output:
---------------------------------------------------------------------------------------------------------------------- # Pigeonhole version 0.5.13 (cdd19fe3)
# OS: Linux 4.19.0+1 x86_64 Debian 11.2 zfs
# Hostname: SERVER
auth_cache_size = 5 M
auth_gssapi_hostname = SERVER
auth_krb5_keytab = /etc/dovecot/dovecot.keytab
auth_master_user_separator = %
auth_mechanisms = plain login gssapi
auth_username_format = %Ln
debug_log_path = syslog
first_valid_gid = 998
first_valid_uid = 998
imap_max_line_length = 2 M
info_log_path = syslog
mail_attachment_dir = /var/lib/vmail/attachements
mail_debug = yes
mail_gid = 998
mail_home = /var/lib/vmail/%u
mail_location = sdbox:/var/lib/vmail/%u/sdbox:INDEX=/var/lib/vmail/%u/sdbox
mail_plugins = acl fts fts_solr
mail_uid = 998
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 imapsieve vnd.dovecot.imapsieve
namespace {
list = children
location = sdbox:/var/lib/vmail/%%u/sdbox:INDEXPVT=/var/lib/vmail/%u/sdbox/shared/%%u
prefix = shared/%%u/
separator = /
subscriptions = no
type = shared
}
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 = /
type = private
}
passdb {
args = /etc/dovecot/dovecot-ldap-passdb.conf.ext
driver = ldap
}
plugin {
acl = vfile
acl_anyone = allow
acl_defaults_from_inbox = yes
acl_shared_dict = file:/var/lib/vmail/.shared-mailboxes
fts = solr
fts_autoindex = yes
fts_autoindex_exclude = \Junk
fts_autoindex_exclude2 = \Trash
fts_solr = url=http://localhost:8983/solr/dovecot/
imapsieve_mailbox1_before = file:/etc/dovecot/sieve/report-spam.sieve
imapsieve_mailbox1_causes = COPY
imapsieve_mailbox1_name = Junk
imapsieve_mailbox2_before = file:/etc/dovecot/sieve/report-ham.sieve
imapsieve_mailbox2_causes = COPY
imapsieve_mailbox2_from = Junk
imapsieve_mailbox2_name = *
mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
mail_log_fields = uid box msgid from subject size
sieve = ~/.dovecot.sieve
sieve_after = /etc/dovecot/sieve/after.d/
sieve_dir = ~/sieve
sieve_global_extensions = +vnd.dovecot.pipe
sieve_pipe_bin_dir = /etc/dovecot/sieve
sieve_plugins = sieve_imapsieve sieve_extprograms
}
protocols = " imap lmtp sieve"
service auth-worker {
user = $default_internal_user
}
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0666
user = postfix
}
unix_listener auth-userdb {
group = vmail
mode = 0777
user = vmail
}
}
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
ssl = yes
}
}
service imap-postlogin {
executable = script-login /etc/dovecot/acl-groups.sh
user = $default_internal_user
}
service imap {
executable = imap imap-postlogin
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0666
user = postfix
}
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
}
ssl_cert =
ssl_client_ca_dir = /etc/ssl/certs
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
userdb {
args = /etc/dovecot/dovecot-ldap-user.conf.ext
driver = ldap
}
userdb {
args = /etc/dovecot/dovecot-ldap-group.conf.ext
driver = ldap
}
protocol lmtp {
mail_plugins = acl fts fts_solr sieve
}
protocol imap {
imap_client_workarounds = delay-newmail
mail_plugins = acl fts fts_solr imap_sieve imap_acl fts fts_solr
}
local_name EXTERN {
ssl_cert =
ssl_key = # hidden, use -P to show it
}