Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Sep 1997 00:05:53 +0100
From:      Brian Somers <brian@awfulhak.org>
To:        "Jordan K. Hubbard" <jkh@time.cdrom.com>
Cc:        hackers@FreeBSD.ORG
Subject:   Re: Here's an interesting bug in our utmp handling. 
Message-ID:  <199709142305.AAA24723@awfulhak.demon.co.uk>
In-Reply-To: Your message of "Sun, 14 Sep 1997 13:15:45 PDT." <10396.874268145@time.cdrom.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
> Reported today by one Eddie Wieder..
> 
> Log in somehow (real login, xterm -ls, whatever) and verify your
> user/[pt]ty combo by doing who(1) and tty(1) commands.  Now use
> login(1) to log in as some other user and do the who/tty thing again.
> You'll have a new utmp entry for the user you just logged in as.  Now
> log out and do another who(1).  You'll have had your utmp entry
> smashed and still show up as the user you logged in and out again as.
> 
> Not sure how to fix this one - it's "interesting." :)

This whole thing is a mess in every version of anything that rhymes 
with unix that I've ever come across.

How about removing logwtmp() and having the whole thing dealt with 
by kern_exit.c (is that the right place ?) and tcsetpgrp(3).

The idea is that calling tcsetpgrp() will call tcgetpgrp().  If 
tcgetpgrp() returns an invalid pid, we create a new entry in utmp() 
and tweak a "utmp'd" flag.  Exit of a process would 
move the utmp entry to wtmp if it has the "utmp'd" flag.

Would this work ?  Would it make sense ?

The result AFACT would be that someone doing a "login" themselves would 
not get a new utmp entry whereas anyone associating with a terminal 
for the first time (via getty or allocating a new pty) will get one - 
as they should.  The only problem I forsee is that the UID of the 
process may not be correct at tcsetpgrp() time....

> 					Jordan

-- 
Brian <brian@awfulhak.org>, <brian@freebsd.org>
      <http://www.awfulhak.org>;
Don't _EVER_ lose your sense of humour....





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199709142305.AAA24723>