[6237] in Kerberos
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