Roundcube Community Forum

 

RC 1.5.x/1.6.x does not directly delete mail in shared folders

Started by Granada, August 02, 2024, 04:58:20 AM

Previous topic - Next topic

Granada

Dear colleagues!

We are proudly using Roundcube at the Medical University of Vienna since 2010 and we are happy the product exists. Now we've just (finally) upgraded our Mailfronteds from an old Cyrus 2.4.x to 3.4.x and from that moment on we have the following problem:

Users have access to shared IMAP-Mailboxes via ACL-Settings and some have the right to delete emails in these folders. If Roundcube is set to directly delete emails in one of these shared folders RC will move a mail to the personal trash and quit. It won't delete the mail from the shared folder anymore.

Marking mails for deletion and later compacting the mailbox works just fine.

Any ideas what went wrong?

The imap- and session logging of RC looks like this, the imap-log on the frontend-side looks alike:

Aug  2 10:52:25 webmail2-prod roundcube[1740]: <5itcaau5> [6427] Connecting to ssl://mail.meduniwien.ac.at:993...
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: * OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE MUPDATE=mupdate://xxxxxxxx.meduniwien.ac.at/ AUTH=PLAIN SASL-IR] mail.meduniwien.ac.at Cyrus IMAP 3.4.1-11.el9 Fedora server ready
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] C: A0001 AUTHENTICATE PLAIN ****** [25]
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: A0001 OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL ANNOTATE-EXPERIMENT-1 BINARY CATENATE CHILDREN CONDSTORE CREATE-SPECIAL-USE ESEARCH LIST-MYRIGHTS LIST-STATUS MAILBOX-REFERRALS METADATA MOVE MULTIAPPEND NAMESPACE QRESYNC QUOTA RIGHTS=kxten SEARCH=FUZZY SORT SORT=DISPLAY SPECIAL-USE STATUS=SIZE THREAD=ORDEREDSUBJECT THREAD=REFERENCES UIDPLUS UNSELECT URLAUTH URLAUTH=BINARY WITHIN DIGEST=SHA1 LIST-METADATA NO_ATOMIC_RENAME PREVIEW=FUZZY SCAN SORT=MODSEQ SORT=UID THREAD=REFS MUPDATE=mupdate://mailpup.srv.meduniwien.ac.at/ LOGINDISABLED COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE] Success (tls protection) SESSIONID=<cyrus-1722588745-181201-1-12088492266842761215>
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] C: A0002 ID ("name" "Roundcube" "version" "1.6.7" "php" "8.0.30" "os" "Linux" "command" "/?_task=mail&_action=move")
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: * ID ("name" "Cyrus IMAPD" "version" "3.4.1-11.el9 Fedora" "vendor" "Project Cyrus" "support-url" "https://www.cyrusimap.org" "os" "Linux" "os-version" "5.14.0-427.28.1.el9_4.x86_64" "environment" "Built w/Cyrus SASL 2.1.27; Running w/Cyrus SASL 2.1.27; Built w/OpenSSL 3.0.7 1 Nov 2022; Running w/OpenSSL 3.0.7 1 Nov 2022; Built w/zlib 1.2.11; Running w/zlib 1.2.11; CMU Sieve 3.0; mmap = shared; lock = fcntl; nonblock = fcntl; idle = idled")
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: A0002 OK Completed
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] C: A0003 SELECT user.postma8h.DMARC
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: * NO [ALERT] Mailbox is at 86% of STORAGE quota
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: * 4618 EXISTS
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: * 0 RECENT
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: * FLAGS (\Answered \Flagged \Draft \Deleted \Seen NonJunk Junk)
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen NonJunk Junk \*)] Ok
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: * OK [UNSEEN 1465] Ok
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: * OK [UIDVALIDITY 1581587258] Ok
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: * OK [UIDNEXT 150343] Ok
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: * OK [HIGHESTMODSEQ 160851] Ok
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: * OK [URLMECH INTERNAL] Ok
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: * OK [ANNOTATIONS 65536] Ok
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: A0003 OK [READ-WRITE] Completed
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] C: A0004 UID STORE 150310 +FLAGS.SILENT (\Seen)
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: A0004 OK Completed
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] C: A0005 UID MOVE 150310 INBOX.Trash
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: A0005 OK [COPYUID 1471507867 35469] Completed
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] C: A0006 STATUS user.postma8h.DMARC (MESSAGES UNSEEN)
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: * STATUS user.postma8h.DMARC (MESSAGES 4618 UNSEEN 3138)
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: A0006 OK Completed
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] C: A0007 UID SEARCH 4618
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: * SEARCH 150342
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: A0007 OK Completed (1 msgs in 0.002 secs)
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] C: A0008 STATUS INBOX.Trash (MESSAGES UNSEEN)
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: * STATUS INBOX.Trash (MESSAGES 3812 UNSEEN 0)
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: A0008 OK Completed
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] C: A0009 GETQUOTAROOT INBOX
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: * QUOTAROOT INBOX INBOX
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: * QUOTA INBOX (STORAGE 2781270 4000000)
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] S: A0009 OK Completed
Aug  2 10:52:25 webmail2-prod roundcube[1739]: <5itcaau5> [6A34] C: A0010 UID SEARCH ALL

In cyrus we have set "allowusermoves: true" - may this be a problem?

Kind regards
Julia

Granada

Setting no folder as Trash-folder under settings->special folders solves the problem halfway. Emails are being deleted permanently.

Granada

No solution, but it's not a problem of roundcube. Thunderbird has the same issues and it has to be something with the config of Cyrus.

Granada

I'd like to share the solution with you, as it may concern other users migrating their cyrus-murder-installation from earlier 2.4-versions to later ones. Cyrus announces MOVE and XMOVE and that does not work over the borders of each backend in your system. This is a very old problem and it has been discussed even by Alec back in 2016 https://github.com/cyrusimap/cyrus-imapd/issues/51, but the solution (or better say workaround) wasn't given. Just add suppress_capabilities: XMOVE MOVE to your frontend's imapd.conf and your done.