dsync for subscription on public/shared folder

Mike Fröhner mikefroehner at gmx.de
Mon Jan 9 07:55:18 UTC 2017


Hello,

since nobody replied to this issue it might be a bug. Until bug reports 
are also going to this mailing list, I would like to tell this is a bug 
for me.

I will add the dovecot -n:

# 2.2.27 (c0f36b0): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.16 (fed8554)
# OS: Linux 3.10.0-327.10.1.el7.x86_64 x86_64 CentOS Linux release 
7.2.1511 (Core)
auth_cache_size = 10 M
auth_cache_ttl = 6 hours
auth_debug = yes
auth_gssapi_hostname = $ALL
auth_username_format = %Ln
doveadm_password =  # hidden, use -P to show it
doveadm_port = 12345
first_valid_uid = 1000000
haproxy_timeout = 5 secs
haproxy_trusted_networks = 10.0.0.0/8
lmtp_save_to_detail_mailbox = yes
mail_access_groups = all_mailuser
mail_debug = yes
mail_plugins = " mail_log notify replication acl"
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
mbox_write_locks = fcntl
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 = /
}
namespace public-test {
   location = maildir:/opt/mail/_public/test
   prefix = public/test/
   separator = /
   subscriptions = no
   type = public
}
passdb {
   args = /etc/dovecot/dovecot-ldap.conf
   default_fields = userdb_home=/opt/mail/%u 
userdb_mail=maildir:/opt/mail/%u/Mails userdb_gid=vmail
   driver = ldap
}
plugin {
   acl = vfile
   acl_shared_dict = file:/var/lib/dovecot/shared-mailboxes.db
   mail_debug = yes
   mail_plugins = " mail_log notify replication acl imap_acl"
   mail_replica = tcps:imap-1.office.gameduell.de
   sieve = file:~/sieve;active=~/.dovecot.sieve
   sieve_default = /etc/dovecot/sieve/default.sieve
   sieve_global = /etc/dovecot/sieve/global/
}
protocols = imap lmtp sieve
recipient_delimiter = -
replication_dsync_parameters = -d -l 30 -U
service aggregator {
   fifo_listener replication-notify-fifo {
     mode = 0666
     user = vmail
   }
   unix_listener replication-notify {
     mode = 0666
     user = vmail
   }
}
service auth-worker {
   process_min_avail = 1
}
service auth {
   inet_listener {
     port = 12245
   }
   process_min_avail = 1
   unix_listener /var/spool/postfix/private/auth {
     group = postfix
     mode = 0666
     user = postfix
   }
   unix_listener auth-userdb {
     group = vmail
     mode = 0666
     user = vmail
   }
}
service doveadm {
   inet_listener {
     port = 12345
     ssl = yes
   }
}
service imap-login {
   inet_listener imaps {
     port = 0
     ssl = yes
   }
   inet_listener imaps_haproxy {
     haproxy = yes
     port = 10993
     ssl = yes
   }
}
service imap-postlogin {
   executable = script-login /adm/scripts/dovecot_acl_groups.sh
   user = $default_internal_user
}
service imap {
   executable = imap imap-postlogin
}
service lmtp {
   inet_listener lmtp {
     port = 24
     ssl = yes
   }
}
service managesieve-login {
   inet_listener sieve {
     port = 4190
   }
   service_count = 1
}
service replicator {
   process_min_avail = 1
   unix_listener replicator-doveadm {
     mode = 0666
   }
}
ssl = required
ssl_cert = </etc/pki/tls/certs/imap.office.gameduell.de.crt.pem
ssl_client_ca_file = /etc/pki/tls/cert.pem
ssl_key =  # hidden, use -P to show it
ssl_protocols = !SSLv2 !SSLv3
userdb {
   default_fields = home=/opt/mail/%u mail=maildir:/opt/mail/%u/Mails 
gid=vmail
   driver = prefetch
}
userdb {
   args = /etc/dovecot/dovecot-ldap.conf
   default_fields = home=/opt/mail/%u mail=maildir:/opt/mail/%u/Mails 
gid=vmail
   driver = ldap
}
protocol lmtp {
   mail_plugins = " mail_log notify replication acl sieve"
}
protocol lda {
   mail_plugins = " mail_log notify replication acl sieve"
}
protocol imap {
   mail_max_userip_connections = 50
   mail_plugins = " mail_log notify replication acl imap_acl"
}
protocol sieve {
   managesieve_implementation_string = Dovecot Pigeonhole
   managesieve_logout_format = bytes=%i/%o
   managesieve_max_line_length = 65536
}
local_name imap.gameduell.de {
   ssl_cert = </etc/pki/tls/certs/star.gameduell.de.bundle.crt
   ssl_key =  # hidden, use -P to show it
}

