Am 14.08.18 um 18:51 schrieb Aki Tuomi:
Try
doveadm mailbox list -u user INBOX/*
Hmm, posted that before, it lists all these undeletable mailboxes:
root@ka-nfs-mail:~# doveadm mailbox list -u <username> 'INBOX/*' | grep hbereich INBOX/[Fachbereiche INBOX/Fachbereiche INBOX/hbereiche INBOX/hbereiche/LAGen] INBOX/hbereiche/LAG INBOX/[Fachbereiche INBOX/[Fachbereiche/LAGen] INBOX/[Fachbereiche] INBOX/[Fachbereiche]/LAGen] INBOX/[Fachbereiche]/LAGe
When I try deleting it, everything looks ok:
root@ka-nfs-mail:~# doveadm mailbox delete -u <username> 'INBOX/Fachbereiche ' doveadm(<username>): Info: Mailbox deleted: INBOX/Fachbereiche
But listing the mailboxes shows it's still there:
root@ka-nfs-mail:~# doveadm mailbox list -u <username> 'INBOX/*' 2>&1 | grep hbereich INBOX/[Fachbereiche INBOX/Fachbereiche INBOX/hbereiche INBOX/hbereiche/LAGen] INBOX/hbereiche/LAG INBOX/[Fachbereiche INBOX/[Fachbereiche/LAGen] INBOX/[Fachbereiche] INBOX/[Fachbereiche]/LAGen] INBOX/[Fachbereiche]/LAGe
Ralf
Aki
On 14 August 2018 at 19:20 Ralf Becker rb@egroupware.org wrote:
Hi Aki,
Am 14.08.18 um 16:42 schrieb Aki Tuomi:
Hi,
the thing I'm actually looking for is that whether the sync causes the folder to be restored, so it might be a better idea for you to try and spot this from the logs. I assume that as an SP that you are using mail_log plugin, so that might be useful to spot if this happens. You can also try looking at the UIDVALIDITY value of the folder, it usually corresponds to the creation unixtime. Hmm, I dont get a mailbox status for the folder 'INBOX/Fachbereiche ' (trailing space):
root@ka-nfs-mail:~# doveadm -Dv mailbox status -u <username> all 'INBOX/Fachbereiche ' Debug: Loading modules from directory: /usr/lib/dovecot Debug: Module loaded: /usr/lib/dovecot/lib01_acl_plugin.so Debug: Module loaded: /usr/lib/dovecot/lib10_quota_plugin.so Debug: Module loaded: /usr/lib/dovecot/lib15_notify_plugin.so Debug: Module loaded: /usr/lib/dovecot/lib20_mail_log_plugin.so Debug: Module loaded: /usr/lib/dovecot/lib20_replication_plugin.so Debug: Loading modules from directory: /usr/lib/dovecot/doveadm Debug: Module loaded: /usr/lib/dovecot/doveadm/lib10_doveadm_acl_plugin.so Debug: Skipping module doveadm_expire_plugin, because dlopen() failed: Error relocating /usr/lib/dovecot/doveadm/lib10_doveadm_expire_plugin.so: expire_set_lookup: symbol not found (this is usually intentional, so just ignore this message) Debug: Module loaded: /usr/lib/dovecot/doveadm/lib10_doveadm_quota_plugin.so Debug: Module loaded: /usr/lib/dovecot/doveadm/lib10_doveadm_sieve_plugin.so Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: Error relocating /usr/lib/dovecot/doveadm/lib20_doveadm_fts_plugin.so: fts_backend_rescan: symbol not found (this is usually intentional, so just ignore this message) Debug: Skipping module doveadm_mail_crypt_plugin, because dlopen() failed: Error relocating /usr/lib/dovecot/doveadm/libdoveadm_mail_crypt_plugin.so: mail_crypt_box_get_public_key: symbol not found (this is usually intentional, so just ignore this message) doveadm(<username> 43723): Debug: Added userdb setting: plugin/master_user=<username> doveadm(<username> 43723): Debug: Added userdb setting: plugin/userdb_acl_groups=koakram@<domain>,wahlkampfnetzwerk@<domain>,wahlkalender 2017@<domain>,lgs@<domain> doveadm(<username> 43723): Debug: Added userdb setting: plugin/userdb_quota_rule=*:bytes=15728640000 doveadm(<username>): Debug: Effective uid=90, gid=101, home=/var/dovecot/imap/<domain>/<user> doveadm(<username>): Debug: Quota root: name=User quota backend=dict args=:ns=INBOX/:file:/var/dovecot/imap/<domain>/<user>/dovecot-quota doveadm(<username>): Debug: Quota rule: root=User quota mailbox=* bytes=107374182400 messages=0 doveadm(<username>): Debug: Quota grace: root=User quota bytes=10737418240 (10%) doveadm(<username>): Debug: dict quota: user=<username>, uri=file:/var/dovecot/imap/<domain>/<user>/dovecot-quota, noenforcing=0 doveadm(<username>): Debug: Namespace inboxes: type=private, prefix=INBOX/, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=no location=mdbox:~/mdbox doveadm(<username>): Debug: fs: root=/var/dovecot/imap/<domain>/<user>/mdbox, index=, indexpvt=, control=, inbox=, alt= doveadm(<username>): Debug: acl: initializing backend with data: vfile doveadm(<username>): Debug: acl: acl username = <username> doveadm(<username>): Debug: acl: owner = 1 doveadm(<username>): Debug: acl vfile: Global ACLs disabled doveadm(<username>): Debug: Namespace users: type=shared, prefix=user/%n/, sep=/, inbox=no, hidden=no, list=yes, subscriptions=no location=mdbox:%h/mdbox:INDEXPVT=~/shared/%u doveadm(<username>): Debug: shared: root=/run/dovecot, index=, indexpvt=, control=, inbox=, alt= doveadm(<username>): Debug: acl: initializing backend with data: vfile doveadm(<username>): Debug: acl: acl username = <username> doveadm(<username>): Debug: acl: owner = 0 doveadm(<username>): Debug: acl vfile: Global ACLs disabled doveadm(<username>): Debug: Namespace subs: type=private, prefix=, sep=/, inbox=no, hidden=yes, list=no, subscriptions=yes location=mdbox:~/mdbox doveadm(<username>): Debug: fs: root=/var/dovecot/imap/<domain>/<user>/mdbox, index=, indexpvt=, control=, inbox=, alt= doveadm(<username>): Debug: acl: initializing backend with data: vfile doveadm(<username>): Debug: acl: acl username = <username> doveadm(<username>): Debug: acl: owner = 1 doveadm(<username>): Debug: acl vfile: Global ACLs disabled doveadm(<username>): Debug: quota: quota_over_flag check: quota_over_script unset - skipping doveadm(<username>): Debug: INBOX/Fachbereiche : Mailbox opened because: mailbox status doveadm(<username>): Error: Mailbox INBOX/Fachbereiche : Failed to lookup mailbox status: Mailbox doesn't exist: INBOX/Fachbereiche
While mailbox list still lists it:
root@ka-nfs-mail:~# doveadm -Dv mailbox list -u <username> 'INBOX/Fachbereiche ' Debug: Loading modules from directory: /usr/lib/dovecot Debug: Module loaded: /usr/lib/dovecot/lib01_acl_plugin.so Debug: Module loaded: /usr/lib/dovecot/lib10_quota_plugin.so Debug: Module loaded: /usr/lib/dovecot/lib15_notify_plugin.so Debug: Module loaded: /usr/lib/dovecot/lib20_mail_log_plugin.so Debug: Module loaded: /usr/lib/dovecot/lib20_replication_plugin.so Debug: Loading modules from directory: /usr/lib/dovecot/doveadm Debug: Module loaded: /usr/lib/dovecot/doveadm/lib10_doveadm_acl_plugin.so Debug: Skipping module doveadm_expire_plugin, because dlopen() failed: Error relocating /usr/lib/dovecot/doveadm/lib10_doveadm_expire_plugin.so: expire_set_lookup: symbol not found (this is usually intentional, so just ignore this message) Debug: Module loaded: /usr/lib/dovecot/doveadm/lib10_doveadm_quota_plugin.so Debug: Module loaded: /usr/lib/dovecot/doveadm/lib10_doveadm_sieve_plugin.so Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: Error relocating /usr/lib/dovecot/doveadm/lib20_doveadm_fts_plugin.so: fts_backend_rescan: symbol not found (this is usually intentional, so just ignore this message) Debug: Skipping module doveadm_mail_crypt_plugin, because dlopen() failed: Error relocating /usr/lib/dovecot/doveadm/libdoveadm_mail_crypt_plugin.so: mail_crypt_box_get_public_key: symbol not found (this is usually intentional, so just ignore this message) doveadm(<username> 46127): Debug: Added userdb setting: plugin/master_user=<username> doveadm(<username> 46127): Debug: Added userdb setting: plugin/userdb_acl_groups=koakram@<domain>,wahlkampfnetzwerk@<domain>,wahlkalender 2017@<domain>,lgs@<domain> doveadm(<username> 46127): Debug: Added userdb setting: plugin/userdb_quota_rule=*:bytes=15728640000 doveadm(<username>): Debug: Effective uid=90, gid=101, home=/var/dovecot/imap/<domain>/<user> doveadm(<username>): Debug: Quota root: name=User quota backend=dict args=:ns=INBOX/:file:/var/dovecot/imap/<domain>/<user>/dovecot-quota doveadm(<username>): Debug: Quota rule: root=User quota mailbox=* bytes=107374182400 messages=0 doveadm(<username>): Debug: Quota grace: root=User quota bytes=10737418240 (10%) doveadm(<username>): Debug: dict quota: user=<username>, uri=file:/var/dovecot/imap/<domain>/<user>/dovecot-quota, noenforcing=0 doveadm(<username>): Debug: Namespace inboxes: type=private, prefix=INBOX/, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=no location=mdbox:~/mdbox doveadm(<username>): Debug: fs: root=/var/dovecot/imap/<domain>/<user>/mdbox, index=, indexpvt=, control=, inbox=, alt= doveadm(<username>): Debug: acl: initializing backend with data: vfile doveadm(<username>): Debug: acl: acl username = <username> doveadm(<username>): Debug: acl: owner = 1 doveadm(<username>): Debug: acl vfile: Global ACLs disabled doveadm(<username>): Debug: Namespace users: type=shared, prefix=user/%n/, sep=/, inbox=no, hidden=no, list=yes, subscriptions=no location=mdbox:%h/mdbox:INDEXPVT=~/shared/%u doveadm(<username>): Debug: shared: root=/run/dovecot, index=, indexpvt=, control=, inbox=, alt= doveadm(<username>): Debug: acl: initializing backend with data: vfile doveadm(<username>): Debug: acl: acl username = <username> doveadm(<username>): Debug: acl: owner = 0 doveadm(<username>): Debug: acl vfile: Global ACLs disabled doveadm(<username>): Debug: Namespace subs: type=private, prefix=, sep=/, inbox=no, hidden=yes, list=no, subscriptions=yes location=mdbox:~/mdbox doveadm(<username>): Debug: fs: root=/var/dovecot/imap/<domain>/<user>/mdbox, index=, indexpvt=, control=, inbox=, alt= doveadm(<username>): Debug: acl: initializing backend with data: vfile doveadm(<username>): Debug: acl: acl username = <username> doveadm(<username>): Debug: acl: owner = 1 doveadm(<username>): Debug: acl vfile: Global ACLs disabled doveadm(<username>): Debug: quota: quota_over_flag check: quota_over_script unset - skipping INBOX/Fachbereiche
Is there some kind of index for existing mailboxes which needs rebuilding?
Ralf
Aki
On 14 August 2018 at 17:18 Ralf Becker rb@egroupware.org wrote:
Hi Aki,
thanks for looking into this :)
can you turn on mail_debug=yes and run doveadm -Dv mailbox delete and provide output and logs from both servers? root@ka-nfs-mail:~# doveadm -Dv mailbox delete -u h 'INBOX/Fachbereiche ' Debug: Loading modules from directory: /usr/lib/dovecot Debug: Module loaded: /usr/lib/dovecot/lib01_acl_plugin.so Debug: Module loaded: /usr/lib/dovecot/lib10_quota_plugin.so Debug: Module loaded: /usr/lib/dovecot/lib15_notify_plugin.so Debug: Module loaded: /usr/lib/dovecot/lib20_mail_log_plugin.so Debug: Module loaded: /usr/lib/dovecot/lib20_replication_plugin.so Debug: Loading modules from directory: /usr/lib/dovecot/doveadm Debug: Module loaded: /usr/lib/dovecot/doveadm/lib10_doveadm_acl_plugin.so Debug: Skipping module doveadm_expire_plugin, because dlopen() failed: Error relocating /usr/lib/dovecot/doveadm/lib10_doveadm_expire_plugin.so: expire_set_lookup: symbol not found (this is usually intentional, so just ignore this message) Debug: Module loaded: /usr/lib/dovecot/doveadm/lib10_doveadm_quota_plugin.so Debug: Module loaded: /usr/lib/dovecot/doveadm/lib10_doveadm_sieve_plugin.so Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: Error relocating /usr/lib/dovecot/doveadm/lib20_doveadm_fts_plugin.so: fts_backend_rescan: symbol not found (this is usually intentional, so just ignore this message) Debug: Skipping module doveadm_mail_crypt_plugin, because dlopen() failed: Error relocating /usr/lib/dovecot/doveadm/libdoveadm_mail_crypt_plugin.so: mail_crypt_box_get_public_key: symbol not found (this is usually intentional, so just ignore this message) doveadm(<username>): Debug: auth PASS input: doveadm(<username> 32679): Debug: auth USER input: <username> userdb_quota_rule=*:bytes=15728640000 master_user=<username> userdb_acl_groups=koakram@<domain>,wahlkampfnetzwerk@<domain>,wahlkalender 2017@<domain>,lgs@<domain> home=/var/dovecot/imap/<domain>/<user> doveadm(<username> 32679): Debug: Added userdb setting:
Am 14.08.18 um 15:15 schrieb Aki Tuomi: plugin/master_user=<username> doveadm(<username> 32679): Debug: Added userdb setting: plugin/userdb_acl_groups=koakram@<domain>,wahlkampfnetzwerk@<domain>,wahlkalender 2017@<domain>,lgs@<domain> doveadm(<username> 32679): Debug: Added userdb setting: plugin/userdb_quota_rule=*:bytes=15728640000 doveadm(<username>): Debug: Effective uid=90, gid=101, home=/var/dovecot/imap/<domain>/<user> doveadm(<username>): Debug: Quota root: name=User quota backend=dict args=:ns=INBOX/:file:/var/dovecot/imap/<domain>/<user>/dovecot-quota doveadm(<username>): Debug: Quota rule: root=User quota mailbox=* bytes=107374182400 messages=0 doveadm(<username>): Debug: Quota grace: root=User quota bytes=10737418240 (10%) doveadm(<username>): Debug: dict quota: user=<username>, uri=file:/var/dovecot/imap/<domain>/<user>/dovecot-quota, noenforcing=0 doveadm(<username>): Debug: Namespace inboxes: type=private, prefix=INBOX/, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=no location=mdbox:~/mdbox doveadm(<username>): Debug: fs: root=/var/dovecot/imap/<domain>/<user>/mdbox, index=, indexpvt=, control=, inbox=, alt= doveadm(<username>): Debug: acl: initializing backend with data: vfile doveadm(<username>): Debug: acl: acl username = <username> doveadm(<username>): Debug: acl: owner = 1 doveadm(<username>): Debug: acl vfile: Global ACLs disabled doveadm(<username>): Debug: Namespace users: type=shared, prefix=user/%n/, sep=/, inbox=no, hidden=no, list=yes, subscriptions=no location=mdbox:%h/mdbox:INDEXPVT=~/shared/%u doveadm(<username>): Debug: shared: root=/run/dovecot, index=, indexpvt=, control=, inbox=, alt= doveadm(<username>): Debug: acl: initializing backend with data: vfile doveadm(<username>): Debug: acl: acl username = <username> doveadm(<username>): Debug: acl: owner = 0 doveadm(<username>): Debug: acl vfile: Global ACLs disabled doveadm(<username>): Debug: Namespace subs: type=private, prefix=, sep=/, inbox=no, hidden=yes, list=no, subscriptions=yes location=mdbox:~/mdbox doveadm(<username>): Debug: fs: root=/var/dovecot/imap/<domain>/<user>/mdbox, index=, indexpvt=, control=, inbox=, alt= doveadm(<username>): Debug: acl: initializing backend with data: vfile doveadm(<username>): Debug: acl: acl username = <username> doveadm(<username>): Debug: acl: owner = 1 doveadm(<username>): Debug: acl vfile: Global ACLs disabled doveadm(<username>): Debug: quota: quota_over_flag check: quota_over_script unset - skipping doveadm(<username>): Debug: INBOX/Fachbereiche : Mailbox opened because: mailbox delete doveadm(<username>): Debug: acl vfile: file /var/dovecot/imap/<domain>/<user>/mdbox/mailboxes/Fachbereiche /dbox-Mails/dovecot-acl not found doveadm(<username>): Debug: Namespace INBOX/: Using permissions from /var/dovecot/imap/<domain>/<user>/mdbox: mode=0700 gid=default doveadm(<username>): Debug: replication: Replication requested by 'mailbox delete', priority=1 doveadm(<username>): Info: Mailbox deleted: INBOX/Fachbereiche
Output and logs are from the (less loaded) standby/backup node. I can get the logs from the active node tonight.
I had to remove some folder-names for privacy reasons, but they all have the same output in the logs.
Ralf
Aki Tuomi Dovecot oy
-------- Original message -------- From: Ralf Becker rb@egroupware.org Date: 14/08/2018 16:13 (GMT+02:00) To: dovecot@dovecot.org Subject: doveadm mailbox delete not working
I have a user who has several folders in his mailbox, which we can not delete, neither via IMAP nor via doveadm:
root@ka-nfs-mail:~# doveadm mailbox list -u <username> | grep hbereiche | cat -v INBOX/[Fachbereiche ^M INBOX/Fachbereiche ^M INBOX/hbereiche^M INBOX/hbereiche/LAGen]^M INBOX/hbereiche/LAG^M INBOX/[Fachbereiche^M INBOX/[Fachbereiche/LAGen]^M INBOX/[Fachbereiche]^M INBOX/[Fachbereiche]/LAGen]^M INBOX/[Fachbereiche]/LAGe^M root@ka-nfs-mail:~# doveadm mailbox delete -u <username> 'INBOX/Fachbereiche ' doveadm(<username>): Info: Mailbox deleted: INBOX/Fachbereiche root@ka-nfs-mail:~# doveadm mailbox list -u <username>| grep hbereiche | cat -v INBOX/[Fachbereiche ^M INBOX/Fachbereiche ^M INBOX/hbereiche^M INBOX/hbereiche/LAGen]^M INBOX/hbereiche/LAG^M INBOX/[Fachbereiche^M INBOX/[Fachbereiche/LAGen]^M INBOX/[Fachbereiche]^M INBOX/[Fachbereiche]/LAGen]^M INBOX/[Fachbereiche]/LAGe^M
As far as I tried none of these folders can be deleted (I added single quotes for trailing space and tried to delete subfolders first).
Mailbox is in mdbox format on a replication pair under Dovecot 2.2.36 and I tried both nodes of the replication with same result.
Any ideas?
Ralf
-- Ralf Becker EGroupware GmbH [www.egroupware.org] Handelsregister HRB Kaiserslautern 3587 Geschäftsführer Birgit und Ralf Becker Leibnizstr. 17, 67663 Kaiserslautern, Germany Telefon +49 631 31657-0
-- Ralf Becker EGroupware GmbH [www.egroupware.org] Handelsregister HRB Kaiserslautern 3587 Geschäftsführer Birgit und Ralf Becker Leibnizstr. 17, 67663 Kaiserslautern, Germany Telefon +49 631 31657-0
-- Ralf Becker EGroupware GmbH [www.egroupware.org] Handelsregister HRB Kaiserslautern 3587 Geschäftsführer Birgit und Ralf Becker Leibnizstr. 17, 67663 Kaiserslautern, Germany Telefon +49 631 31657-0
-- Ralf Becker EGroupware GmbH [www.egroupware.org] Handelsregister HRB Kaiserslautern 3587 Geschäftsführer Birgit und Ralf Becker Leibnizstr. 17, 67663 Kaiserslautern, Germany Telefon +49 631 31657-0