[4068] in Kerberos

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

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);

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