----- Original Message ----- 
From: "Tom Collins" <[EMAIL PROTECTED]>

> I've been thinking about modifying vpopmail to use directory names like
> @a, @b, @c, etc. instead of a, b, c so that we could allow
> one-character user directories in all cases.  I don't know how we'd
> make that work with existing directory structures though.  Another
> solution would be to hash all usernames, so there weren't any users in
> the top directory.  I guess we'd still run some risks of qmailadmin
> creating a mailing list or autoresponder with the same directory name
> and then later deleting it.

I have often wished the directory hashing worked in a more
simple/logical fashion

Is the complexity of the current system really required? It is so complex
that none of the developers even appear to understand how it works!

The documentation states that vpopmail uses a self balancing tree that is
able to support up to 23 million domains, each with up to 23 million
users. However I am a bit doubtful about the "self balancing" part.
For example if you add some domains and then go back and delete
them later, further new domains dont get added to these now-vacant
parts of the tree

On other (non-vpopmail) virtual mail systems that I have used, the
hashing system is typically much more simple - with the sysadmin
choosing how many levels of hashing were required, and then
just hashing the dirs using the leading portions of the username/domain

eg "userhash" level of 1 means all user dirs would be hashed like this
    a/<then all the usernames starting with a>
    b/<then all the usernames starting with b>
    c/<then all the usernames starting with c>

a "userhash" level of 2 means that user dirs would be hashed like this
    a/aa/<then all the usernames starting with aa>
    a/ab/<then all the usernames starting with ab>
    a/ac/<then all the usernames starting with ac>

same sort of system could be used for a "domainhash"

There is no disputing that this system would end up having some dirs with
more entries than others, but even on a system with many user accounts,
probably two or at the most three level of hashing would prevent any single
dir from becoming excessively large.  The current vpopmail system doesn't
seem to balance the dirs evenly anyway, so it is not like we would be
loosing any functionality there.

Having a logical directory layout like this also simplifies other issues. Eg
recovering from a corruption in the file/db that stores the hashing info, or
moving domains/accounts between servers.


Reply via email to