Hey Ken,
Thursday, July 05, 2001, 9:45:04 PM, you wrote:
KM> I am pleased to announce the availability of a selectable hierarchy
KM> separator for Cyrus IMAP. Up until now, Cyrus used a netnews-style
KM> hierarchy, where '.' was used as the hierarchy delimiter -- thus
KM> prohibiting '.' from appearing in mailbox names. This release allows a
KM> UNIX-style '/' separator to be used in the same fashion that David
KM> Fuchs' (and derivative) patches.
:) Thanks Ken and Dave.
KM> This code leverages my previous alt-namespace work, and as a result does
KM> NOT change the on-disk mailstore structure, only what is sent via the
KM> IMAP protocol. This means that any existing server can begin serving up
KM> mailboxes using the UNIX hierarchy separator (and/or the alternate
KM> namespace) simply changing the appropriate imapd.conf option. In order
KM> to maintain compatibility with the on-disk structure, '.' in mailbox
KM> names are translated to '^' before being saved to disk.
I guess you figured it out. Last I knew, you and Larry didn't even
know if this would be possible ;)
KM> You should consider this code to be alpha, but it is fully functional
KM> and appears to be as stable as the alt-namespace code. I hacked this
KM> code in a couple of hours mainly as a proof of concept, so incompatible
KM> changes (such as the use of '^') may be made in the future, ie, DO NOT
KM> run this on a production server just yet. I am hoping to have people
KM> test this code for bugs and performance issues (currently none known)
KM> before I commit to making this part of the standard distribution.
KM> Configuring the server to use the UNIX hierarchy separator is done by
KM> setting "unixhierarchysep: yes" in imapd.conf. With this option, and
KM> the 'altnamespace' option, there are now four combinations of namespace
KM> and hierarchy delimiter.
Hmm . . . This would be fine for me, but maybe someone else would run
into a problem with wanting to use '/' in a username (have no clue
why). In that case, an entry like "usesep: whatever_char_here" might
be a better idea, although admittedly harder to implement.
KM> The code can be obtained from CMU's CVS repository as usual using the
KM> 'hier-sep-r1' tag. Otherwise, a pre-packaged distro can be obtained
KM> from:
KM> ftp://ftp.oceana.com/pub/cyrus-imapd-2.0.14-HIERSEP-r1.tar.gz
KM> http://www.oceana.com/ftp/cyrus-imapd-2.0.14-HIERSEP-r1.tar.gz
KM> Since I am the primary developer of this code, please send any feedback
KM> to me directly and/or the info-cyrus list. Please do NOT send bug
KM> reports to cyrus-bugs.
KM> Enjoy,
KM> Ken
Oh, I will :)
Thanks a lot Ken. I've been using Dave's patches quite successfully
(thanks Dave), but was looking to see them implemented with your ANN.
--
Kevin