* Faster search algorithm for finding unused UIDs/GIDs - This is mostly done, we're now using a bitvector and a single search which seems to greatly increase speed * Bug checking * Move utils to a real API * prefix each function with CPU_ * change all code to match * There is a bug. If you add a user and group with USERGROUPS = yes (say user1 and then a group is added automagically called user1, also say that the next available uid is 100 and the next available gid is 100). Now, calling userdel user1 deletes user1 but not the group entry. Now say you want to readd user1, so you type cpu useradd user1. The next available userid will be 100 again, and the next available gid will be 101. However there is already a group named user1. So when you readd user1 it gets uid 100, gid 101 but there will be no group in the directory with gid 101. The solution seems to be that if USERGROUPS = yes then we first check to see if that group exists. Not sure what to do if that condition is true. Problems I haven't yet figured out * What does dmalloc suck so bad? It catches things that make no sense. Things that people want that I have promised * Support administration of flat files * Win2k administration