A couple of goodies

David Carter dpc22 at cam.ac.uk
Thu Aug 23 04:36:39 EDT 2007


On Wed, 22 Aug 2007, Ken Murchison wrote:

> Exactly.  I'm thinking that sticking with suppressing DELETED in the 
> code is the best way to go at this time.

My original patch (and I suspect Bron's spin on it) have a small bug in
that

   . list "" %

returns an entry for "DELETED/". This is easily fixed by moving the 
DELETED supression test from mstringdata() down into find_p() in 
mboxlist.c. Something like (from my own source tree):

***************
*** 2017,2022 ****
--- 2017,2035 ----
         return 0;
       }

+ #ifdef HERMES_DELAYED_DELETE
+     /* Suppress deleted hierarchy unless admin: overrides ACL_LOOKUP test */
+     if (!rock->isadmin) {
+         char namebuf[MAX_MAILBOX_NAME+1];
+
+       memcpy(namebuf, key, keylen);
+       namebuf[keylen] = '\0';
+         if (mboxlist_delayed_delete_isenabled() &&
+             mboxlist_in_deleteprefix(namebuf))
+             return 0;
+     }
+ #endif
+
       /* check acl */
       if (!rock->isadmin) {
         /* check the acls */

-- 
David Carter                             Email: David.Carter at ucs.cam.ac.uk
University Computing Service,            Phone: (01223) 334502
New Museums Site, Pembroke Street,       Fax:   (01223) 334679
Cambridge UK. CB2 3QH.


More information about the Cyrus-devel mailing list