summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTheodore Tso <tytso@mit.edu>1997-03-28 06:07:24 +0000
committerTheodore Tso <tytso@mit.edu>1997-03-28 06:07:24 +0000
commit6c0324c0e6792df13fb4520924ba576b7613c900 (patch)
treefeafc580d6639fdb5bd3620cc73752af0efa80f4 /src
parentd33420d1df9d1d0146e3dbeb9658f12563e1e367 (diff)
When falling back to the normal rlogin, clear the signal mask, so that
the child rlogin handles SIGUSR1 (which is used for window size changes) correctly. [krb5-appl/335] git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@10032 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/appl/bsd/ChangeLog7
-rw-r--r--src/appl/bsd/krlogin.c9
2 files changed, 16 insertions, 0 deletions
diff --git a/src/appl/bsd/ChangeLog b/src/appl/bsd/ChangeLog
index df05407a8..e588b0000 100644
--- a/src/appl/bsd/ChangeLog
+++ b/src/appl/bsd/ChangeLog
@@ -1,3 +1,10 @@
+Fri Mar 28 01:05:27 1997 Theodore Y. Ts'o <tytso@mit.edu>
+
+ * krlogin.c (try_normal): When falling back to the normal rlogin,
+ clear the signal mask, so that the child rlogin handles
+ SIGUSR1 (which is used for window size changes) correctly.
+ [krb5-appl/335]
+
Tue Mar 18 12:34:03 1997 Sam Hartman <hartmans@luminous.MIT.EDU>
[326] * login.c(doit): Preserve terminal even without -p.
diff --git a/src/appl/bsd/krlogin.c b/src/appl/bsd/krlogin.c
index b4288773f..e0bb4e83d 100644
--- a/src/appl/bsd/krlogin.c
+++ b/src/appl/bsd/krlogin.c
@@ -1565,6 +1565,10 @@ void try_normal(argv)
char **argv;
{
register char *host;
+#ifdef POSIX_SIGNALS
+ struct sigaction sa;
+ sigest_t mask;
+#endif
#ifndef KRB5_ATHENA_COMPAT
if (encrypt_flag)
@@ -1582,6 +1586,11 @@ void try_normal(argv)
if (!strcmp(host, "rlogin"))
argv++;
+#ifdef POSIX_SIGNALS
+ sigemptyset(&mask)
+ sigprocmask(SIG_SETMASK, &mask, NULL);
+#endif
+
execv(UCB_RLOGIN, argv);
perror("exec");
exit(1);