Hello Michael,

Zitat von Michael Menge <michael.me...@zdv.uni-tuebingen.de>:

Hi,

i discovered that my patch for bug #3862 (rollback db changes on mupdate failure), which was includes in cyrus-imapd 2.4.19, 2.5.8 and 3.0.0-beta2, has a bug if a
mailbox is moved to an other partition and a rollback is needed.

For the rollback my old patch did recreate the old entry and then delete the new entry. But in case of moving the mailbox to a other partition the oldname and newname are
the same, so the mailbox will be deleted for the mailboxes.db
Recovery form this error is tricky. Reconstruct (reconstruct -p oldpartiton "mailboxname")
will fail because the mupdate master still has the entry the the mailbox.
So you have to manually add the mailbox to the mailboxes.db on the backend,
or delete the mailbox from the mailboxes.db on the mupdate master.


Attached is a patch for 2.4.20 which will reverse the order, so the "new" mailbox is
deleted first and then the old entry is recreated.

The same is needed for the other branches.

Btw: For me it looks like we have a wrong test for removing (or not), see:

https://build.opensuse.org/package/view_file/home:nixda:devel/cyrus-imapd-3.0/cyrus-imapd-3.0.2-mbx_rename.patch?expand=1

What do you think about this patch?


--
Liebe Gruesse, with best regards
Stephan Lauffer

Pedagogical University Freiburg - Germany
http://www.ph-freiburg.de/zik/
Fon/ Fax: +49 761 682 -559/ -486

Attachment: smime.p7s
Description: S/MIME-Signatur

Reply via email to