On 12/22/2016 11:31 AM, Mike Fröhner wrote:
> Hello,
>
> I already wrote regarding that, but maybe it sounded too complex. I will
> write it a bit softer now.
>
> The replication through dsnyc works perfectly with one exception. I am
> having an issue with the replication of the subscriptions file on shared
> folder.
>
> We have a public mailbox defined:
>
> namespace public-test {
>   location = maildir:/opt/mail/_public/test
>   prefix = public/test/
>   separator = /
>   subscriptions = no
>   type = public
> }
>
> There 2 subfolder .Test1 and .Test2 which I would like to subscribe on
> my user "ldaptestuser" which is part of the group "ldaptestgroup"
>
> The dovecot-acl file on /opt/mail/_public/test and
> /opt/mail/_public/test/.Test{1,2} are the same and are containing:
>
> group=ldaptestgroup lrwstipekxa
>
> Now if I login through my client (Thunderbird or Roundcubemail) I can
> see the following debug log:
>
> dovecot: imap(ldaptestuser): Debug: acl: acl username = ldaptestuser
> dovecot: imap(ldaptestuser): Debug: acl: owner = 0
> dovecot: imap(ldaptestuser): Debug: acl: group added: domain users
> dovecot: imap(ldaptestuser): Debug: acl: group added: ldaptestgroup
> dovecot: imap(ldaptestuser): Debug: acl: group added: all_mailuser
>
> I created one new private folder on the mailbox of my test user and also
> subscribed it. This subscription is successfully replicated.
>
> After that I am trying to subscribe the public folder. I can see the
> folder in my client after I subscribed them. But on the 2nd dovecot
> server the subscription file is not updated.
>
> imap-1 # cat subscription
> Private1
> public/test/Test1
>
> imap-2 # cat subscription
> Private1
>
> The debug log on both dovecot server tells me:
> dovecot: doveadm(<ip>,ldaptestuser): Debug: Effective uid=834603987,
> gid=991, home=/opt/mail/ldaptestuser
> dovecot: doveadm(<ip>,ldaptestuser): Debug: acl: No acl_shared_dict
> setting - shared mailbox listing is disabled
> dovecot: doveadm(<ip>,ldaptestuser): Debug: maildir++:
> root=/opt/mail/_public/test, index=, indexpvt=, control=, inbox=, alt=
> dovecot: doveadm(<ip>,ldaptestuser): Debug: acl: initializing backend
> with data: vfile
> dovecot: doveadm(<ip>,ldaptestuser): Debug: acl: acl username =
> ldaptestuser
> dovecot: doveadm(<ip>,ldaptestuser): Debug: acl: owner = 0
> dovecot: doveadm(<ip>,ldaptestuser): Debug: acl vfile: Global ACLs disabled
>
> It looks like the doveadm() cannot find the group or is not
> checking/initalizing the groups.
>
> Anybody any idea if I missconfigured something or is this just a bug? I
> really would appreciate some help.
>
> kind regards,
> Mike;
>


More information about the dovecot mailing list