On Thu, 19 Aug 1999, Coda wrote:
> pdbtool> nui testu 570
> Assertion failed: uid >= 0 && gid <= 0, file "pdbdb.c", line 181
> VENUS IS EXITTING! Bye!
When you create a new user it uses a PDB database function somewhere to
figure out what the next ID should be. Sometimes this function gets
screwed up and returns a bogus value (e.g. positive when it should be
negative, or vice versa).
I replaced the assertion on line 181 of pdbdb.c with this:
if (*uid < 0) *uid = 0;
if (*gid > 0) *gid = 0;
This doesn't get rid of the bug (your new ID simply gets assigned as
"zero"), but it at least gives you a chance to set it to something else
with the "ci" command. Unfortunately I never got around to figuring out
how to repair the database itself.
If you're a programmer, you might consider overhauling the pdbtool (and at
some point the entire CODA authentication system). In fact, if someone is
interested in this, I'd happy to write up a list of what I perceive as
some major "lacking areas" of the CODA authentication system design, and
proposals for how I think they should be fixed. :-)
-Pete