Applied patch from Scott Schwartz <schwartz@galapagos.cse.psu.edu>
authorTheodore Tso <tytso@mit.edu>
Fri, 1 Dec 1995 22:35:35 +0000 (22:35 +0000)
committerTheodore Tso <tytso@mit.edu>
Fri, 1 Dec 1995 22:35:35 +0000 (22:35 +0000)
commit581f693b276ca7ea11bf3d8d4281442e284acb21
treee01daacecd038105c749378b549e68712061afee
parent71015d877fec8c3db96cc8af219b41d8147fe59b
Applied patch from Scott Schwartz <schwartz@galapagos.cse.psu.edu>

Under SunOS, and maybe other systems, there is a a problem with
krlogind.c and a similar problem with login.c as distributed with
K5.5.

The bug is that rlogind forks a child but retains a controlling tty.
If the child is in the same process group as the parent, which is will
if you don't use a job control shell (chsh /bin/rc), keyboard signals
will kill the daemon.  telnetd dissociates itself properly, but then
login.krb5 waits for the shell to finish, but login.krb5 has the same
ctty as the shell and is in the same process group, so it has the same
problem.

In BSD you used to be able to give up your ctty at will, but SunOS
seems to have setsid as the only mechanism to perform that action, and
setsid can only succeed in limited circumstances.  Rlogind ought to be
fixed to behave more like telnetd, but independent of that, login.krb5
needs to be patched if kerberos is to work properly under SunOS.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@7154 dc483132-0cff-0310-8789-dd5450dbe970
src/appl/bsd/ChangeLog
src/appl/bsd/login.c