On Fri, Jun 25, 1999 at 05:39:11PM +0000, Claudio Di-Martino wrote:
> Basically at startup hdb::ResetTransient sets SolicitAdvice to -1.
> When the HDBDaemon wakes up for the second time it does a
> RequestHoardWalkAdvice which calls AuthorizedUser passing SolicitAdvice
> as the user parameter.
> AuthorizedUser calls ConsoleUser and there it starts to loop:
>
> strcpy(w.ut_line, CONSOLE);
> while (!found && (u = getutline(&w))) {
> pw = getpwnam(u->ut_name);
> if (pw) found = (user == pw->pw_uid);
> }
>
> basically the utline found by getutline returns LOGIN as the ut_name.
> LOGIN isn't found in /etc/passwd so it gets stuck in the loop...
But getutline should at `some' point return a NULL pointer (when it has
read through all lines in the utmp file. Could this be a corrupt utmp
file? You can make AuthorizedUser return without calling ConsoleUser by
giving the following commandline option to venus when it is started.
venus -primaryuser <your_uid>
Jan