<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>