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

Reply via email to