Lance Haig has done some great testing and pointed out a couple of bugs. the first was due to his using a tool to import his imap stuff off netmail to bongo. when the imap daemon got *ported* from the hula trunk to the hula branch (which is now bongo) a lot of things had changed. the most important of those changes was obviously the store. in trunk an mbox format was used that had problems with the concept of sharing a mailbox. functions existed to do crazy things in the case of one person expunging a message and letting someone else know (at least that is what it seemed like in the beginning). the namespace imap command (which his tool needed), had been commented out and replaced with an unknown command error message. i tried to enable the code but found those “crazy things” functions missing from the code. in fact i could not find them anywhere in our codebase. on a whim i decided to check the hula source and bingo there they were. i didn’t spend too much time trying to figure out what they were doing, i just removed the code and re-enabled the namespace command. with the new backend, i’m not sure that we need that information any longer as the store takes care of all of that.
after that he decided to play with his new system and needed to know how global domains worked. i, thankfully, did some testing on that before sending instructions over to him and found that some work needed to be done to get it working. i decided that i might as well get it going with global domains, a concept that we’d discussed and decided to continue.
global domains you say? what are they. well i think we should come up with a better name for them. really what they are is: “my usernames are not fully distinguished. if mail comes in for a user at any global domain, strip off the domain portion and use that for the username.” for example. on my feltonline server here, my username is not fully qualified. so which of the domains that i service does that email address belong to? it belongs to ALL of the domains in my global domain list, at the same time. i figured hey! the aliasing system should be able to handle that if it is possible to alias one domain to the empty string.
i had to code a little bit for it to work, but now the system automagically adds a domain level alias for any domain in the global domains list to the empty string. pretty much changing “pfelt@swedepop.com” into “pfelt” (where swedepop.com is a global domain). i had to add another property to the queue agent’s configuration document “domains” which i think should be changed once we get a decent name for the concept.
the aliaising system is still somewhat limited though so don’t forget!! you still can’t do somegroupname@somedomain.com => user1, user2, user3 type stuff, that’s coming. i’m gonna be doing some more testing on this, but the code has been comitted and i’d appreciate any testing. after all of this coding to getting it working it feels a little hackish how i did it, and i’ll probably end up changing it when i get around to fixing the one to many type situation anyhow.
i hope to be able to get to some python stuff tomorrow so that we can square away the installation stuff (actually setting hosted and global domains on configuration).