Cyrus patches, cyrus patches. Get yer Cyrus patches here

Bron Gondwana brong at
Wed Aug 29 02:10:08 EDT 2007

Here's an update on the testing and new cyrus patches at FastMail.FM.

Thanks to 2.3.9 being recently released, we've been going crazy with
all the little things that we want different.  There's still plenty
more to come, but I'm trying to keep them published frequently so
anyone can check them any time.

Now with changelogs!  (strictly, it's the output of "svn log" on the
patch file in question, going back only until I created the quilted
versions because I imported the patches into quilt and didn't connect
the history.)

Anyway, here's what's new since last time I posted:

* updated rehash script which can parse all possible disk layouts
  and move everything to any other layout.

* fast rename fix - it used the old "rmdir() up the tree until it
  fails" method of cleaning up the old folder path.  This has the
  unfortunate side-effect of nuking data directories for empty but
  still present folders.  Changed it to use the same logic as
  mailbox_delete() (by refactoring said logic).

  This was particularly evident with the major mess created by the
  15k deep empty mailbox structure created by the issue addressed
  below and the attempts to delete with rename/delete enabled.

* Clean shutdown is now in production and we're very happy with it
  so far.  Shutdown is always finished within the first second.

* New patch adds option "user_folder_limit: INT" - the user will get
  permission denied if they try to create more than that number of
  folders.  This was created because a user managed to import 15000
  individual files as mailboxes via UW-IMAP and our migration tool.
  Ouch.  We realised there's a denial of service risk there, so this
  option allows us to limit our users to a sane amount (we already
  limit them in our web interface, but they have direct IMAP access
  as well)

As always, feedback is very welcome.  Spelling flames for my SVN
changelog entries less so, I didn't expect to publish them ;)



More information about the Cyrus-devel mailing list