diff options
author | 2001-12-06 05:37:03 +0000 | |
---|---|---|
committer | 2001-12-06 05:37:03 +0000 | |
commit | 912cef90766dae1ad1c2e73ff912a72891e8bf5f (patch) | |
tree | 9a9188080eeee346fc2340ea4f856371173a9305 | |
parent | Fix a long standing annoyance with getpass/readpassphrase. Instead of (diff) | |
download | wireguard-openbsd-912cef90766dae1ad1c2e73ff912a72891e8bf5f.tar.xz wireguard-openbsd-912cef90766dae1ad1c2e73ff912a72891e8bf5f.zip |
Do not set handler for SIGINT and SIGQUIT to SIG_IGN since it prevents
getpass()/readpassphrase() from being able to restore the tty mode
on keyboard interrupt. Along with the recent readpassphrase.c commit
this means that if you ^C things that use login scripts (like su(1))
with a non-CBREAK shell your tty mode will be restored nicely.
TODO:
The various login scripts need to install handlers to avoid leaving
turd files or otherwise ending in a bad state. It would also be
nice to send BI_REJECT to the back channel.
-rw-r--r-- | libexec/login_chpass/login_chpass.c | 4 | ||||
-rw-r--r-- | libexec/login_lchpass/login_lchpass.c | 4 | ||||
-rw-r--r-- | libexec/login_passwd/login.c | 4 | ||||
-rw-r--r-- | libexec/login_reject/login_reject.c | 4 | ||||
-rw-r--r-- | libexec/login_skey/login_skey.c | 4 | ||||
-rw-r--r-- | libexec/login_token/login_token.c | 4 |
6 files changed, 6 insertions, 18 deletions
diff --git a/libexec/login_chpass/login_chpass.c b/libexec/login_chpass/login_chpass.c index a3ef0a0d20e..72e8ed93829 100644 --- a/libexec/login_chpass/login_chpass.c +++ b/libexec/login_chpass/login_chpass.c @@ -1,4 +1,4 @@ -/* $OpenBSD: login_chpass.c,v 1.2 2001/10/24 13:06:35 mpech Exp $ */ +/* $OpenBSD: login_chpass.c,v 1.3 2001/12/06 05:37:03 millert Exp $ */ /*- * Copyright (c) 1995,1996 Berkeley Software Design, Inc. All rights reserved. @@ -99,8 +99,6 @@ main(argc, argv) rl.rlim_max = 0; (void)setrlimit(RLIMIT_CORE, &rl); - (void)signal(SIGQUIT, SIG_IGN); - (void)signal(SIGINT, SIG_IGN); (void)setpriority(PRIO_PROCESS, 0, 0); openlog("login", LOG_ODELAY, LOG_AUTH); diff --git a/libexec/login_lchpass/login_lchpass.c b/libexec/login_lchpass/login_lchpass.c index fd29ac27d3c..9c9d72c645e 100644 --- a/libexec/login_lchpass/login_lchpass.c +++ b/libexec/login_lchpass/login_lchpass.c @@ -1,4 +1,4 @@ -/* $OpenBSD: login_lchpass.c,v 1.3 2001/10/24 13:06:35 mpech Exp $ */ +/* $OpenBSD: login_lchpass.c,v 1.4 2001/12/06 05:37:04 millert Exp $ */ /*- * Copyright (c) 1995,1996 Berkeley Software Design, Inc. All rights reserved. @@ -72,8 +72,6 @@ main(argc, argv) rl.rlim_max = 0; (void)setrlimit(RLIMIT_CORE, &rl); - (void)signal(SIGQUIT, SIG_IGN); - (void)signal(SIGINT, SIG_IGN); (void)setpriority(PRIO_PROCESS, 0, 0); openlog("login", LOG_ODELAY, LOG_AUTH); diff --git a/libexec/login_passwd/login.c b/libexec/login_passwd/login.c index ae8474da93a..039d08d3f9d 100644 --- a/libexec/login_passwd/login.c +++ b/libexec/login_passwd/login.c @@ -1,4 +1,4 @@ -/* $OpenBSD: login.c,v 1.2 2001/08/09 15:18:45 millert Exp $ */ +/* $OpenBSD: login.c,v 1.3 2001/12/06 05:37:04 millert Exp $ */ /*- * Copyright (c) 1995 Berkeley Software Design, Inc. All rights reserved. @@ -50,8 +50,6 @@ main(int argc, char **argv) invokinguser[0] = '\0'; - signal(SIGQUIT, SIG_IGN); - signal(SIGINT, SIG_IGN); setpriority(PRIO_PROCESS, 0, 0); openlog(NULL, LOG_ODELAY, LOG_AUTH); diff --git a/libexec/login_reject/login_reject.c b/libexec/login_reject/login_reject.c index 92d8bfe909f..b2655f6cfc1 100644 --- a/libexec/login_reject/login_reject.c +++ b/libexec/login_reject/login_reject.c @@ -1,4 +1,4 @@ -/* $OpenBSD: login_reject.c,v 1.2 2001/10/24 13:06:35 mpech Exp $ */ +/* $OpenBSD: login_reject.c,v 1.3 2001/12/06 05:37:04 millert Exp $ */ /*- * Copyright (c) 1995 Berkeley Software Design, Inc. All rights reserved. @@ -67,8 +67,6 @@ main(argc, argv) rl.rlim_max = 0; (void)setrlimit(RLIMIT_CORE, &rl); - (void)signal(SIGQUIT, SIG_IGN); - (void)signal(SIGINT, SIG_IGN); (void)setpriority(PRIO_PROCESS, 0, 0); openlog("login", LOG_ODELAY, LOG_AUTH); diff --git a/libexec/login_skey/login_skey.c b/libexec/login_skey/login_skey.c index 6d0cf6938bd..e3a1d7142bb 100644 --- a/libexec/login_skey/login_skey.c +++ b/libexec/login_skey/login_skey.c @@ -1,4 +1,4 @@ -/* $OpenBSD: login_skey.c,v 1.4 2001/10/24 13:06:35 mpech Exp $ */ +/* $OpenBSD: login_skey.c,v 1.5 2001/12/06 05:37:04 millert Exp $ */ /*- * Copyright (c) 1995 Berkeley Software Design, Inc. All rights reserved. @@ -73,8 +73,6 @@ main(argc, argv) skeyprompt[0] = '\0'; - (void)signal(SIGQUIT, SIG_IGN); - (void)signal(SIGINT, SIG_IGN); (void)signal(SIGALRM, timedout); (void)setpriority(PRIO_PROCESS, 0, 0); diff --git a/libexec/login_token/login_token.c b/libexec/login_token/login_token.c index c03dd49bd2d..37bbd0f3cf6 100644 --- a/libexec/login_token/login_token.c +++ b/libexec/login_token/login_token.c @@ -1,4 +1,4 @@ -/* $OpenBSD: login_token.c,v 1.3 2001/10/24 13:06:36 mpech Exp $ */ +/* $OpenBSD: login_token.c,v 1.4 2001/12/06 05:37:04 millert Exp $ */ /*- * Copyright (c) 1995, 1996 Berkeley Software Design, Inc. All rights reserved. @@ -67,8 +67,6 @@ main(argc, argv) int mode = 0; struct rlimit cds; - (void)signal(SIGQUIT, SIG_IGN); - (void)signal(SIGINT, SIG_IGN); (void)setpriority(PRIO_PROCESS, 0, 0); openlog(NULL, LOG_ODELAY, LOG_AUTH); |