[2714] in Kerberos-V5-bugs
Re: krb5-appl/406: telnetd hoses the host at fork()
daemon@ATHENA.MIT.EDU (Doug Engert)
Tue Apr 1 10:25:51 1997
Date: Tue, 1 Apr 1997 09:18:15 -0600
From: Doug Engert <DEEngert@anl.gov>
To: "Theodore Y. Ts'o" <tytso@MIT.EDU>
Cc: krb5-bugs@MIT.EDU, mdo1@dbatest.cit.cornell.edu,
krb5-unassigned@RT-11.MIT.EDU, gnats-admin@RT-11.MIT.EDU,
krb5-prs@RT-11.MIT.EDU
In-Reply-To: <9704010021.AA03887@dcl.MIT.EDU>
Theodore Y. Ts'o writes:
> Date: Fri, 28 Mar 1997 15:49:42 -0500
> From: mdo1@dbatest.cit.cornell.edu (Michael D Oltz)
>
> tried to use the 16-bit NCSA Telnet for Windows bundled
> with the K5 1.0 release to connect to my K5 server host
> running the K5 telnetd (on a high port number as an
> alternate). daemon gets through authentication okay,
> then it calls startslave. when it gets to the fork
> call, the daemon causes a hard crash (cold boot required).
> i haven't stepped into the kernel yet, but it crashes
> fast enough that gdb doesn't report the creation of a
> new thread. it could be that the child starts, but dies
> before the parent gets to return from the fork()
> p.s. i can gssftp from aforementioned
> host to itself without trouble. but self-telnet dies.
> connecting with any vanilla telnet client causes the
> same problem. any advice? anybody else had this problem?
Yes. login.krb5 hangs my AIX 4.1.4 systems as well. I have not tried
it on a AIX 4.2 system yet.
A circumvention is to use the AIX login instead of the login.krb5.
This will work for the telnetd and rlogind. But not for a login at the
console. Have sbin/login.krb5 -> /usr/bin/login. I am doing this on our
AIX 4.1.4 and AIX 4.2 systems. Both are using the K5-1.0 built on AIX
4.1.4 (I actually have login.krb5 -> k5prelogin which checks for DCE
and/or AFS and execs k5dcelogin and/or k5afslogin, which then exec
/usr/bin/login instead of the login.krb5)
>
> This is a known problem with AIX 4.1; our pty handling is somehow
> causing AIX 4.x to lock up and crash. While this clearly means there's
> a bug in our pty library, it's also a major bug in AIX that a user
> program can cause the kernel to panic.
>
> We don't have any AIX machines within easy access of our development
> team, so we're going to be relying on others (who have the misfortune of
> having to use AIX :-) to try to fix this problem. For whatever it's
> worth, our pty code works just fine under AIX 3.x; not only do the
> kernels not panic, but telnetd and rlogind actually work! Clearly, IBM
> changed some very significant things in its pty handling code between
> AIX 3 and AIX 4.
>
> If anyone has any suggestions, or better yet patches, we would be
> greatly appreciative of them.
>
> - Ted
I noticed today that the configure.in in the util/pty directory has the
following:
*-*-aix3*) # AIX has streams include files but not streams TTY
# Moreover, strops.h trashes sys/ioctl.h
krb5_cv_has_streams=no
Is this the same problem, or a similar problem: mixing streams pty
calls with a non-stream driver? I can't find a strops.h but there is a
sys/stropts.h on AIX 4.1.4 which does get included by
util/pty/pty-int.h Yet the device which appears to get opened is the
/dev/ptc which I don't believe is the streams driver.
Should the test be expanded to include AIX 4?
Try removing the -DHAVE_STREAMS=1 from the util/pty/Makefile and
rebuilding the lib, and telnetd, and see if it still fails.
--
Douglas E. Engert <DEEngert@anl.gov>
Argonne National Laboratory
9700 South Cass Avenue
Argonne, Illinois 60439
(630) 252-5444