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