[4068] in Kerberos
K5 telnet on SunOS
daemon@ATHENA.MIT.EDU (Joe Ramus)
Fri Oct 21 22:27:44 1994
Date: Fri, 21 Oct 94 19:17:49 PDT
From: ramus@nersc.gov (Joe Ramus)
To: krb5-bugs@MIT.EDU, kerberos@MIT.EDU
I noted a problem with telnet in K5.4.2 when using a Command Tool
window on SunOS. After using telnet to connect to a remote host,
if I used ^C (Interrupt) it would disconnect the entire session.
I discovered that the telnet client under SunOS is getting an
Interrupt signal and the signal handler ended up causing an exit().
The code for this is in src/appl/telnet/telnet/sys_bsd.c
It seems like the variable localchars should be true but it
was not. So I forced it true. Then I modified the signal handler
code to send the Interrupt character and return.
The original code called intp() which ended up delivering a
NULL character on the remote host.
Here is a diff showing my changes.
----------------------------------------------------------------
| Joe Ramus NERSC Livermore (510) 423-8917 ramus@nersc.gov |
----------------------------------------------------------------
*** src/appl/telnet/telnet/sys_bsd.c Thu Aug 18 12:49:38 1994
--- sun4/appl/telnet/telnet/sys_bsd.c Fri Oct 21 19:01:05 1994
***************
*** 502,507 ****
--- 502,510 ----
#endif
localchars = 1;
}
+ #ifdef NERSC_SUN4x
+ localchars = 1; /* NERSC fix */
+ #endif
if (f&MODE_EDIT) {
#ifndef USE_TERMIO
***************
*** 833,840 ****
--- 836,848 ----
int sig;
{
if (localchars) {
+ #ifdef NERSC_SUN4x
+ NETADD(termIntChar); /* NERSC fix */
+ return;
+ #else
intp();
return;
+ #endif
}
setcommandmode();
longjmp(toplevel, -1);