Using dovecot-shared for an shared index not working

Achim Gottinger achim at ag-web.biz
Fri Feb 18 12:41:32 UTC 2022


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 = </etc/ssl/certs/SERVER.pem

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 = </etc/letsencrypt/live/EXTERN/fullchain.pem

  ssl_key = # hidden, use -P to show it

}

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dovecot.org/pipermail/dovecot/attachments/20220218/f074f381/attachment-0001.htm>


More information about the dovecot mailing list