[7690] in Athena Bugs

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

Re: xlogin (all versions) 7.2R (and current sources)

daemon@ATHENA.MIT.EDU (Richard Basch)
Wed Jun 26 07:05:10 1991

Date: Wed, 26 Jun 91 07:04:49 -0400
To: eichin@ATHENA.MIT.EDU, bugs@MIT.EDU
From: Richard Basch <basch@MIT.EDU>


    Subject: xlogin (all versions) 7.2R (and current sources)
    Date: Tue, 25 Jun 91 22:20:26 EDT
    From: "Mark W. Eichin" <eichin@MIT.EDU>
    To: bugs@ATHENA.MIT.EDU

    In etc.athena/xdm/xlogin/verify.c, version 1.15, the following logic
    is found:
	    User types invalid user name, no password.
	    verify.c: check local account. (FAILS)
		hes_getpwnam(user) (FAILS)
		clear password
		cleanup(NULL)
	    return (and try again.)

    Note that "cleanup", on line 391, begins by calling dest_tkt(). This
    routine is in the kerberos library; it refers to TKT_FILE, which calls
    tkt_string, which synthesizes a ticket file name out of getuid() (did
    you see a setuid call in the above logic? Nope...) so
    krb_ticket_string gets set to "/tmp/tkt0", which tkt_string returns
    the next time around and uses.
	    A fix would be to simply make sure that krb_set_tkt_string()
    is called around line 126 of verify.c, where the setenv("KRBTKFILE")
    occurs, so that the kerberos library is informed of the new value.

				    _Mark_ <eichin@athena.mit.edu>
				    MIT Student Information Processing Board
				    Watchmaker Computing <eichin@watch.com>

This was recently discovered and will be fixed for 7.3; it has
supposedly been fixed by Mark Rosenstein in his development locker,
which he will be handing over to us as soon as he integrates the RIOS
changes.  (Admittedly, I don't expect anyone to have known this bizarre
status, including QA, which is why I am responding...)

-Richard

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