[6237] in Kerberos

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

SIGINT in the rlogind child

daemon@ATHENA.MIT.EDU (Gary Gaskell)
Thu Nov 16 02:52:12 1995

Date: Thu, 16 Nov 1995 17:40:37 +1000 (EST)
From: Gary Gaskell <gaskell@dstc.edu.au>
To: kerberos@MIT.EDU

Version details: V5 beta 5 on DEC OSF/1 v 3.2

Background:
Using kerbersied rlogin to secure connections between research labs on 
different university campuses.  Some users complained that a ^C on the 
rlogin client caused the rlogin session itself to abort, rather than just 
to kill some process they were running on the remote computer.

SIGINT is ignored in the client, but the ^C is sent to the server, where 
it kills the child.  This kills the session, and the client reports 
"Connection Closed".

So I got into krlogind.c and in the child , told it to ignore any SIGINT 
signals.


The question:
Any reason why this should not be done?

Have I missed something and it should be configured 
elsewhere?  So far my modification works and my users are happy.

Details of the simple mod below.

regards


Gary Gaskell                         Cooperative Research Centre for
Research Scientist                   Distributed Systems Technology
DSTC                                 Ph:   61 7 3864 1051
Level 12, ITE Building               Fax:  61 7 3864 1282
Queensland University of Technology  Email:  gaskell@dstc.edu.au  
Brisbane, Australia.
_________________________________________________________________

Kerberos V5 Beta 5

At line 868 of ~src/appl/bsd/krlogind.c

#ifdef POSIX_SIGNALS
    sa.sa_handler = SIG_IGN;
    (void) sigaction(SIGTSTP, &sa, (struct sigaction *)0);

    syslog (LOG_WARNING, "turning off SIGINT in rlogind child");
    sigignore (SIGINT);
#else
    syslog (LOG_WARNING, "turning off SIGINT in rlogind child");
    signal(SIGINT, SIG_IGN);
    signal(SIGTSTP, SIG_IGN);
#endif


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