cyrusimap/cyrus-imapd

dav_reconstruct did only reconstruct the Default DAV mailboxes

Closed this issue · 5 comments

I have been hit by the dreaded #1037346. I was able to recover most of my mailboxes using the script recover-cyrus and then use dav_recover on the users with DAV mailboxes. This did however only recover the Default DAV mailboxes.

Any hints on how to recover the others or how to find out what happened?

I wrote about this recently on the info-cyrus mailing list:

reconstruct -P is the Cyrus tool you should have used for recovering from the original problem. It ought to be able to get the rest of your DAV mailboxes back, though given that your system is now in an unknown state from having run that recover-cyrus script, it might need extra handholding to bring the pieces back together.

Thanks for the insights, unfortunately reconstruct -P did not help. It looks like the mailboxes that do not work are no longer considered DAV mailboxes. A working one (Default) has according to info

    <DAV:>displayname: personal
    <urn:ietf:params:xml:ns:caldav>supported-calendar-component-set: 31
    annotsize: 329

weil one that does not only has an annotsize: 0.

"Does not work" means that testing with cadaver says "(not WebDAV-enabled?): Did not find a collection resource.".

Actually I can not create working calendars any more. A newly created calendar (with cyradm) gives me a 403 when trying to create an entry (as myself, jzobel). The permissions do however look OK:

localhost> lam user.jzobel.#calendars.Test
jzobel lrswipkxtecdan9
anyone 9

" your system is now in an unknown state" - yes, it unfortunately is. The headers do not have the correct uuid:

# cat /var/spool/cyrus/mail/uuid/a/8/a85t5rc35eq9o3ihuaojz44l/cyrus.header 
Cyrus mailbox header
"The best thing about this system was that it had lots of goals."
	--Jim Morris on Andrew
%(T e N NIL I 5ced26b0518f81c2 Q user.jzobel A %(jzobel lrswipcda cyrus lrswipcda) U ($has_cal $Forwarded))

Not sure how harmful this is.

The old way of creating calendars (at least mine) was to create a mailbox below user..#calendars. This does not work any more (or was enabled by autocreate, which I temporarily disabled). I succeeded with creating new calendars through the webinterface, moving the entries in the file system and doing a reconstruct.