At present, the following limitations are known to exist with this package, - You should make sure you're aware of the security issues with this code. For that, see the SECURITY text file. - As it currently stands, this code does not handle synonym domains well - i.e. if bob@somedomain is always going to be the same user as bob@someotherdomain, with the current system, you'll need to setup individual aliases for each user in the domains. I plan to rework the hashing, such that it hashes on domain separately to username. This will enable whole domains as well as just userames to be aliased. - Update on the previous point on synonym domains: I think this is trivially fixed with virtualdomains. Not checked this out yet. - At present, none of the programs check whether they are running as the hash user when started. This would be a useful enhancement, with a view to not permitting changes unless the program is run as the correct user. Utilities like showhashdir are harmless as any user, however. - You want extension addresses too? Wow... well, you'll be pleased to know that they still work, but with the hashing as well, they're likely to cause brain overload. Avoid them if you can. That is, stick to users/assign lines like this, +:username:UID:GID:hashdir:H:: (note no dash). Once you add a dash, +:username:UID:GID:hashdir:H:: you'll find your default delivery doesn't work anymore, unless you've touched a corresponding .qmail-name - name being the bit before the @ in name@domain. Default delivery is fine with the first option though. I never did get my head round extension addresses completely anyway.