diff options
author | Richard Levitte <levitte@openssl.org> | 2018-05-02 14:28:53 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2018-05-14 11:01:45 +0200 |
commit | 4080f4d2fefbb7186171eb620d565e91f56be5b3 (patch) | |
tree | 84c09ef04cb0b3e11e4c0dda85b05af80ee6c56d /crypto | |
parent | 66e4a8944b894b9301226bad193a7d8ec330742d (diff) |
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/6158)
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/ui/ui_openssl.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/crypto/ui/ui_openssl.c b/crypto/ui/ui_openssl.c index 8a43590319..5dcb91a065 100644 --- a/crypto/ui/ui_openssl.c +++ b/crypto/ui/ui_openssl.c @@ -567,17 +567,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); |