From: Richard Levitte Date: Wed, 2 May 2018 12:28:53 +0000 (+0200) Subject: UI console: Restore tty settings, do not force ECHO after prompt X-Git-Tag: OpenSSL_1_0_2p~51 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=4080f4d2fefbb7186171eb620d565e91f56be5b3;p=oweals%2Fopenssl.git 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 (Merged from https://github.com/openssl/openssl/pull/6158) --- 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);