Help with imapc and Shared Folder in a Cluster
Alessio Cecchi
alessio at skye.it
Tue Apr 27 23:04:02 EEST 2021
Il 23/04/21 09:29, Markus Valentin ha scritto:
> On 4/22/21 11:49 PM, Alessio Cecchi wrote:> I'm tryng to setup Shared
> Mailboxes in Dovecot (2.3.14) Cluster as
>> explained here:
>>
>> https://doc.dovecot.org/configuration_manual/shared_mailboxes/cluster_setup/
>>
>>
>> but I'm not happy:
>>
>> # doveadm acl debug -u test1 at emailtest.net shared/test2/Sent
>>
>> doveadm(test1 at emailtest.net): Info: imapc(10.0.0.202:143): Connected to
>> 10.0.0.202:143 (local 10.0.0.203:58054)
>> doveadm(test1 at emailtest.net): Info: imapc(10.0.0.202:143): Connected to
>> 10.0.0.202:143 (local 10.0.0.203:58056)
>> doveadm(test1 at emailtest.net): Error: imapc(10.0.0.202:143):
>> Authentication failed: [AUTHENTICATIONFAILED] Authentication failed.
>> doveadm(test1 at emailtest.net): Error: Can't open mailbox
>> shared/test2/Sent: Authentication failed: [AUTHENTICATIONFAILED]
>> Authentication failed.
>>
>> ACL, master-user, master-password works fine because with regular
>> configuration shared folders works fine and also with master-user or
>> with master-password I can login and see and access to shared/ namespace
>> and shared folders.
>>
>> But when I try to switch location from
>>
>> location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u
>>
>> to
>>
>> location = imapc:~/Maildir/shared/%%u/
>> [...]
>> imapc_host = 10.0.0.202
>> imapc_master_user = %u
>> #imapc_user = %u
>> imapc_password = Password
>> imapc_features = search
>>
>> stop working.
>>
>> The relevant error is this:
>>
>> Apr 22 22:57:14 doveadm(test1 at testemail.net): Info:
>> imapc(10.0.0.203:143): Connected to 10.0.0.202:143 (local 10.0.0.203:58070)
>> Apr 22 22:57:14 doveadm(test1 at testemail.net): Debug:
>> imapc(10.0.0.203:143): Server capabilities: IMAP4rev1 SASL-IR
>> LOGIN-REFERRALS ID ENABLE IDLE XLIST LITERAL+ AUTH=PLAIN AUTH=LOGIN
>> Apr 22 22:57:14 doveadm(test1 at testemail.net): Debug:
>> imapc(10.0.0.203:143): Authenticating as test1 at testemail.net for user
>> test2 at testemail.net
>> Apr 22 22:57:16 doveadm(test1 at testemail.net): Error:
>> imapc(10.0.0.203:143): Authentication failed: [AUTHENTICATIONFAILED]
>> Authentication failed.
>> Apr 22 22:57:16 doveadm(test1 at testemail.net): Debug:
>> imapc(10.0.0.203:143): Disconnected
>> Apr 22 22:57:16 doveadm(test1 at testemail.net): Error: Can't open mailbox
>> shared/test2/Sent: Authentication failed: [AUTHENTICATIONFAILED]
>> Authentication failed.
>>
>> Please note "Authenticating as test1 at testemail.net for user
>> test2 at testemail.net" failed.
>>
>> So my question is, the documentation page is update and right or I
>> missing something?
> Hi,
>
> from my perspective it is likely that test1 at testemail.net can't be
> authenticated as a master user which is required for this setup to work.
>
> From the cluster setup page:
>
> "You’ll need to setup master user logins to work for all the users. The
> logged in user becomes the master user. The master user doesn’t actually
> have any special privileges. "
>
Hi,
after some days of debug I have found a solution to have shared folders
works via imapc, even if partially.
First, in the documentation page there is an error, the right "location"
should be like this:
location = imapc:%%h/Maildir
with %%h/ instead of ~/
After I have setup two passdb like these:
passdb {
driver = static
args = password=P4ssw0rd
result_success = continue
}
passdb {
driver = sql
args = /etc/dovecot/dovecot-sql-master.conf.ext
master = yes
result_success = continue
}
where the first is required (only on backend dovecot) when the sharing
user (test2) need to login (with imapc_password) and the second (both in
director and backend dovecot) when the "test1" need to login into
sharing (test2) account like master user.
So acl debug works fine:
# doveadm acl debug -u test1 at emailtest.net shared/test2/Sent
doveadm(test1 at emailtest.net): Info: imapc(10.0.0.202:143): Connected to
10.0.0.202:143 (local 10.0.0.203:39698)
doveadm(test1 at emailtest.net): Info: imapc(10.0.0.202:143): Connected to
10.0.0.202:143 (local 10.0.0.203:39700)
doveadm(test1 at emailtest.net): Info: Mailbox 'Sent' is in namespace
'shared/test2/'
doveadm(test1 at emailtest.net): Info: Mailbox path:
/home/vmail/domains/emailtest.net/test2/Maildir/.Sent
doveadm(test1 at emailtest.net): Info: All message flags are shared across
users in mailbox
doveadm(test1 at emailtest.net): Info: User test1 at emailtest.net has rights:
lookup read write write-seen write-deleted insert expunge
doveadm(test1 at emailtest.net): Info: Mailbox found from dovecot-acl-list
doveadm(test1 at emailtest.net): Info: User test2 at emailtest.net found from
ACL shared dict
doveadm(test1 at emailtest.net): Info: Mailbox shared/test2/Sent is visible
in LIST
But the are still some issues, if the sharing ring is like "test2 share
a folder with test1 that share a folder with test3 that share a folder
test2" dovecot have a loop until max_user_connections is reached.
Probably until option "acl_ignore_namespace" will be available we cannot
solve this.
Moreover, if both test1 and test2 mark as read/unread the same message
in a shared folder dovecot have some indexes issue:
Apr 25 21:03:56 Error: imap(test2 at emailtest.net)
session=<H5EBptDA3IgKQgTL>: Mailbox Sent: Timeout (180s) while waiting
for lock for transaction log file
/home/vmail/domains/emailtest.net/test2/Maildir/.Sent/dovecot.index.log
(WRITE lock held by pid 6181)
Apr 25 21:03:56 Warning: imap(test1 at emailtest.net)
session=<6Kn/pdDAHKxT07oG>: Transaction log file
/home/vmail/domains/emailtest.net/test2/Maildir/.Sent/dovecot.index.log
was locked for 180 seconds (Mailbox was synchronized)
Apr 25 21:03:56 Warning: imap(test2 at emailtest.net)
session=<7d2ppdDAFKxT07oG>: Locking transaction log file
/home/vmail/domains/emailtest.net/test2/Maildir/.Sent/dovecot.index.log
took 178 seconds (syncing)
probably because INDEXPVT is not supported in imapc?
So, I should wait until 2.3.15 to have shared mailboxes via imapc work
fine or I missing something?
Thanks
--
Alessio Cecchi
Postmaster @ http://www.qboxmail.it
https://www.linkedin.com/in/alessice
More information about the dovecot
mailing list