# HG changeset patch # User Timo Sirainen # Date 1274800063 -3600 # Node ID c2c1639b91eef0fefd73475593b0bc36145a18b2 # Parent 6f25b20b8367aad73ceb2b887f4dc5d80f7327ec lib-storage: If read-only mailbox uses private flags, don't return it as READ-ONLY. diff -r 6f25b20b8367 -r c2c1639b91ee src/lib-storage/index/index-storage.c --- a/src/lib-storage/index/index-storage.c Tue May 25 15:56:03 2010 +0100 +++ b/src/lib-storage/index/index-storage.c Tue May 25 16:07:43 2010 +0100 @@ -511,8 +511,16 @@ { struct index_mailbox *ibox = (struct index_mailbox *) box; - return (ibox->box.open_flags & MAILBOX_OPEN_READONLY) != 0 || - ibox->backend_readonly; + if ((ibox->box.open_flags & MAILBOX_OPEN_READONLY) != 0) + return TRUE; + + if (ibox->backend_readonly) { + /* return read-only only if there are no private flags + (that are stored in index files) */ + if (box->private_flags_mask == 0) + return TRUE; + } + return FALSE; } bool index_storage_allow_new_keywords(struct mailbox *box)