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: [EMAIL PROTECTED]
University Computing Service,            Phone: (01223) 334502
New Museums Site, Pembroke Street,       Fax:   (01223) 334679
Cambridge UK. CB2 3QH.

Reply via email to