[5290] in Athena Bugs

home help back first fref pref prev next nref lref last post

deactivation of rloggedinto workstations

daemon@ATHENA.MIT.EDU (Jonathan I. Kamens)
Tue Jun 26 15:33:14 1990

Date: Tue, 26 Jun 90 15:32:56 -0400
From: "Jonathan I. Kamens" <jik@pit-manager.MIT.EDU>
To: jh@ATHENA.MIT.EDU
Cc: bugs@ATHENA.MIT.EDU, jh@ATHENA.MIT.EDU
In-Reply-To: bugs[5166]

   Date: Wed, 13 Jun 90 15:00:34 -0400
   From: Joe Harrington <jh@ATHENA.MIT.EDU>
   Reply-To: jh@ATHENA.MIT.EDU

   This isn't technically a bug, but I think it's an error in the
   design.  Someone logs into a workstation display and sets access_on
   so i can rlogin under him.  I do.  Then he logs out.  The
   workstation deactivates under me, nuking the password file.  Can't
   deactivation be contingent on there being no logins?  (For that
   matter, can activation happen automatically for any login except a
   ^P login.)

  Deactivation *is* contingent on there being no logins.  In
particular, here's the section of code from toehold
(/source/athena/etc.athena/toehold.c) that decides whether or not to
deactivate:

    /* Gets called WAKE_UP_INTERVAL seconds after xterm exits */
    /* or after no key is hit */
    /* Runs cleanup daemon if no users are logged in */
    void wait_alarm()
    {
	struct utmp utmp;
	int file;
	int deact = 1;

	if((file = open(utmpf, O_RDONLY, 0)) >= 0) {
	    while(read(file, (char *) &utmp, sizeof(utmp)) > 0) {
		if(*utmp.ut_name) {
		     deact = 0;
		     break;
		}
	    }
	    close(file);
	    if (deact)
		 deactivate_workstation();
	}

	/* Here if someone's logged in or we can't open utmp */
	/* If we don't have an X, restart toehold */
	if(!wpid) {
	    die(0);
	}
    }

If you can reliably reproduce a situation in which you are logged into
a workstation remotely, and it still deactivates, please let us know
and we'll try to figure out what's going on.

 Jonathan Kamens
 Project Athena Quality Assurance

home help back first fref pref prev next nref lref last post