I've been griping about this for some time and Ken implemented a new feature in 4.9.7 that helped alleviate the problem a little bit but because there is no real file locking over NFS, I was still have problems with my ~vpopmail/etc/open-smtp file getting overwritten by other processes as users simultaneously authenticated. The problem didn't become noticable until my POP traffic started getting up to around 100 authentications per minute. Since then it's grown progressively worse until today. There is already a solution for the problem coded into vpopmail but unfortunately, it's not one I can use (at this time). If you compile vpopmail with the --use-mysql feature, it'll store all the authentication databases AND the open smtp relay table in a MySQL database. Unfortunately, I'm using some other software that doesn't yet support MySQL authentication so I wanted to have only the smtp relay information stored in MySQL. So, with my very rudimentary knowledge of C, I delved into the source code, figured out where the hooks are that store away the smtp relay information and hacked up some changes to it. In a couple hours I had a working copy of vpopmail authenticating out of cdb files and storing the smtp relay in a MySQL table. The real fun began when I decided to implement it The Right Way. After consulting a few primers on automake and autoconf, I made a few changes to the configure scripts, a variety of source code tweaks, and then finally built a patch that can be applied over a virgin 4.9.7 source tree. My hacks are a new configure option (--enable-roaming-users=mysql) and hopefully they'll be integrated into the next release of vpopmail. If you want to play/test/make fun of it, it's available on my web site (http://matt.simerson.net/computing/qmail.toaster.shtml) for your amusement. Wahoo, I've got 147 entries in my relay table...I couldn't get 25 in the open-smtp file before it would get overwritten. :-) Matt
