mirror of
https://github.com/openssl/openssl.git
synced 2024-11-21 01:15:20 +08:00
UI console: Restore tty settings, do not force ECHO after prompt
The Console UI method always set echo on after prompting without echo. However, echo might not have been on originally, so just restore the original TTY settings. Fixes #2373 Reviewed-by: Andy Polyakov <appro@openssl.org> (Merged from https://github.com/openssl/openssl/pull/6156)
This commit is contained in:
parent
1c534560dc
commit
de03cc92d1
@ -503,17 +503,13 @@ static int echo_console(UI *ui)
|
||||
{
|
||||
# if defined(TTY_set) && !defined(OPENSSL_SYS_VMS)
|
||||
memcpy(&(tty_new), &(tty_orig), sizeof(tty_orig));
|
||||
tty_new.TTY_FLAGS |= ECHO;
|
||||
# endif
|
||||
|
||||
# if defined(TTY_set) && !defined(OPENSSL_SYS_VMS)
|
||||
if (is_a_tty && (TTY_set(fileno(tty_in), &tty_new) == -1))
|
||||
return 0;
|
||||
# endif
|
||||
# ifdef OPENSSL_SYS_VMS
|
||||
if (is_a_tty) {
|
||||
tty_new[0] = tty_orig[0];
|
||||
tty_new[1] = tty_orig[1] & ~TT$M_NOECHO;
|
||||
tty_new[1] = tty_orig[1];
|
||||
tty_new[2] = tty_orig[2];
|
||||
status = sys$qiow(0, channel, IO$_SETMODE, &iosb, 0, 0, tty_new, 12,
|
||||
0, 0, 0, 0);
|
||||
@ -534,7 +530,6 @@ static int echo_console(UI *ui)
|
||||
# if defined(_WIN32) && !defined(_WIN32_WCE)
|
||||
if (is_a_tty) {
|
||||
tty_new = tty_orig;
|
||||
tty_new |= ENABLE_ECHO_INPUT;
|
||||
SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), tty_new);
|
||||
}
|
||||
# endif
|
||||
|
Loading…
Reference in New Issue
Block a user