Loading crypto/ui/ui_openssl.c +143 −80 Original line number Original line Diff line number Diff line Loading @@ -56,8 +56,68 @@ * * */ */ #if !defined(MSDOS) && !defined(VMS) && !defined(WIN32) /* The lowest level part of this file was previously in crypto/des/read_pwd.c, * Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * "This product includes cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ #include <openssl/opensslconf.h> #include <openssl/opensslconf.h> #if !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_VMS) # ifdef OPENSSL_UNISTD # ifdef OPENSSL_UNISTD # include OPENSSL_UNISTD # include OPENSSL_UNISTD # else # else Loading @@ -75,9 +135,8 @@ # endif # endif #endif #endif /* #define SIGACTION */ /* Define this if you have sigaction() */ #ifdef WIN16TTY #ifdef WIN16TTY # undef OPENSSL_SYS_WIN16 # undef WIN16 # undef WIN16 # undef _WINDOWS # undef _WINDOWS # include <graph.h> # include <graph.h> Loading @@ -92,7 +151,7 @@ #include <setjmp.h> #include <setjmp.h> #include <errno.h> #include <errno.h> #ifdef VMS /* prototypes for sys$whatever */ #ifdef OPENSSL_SYS_VMS /* prototypes for sys$whatever */ # include <starlet.h> # include <starlet.h> # ifdef __DECC # ifdef __DECC # pragma message disable DOLLARID # pragma message disable DOLLARID Loading Loading @@ -127,7 +186,7 @@ # undef SGTTY # undef SGTTY #endif #endif #if !defined(TERMIO) && !defined(TERMIOS) && !defined(VMS) && !defined(MSDOS) && !defined(MAC_OS_pre_X) && !defined(MAC_OS_GUSI_SOURCE) #if !defined(TERMIO) && !defined(TERMIOS) && !defined(OPENSSL_SYS_VMS) && !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_MACINTOSH_CLASSIC) && !defined(MAC_OS_GUSI_SOURCE) # undef TERMIOS # undef TERMIOS # undef TERMIO # undef TERMIO # define SGTTY # define SGTTY Loading Loading @@ -157,16 +216,15 @@ # define TTY_set(tty,data) ioctl(tty,TIOCSETP,data) # define TTY_set(tty,data) ioctl(tty,TIOCSETP,data) #endif #endif #if !defined(_LIBC) && !defined(MSDOS) && !defined(VMS) && !defined(MAC_OS_pre_X) #if !defined(_LIBC) && !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_VMS) && !defined(OPENSSL_SYS_MACINTOSH_CLASSIC) # include <sys/ioctl.h> # include <sys/ioctl.h> #endif #endif #ifdef MSDOS #ifdef OPENSSL_SYS_MSDOS # include <conio.h> # include <conio.h> #define fgets(a,b,c) noecho_fgets(a,b,c) #endif #endif #ifdef VMS #ifdef OPENSSL_SYS_VMS # include <ssdef.h> # include <ssdef.h> # include <iodef.h> # include <iodef.h> # include <ttdef.h> # include <ttdef.h> Loading @@ -178,7 +236,7 @@ struct IOSB { }; }; #endif #endif #if defined(MAC_OS_pre_X) || defined(MAC_OS_GUSI_SOURCE) #if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) || defined(MAC_OS_GUSI_SOURCE) /* /* * This one needs work. As a matter of fact the code is unoperational * This one needs work. As a matter of fact the code is unoperational * and this is only a trick to get it compiled. * and this is only a trick to get it compiled. Loading @@ -200,14 +258,14 @@ static void (*savsig[NX509_SIG])(int ); #endif #endif static jmp_buf save; static jmp_buf save; #ifdef VMS #ifdef OPENSSL_SYS_VMS static struct IOSB iosb; static struct IOSB iosb; static $DESCRIPTOR(terminal,"TT"); static $DESCRIPTOR(terminal,"TT"); static long tty_orig[3], tty_new[3]; static long tty_orig[3], tty_new[3]; static long status; static long status; static unsigned short channel = 0; static unsigned short channel = 0; #else #else #ifndef MSDOS #ifndef OPENSSL_SYS_MSDOS static TTY_STRUCT tty_orig,tty_new; static TTY_STRUCT tty_orig,tty_new; #endif #endif #endif #endif Loading @@ -219,7 +277,7 @@ static void read_till_nl(FILE *); static void recsig(int); static void recsig(int); static void pushsig(void); static void pushsig(void); static void popsig(void); static void popsig(void); #if defined(MSDOS) && !defined(WIN16) #if defined(OENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN16) static int noecho_fgets(char *buf, int size, FILE *tty); static int noecho_fgets(char *buf, int size, FILE *tty); #endif #endif static int read_string_inner(UI *ui, UI_STRING *uis, int echo); static int read_string_inner(UI *ui, UI_STRING *uis, int echo); Loading Loading @@ -313,7 +371,7 @@ static int read_string_inner(UI *ui, UI_STRING *uis, int echo) char *result = OPENSSL_malloc(BUFSIZ); char *result = OPENSSL_malloc(BUFSIZ); int maxsize = BUFSIZ-1; int maxsize = BUFSIZ-1; #ifndef WIN16 #ifndef OPENSSL_SYS_WIN16 if (setjmp(save)) if (setjmp(save)) { { ok=0; ok=0; Loading @@ -333,6 +391,11 @@ static int read_string_inner(UI *ui, UI_STRING *uis, int echo) char *p; char *p; result[0]='\0'; result[0]='\0'; #ifdef OPENSSL_SYS_MSDOS if (!echo) noecho_fgets(result,maxsize,tty); else #endif fgets(result,maxsize,tty); fgets(result,maxsize,tty); if (feof(tty)) goto error; if (feof(tty)) goto error; if (ferror(tty)) goto error; if (ferror(tty)) goto error; Loading Loading @@ -366,10 +429,10 @@ static int open_console(UI *ui) CRYPTO_w_lock(CRYPTO_LOCK_UI); CRYPTO_w_lock(CRYPTO_LOCK_UI); is_a_tty = 1; is_a_tty = 1; #ifdef MSDOS #ifdef OPENSSL_SYS_MSDOS if ((tty=fopen("con","w+")) == NULL) if ((tty=fopen("con","w+")) == NULL) tty=stdin; tty=stdin; #elif defined(MAC_OS_pre_X) #elif defined(OPENSSL_SYS_MACINTOSH_CLASSIC) tty=stdin; tty=stdin; #else #else if ((tty=fopen("/dev/tty","w+")) == NULL) if ((tty=fopen("/dev/tty","w+")) == NULL) Loading @@ -394,7 +457,7 @@ static int open_console(UI *ui) return 0; return 0; } } #endif #endif #ifdef VMS #ifdef OPENSSL_SYS_VMS status = sys$assign(&terminal,&channel,0,0); status = sys$assign(&terminal,&channel,0,0); if (status != SS$_NORMAL) if (status != SS$_NORMAL) return 0; return 0; Loading @@ -412,11 +475,11 @@ static int noecho_console(UI *ui) tty_new.TTY_FLAGS &= ~ECHO; tty_new.TTY_FLAGS &= ~ECHO; #endif #endif #if defined(TTY_set) && !defined(VMS) #if defined(TTY_set) && !defined(OPENSSL_SYS_VMS) if (is_a_tty && (TTY_set(fileno(tty),&tty_new) == -1)) if (is_a_tty && (TTY_set(fileno(tty),&tty_new) == -1)) return 0; return 0; #endif #endif #ifdef VMS #ifdef OPENSSL_SYS_VMS tty_new[0] = tty_orig[0]; tty_new[0] = tty_orig[0]; tty_new[1] = tty_orig[1] | TT$M_NOECHO; tty_new[1] = tty_orig[1] | TT$M_NOECHO; tty_new[2] = tty_orig[2]; tty_new[2] = tty_orig[2]; Loading @@ -429,16 +492,16 @@ static int noecho_console(UI *ui) static int echo_console(UI *ui) static int echo_console(UI *ui) { { #if defined(TTY_set) && !defined(VMS) #if defined(TTY_set) && !defined(OPENSSL_SYS_VMS) memcpy(&(tty_new),&(tty_orig),sizeof(tty_orig)); memcpy(&(tty_new),&(tty_orig),sizeof(tty_orig)); tty_new.TTY_FLAGS |= ECHO; tty_new.TTY_FLAGS |= ECHO; #endif #endif #if defined(TTY_set) && !defined(VMS) #if defined(TTY_set) && !defined(OPENSSL_SYS_VMS) if (is_a_tty && (TTY_set(fileno(tty),&tty_new) == -1)) if (is_a_tty && (TTY_set(fileno(tty),&tty_new) == -1)) return 0; return 0; #endif #endif #ifdef VMS #ifdef OPENSSL_SYS_VMS tty_new[0] = tty_orig[0]; tty_new[0] = tty_orig[0]; tty_new[1] = tty_orig[1] & ~TT$M_NOECHO; tty_new[1] = tty_orig[1] & ~TT$M_NOECHO; tty_new[2] = tty_orig[2]; tty_new[2] = tty_orig[2]; Loading @@ -452,7 +515,7 @@ static int echo_console(UI *ui) static int close_console(UI *ui) static int close_console(UI *ui) { { if (stdin != tty) fclose(tty); if (stdin != tty) fclose(tty); #ifdef VMS #ifdef OPENSSL_SYS_VMS status = sys$dassgn(channel); status = sys$dassgn(channel); #endif #endif CRYPTO_w_unlock(CRYPTO_LOCK_UI); CRYPTO_w_unlock(CRYPTO_LOCK_UI); Loading Loading @@ -530,7 +593,7 @@ static void recsig(int i) /* Internal functions specific for Windows */ /* Internal functions specific for Windows */ #if defined(MSDOS) && !defined(WIN16) #if defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN16) static int noecho_fgets(char *buf, int size, FILE *tty) static int noecho_fgets(char *buf, int size, FILE *tty) { { int i; int i; Loading Loading
crypto/ui/ui_openssl.c +143 −80 Original line number Original line Diff line number Diff line Loading @@ -56,8 +56,68 @@ * * */ */ #if !defined(MSDOS) && !defined(VMS) && !defined(WIN32) /* The lowest level part of this file was previously in crypto/des/read_pwd.c, * Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * "This product includes cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */ #include <openssl/opensslconf.h> #include <openssl/opensslconf.h> #if !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_VMS) # ifdef OPENSSL_UNISTD # ifdef OPENSSL_UNISTD # include OPENSSL_UNISTD # include OPENSSL_UNISTD # else # else Loading @@ -75,9 +135,8 @@ # endif # endif #endif #endif /* #define SIGACTION */ /* Define this if you have sigaction() */ #ifdef WIN16TTY #ifdef WIN16TTY # undef OPENSSL_SYS_WIN16 # undef WIN16 # undef WIN16 # undef _WINDOWS # undef _WINDOWS # include <graph.h> # include <graph.h> Loading @@ -92,7 +151,7 @@ #include <setjmp.h> #include <setjmp.h> #include <errno.h> #include <errno.h> #ifdef VMS /* prototypes for sys$whatever */ #ifdef OPENSSL_SYS_VMS /* prototypes for sys$whatever */ # include <starlet.h> # include <starlet.h> # ifdef __DECC # ifdef __DECC # pragma message disable DOLLARID # pragma message disable DOLLARID Loading Loading @@ -127,7 +186,7 @@ # undef SGTTY # undef SGTTY #endif #endif #if !defined(TERMIO) && !defined(TERMIOS) && !defined(VMS) && !defined(MSDOS) && !defined(MAC_OS_pre_X) && !defined(MAC_OS_GUSI_SOURCE) #if !defined(TERMIO) && !defined(TERMIOS) && !defined(OPENSSL_SYS_VMS) && !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_MACINTOSH_CLASSIC) && !defined(MAC_OS_GUSI_SOURCE) # undef TERMIOS # undef TERMIOS # undef TERMIO # undef TERMIO # define SGTTY # define SGTTY Loading Loading @@ -157,16 +216,15 @@ # define TTY_set(tty,data) ioctl(tty,TIOCSETP,data) # define TTY_set(tty,data) ioctl(tty,TIOCSETP,data) #endif #endif #if !defined(_LIBC) && !defined(MSDOS) && !defined(VMS) && !defined(MAC_OS_pre_X) #if !defined(_LIBC) && !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_VMS) && !defined(OPENSSL_SYS_MACINTOSH_CLASSIC) # include <sys/ioctl.h> # include <sys/ioctl.h> #endif #endif #ifdef MSDOS #ifdef OPENSSL_SYS_MSDOS # include <conio.h> # include <conio.h> #define fgets(a,b,c) noecho_fgets(a,b,c) #endif #endif #ifdef VMS #ifdef OPENSSL_SYS_VMS # include <ssdef.h> # include <ssdef.h> # include <iodef.h> # include <iodef.h> # include <ttdef.h> # include <ttdef.h> Loading @@ -178,7 +236,7 @@ struct IOSB { }; }; #endif #endif #if defined(MAC_OS_pre_X) || defined(MAC_OS_GUSI_SOURCE) #if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) || defined(MAC_OS_GUSI_SOURCE) /* /* * This one needs work. As a matter of fact the code is unoperational * This one needs work. As a matter of fact the code is unoperational * and this is only a trick to get it compiled. * and this is only a trick to get it compiled. Loading @@ -200,14 +258,14 @@ static void (*savsig[NX509_SIG])(int ); #endif #endif static jmp_buf save; static jmp_buf save; #ifdef VMS #ifdef OPENSSL_SYS_VMS static struct IOSB iosb; static struct IOSB iosb; static $DESCRIPTOR(terminal,"TT"); static $DESCRIPTOR(terminal,"TT"); static long tty_orig[3], tty_new[3]; static long tty_orig[3], tty_new[3]; static long status; static long status; static unsigned short channel = 0; static unsigned short channel = 0; #else #else #ifndef MSDOS #ifndef OPENSSL_SYS_MSDOS static TTY_STRUCT tty_orig,tty_new; static TTY_STRUCT tty_orig,tty_new; #endif #endif #endif #endif Loading @@ -219,7 +277,7 @@ static void read_till_nl(FILE *); static void recsig(int); static void recsig(int); static void pushsig(void); static void pushsig(void); static void popsig(void); static void popsig(void); #if defined(MSDOS) && !defined(WIN16) #if defined(OENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN16) static int noecho_fgets(char *buf, int size, FILE *tty); static int noecho_fgets(char *buf, int size, FILE *tty); #endif #endif static int read_string_inner(UI *ui, UI_STRING *uis, int echo); static int read_string_inner(UI *ui, UI_STRING *uis, int echo); Loading Loading @@ -313,7 +371,7 @@ static int read_string_inner(UI *ui, UI_STRING *uis, int echo) char *result = OPENSSL_malloc(BUFSIZ); char *result = OPENSSL_malloc(BUFSIZ); int maxsize = BUFSIZ-1; int maxsize = BUFSIZ-1; #ifndef WIN16 #ifndef OPENSSL_SYS_WIN16 if (setjmp(save)) if (setjmp(save)) { { ok=0; ok=0; Loading @@ -333,6 +391,11 @@ static int read_string_inner(UI *ui, UI_STRING *uis, int echo) char *p; char *p; result[0]='\0'; result[0]='\0'; #ifdef OPENSSL_SYS_MSDOS if (!echo) noecho_fgets(result,maxsize,tty); else #endif fgets(result,maxsize,tty); fgets(result,maxsize,tty); if (feof(tty)) goto error; if (feof(tty)) goto error; if (ferror(tty)) goto error; if (ferror(tty)) goto error; Loading Loading @@ -366,10 +429,10 @@ static int open_console(UI *ui) CRYPTO_w_lock(CRYPTO_LOCK_UI); CRYPTO_w_lock(CRYPTO_LOCK_UI); is_a_tty = 1; is_a_tty = 1; #ifdef MSDOS #ifdef OPENSSL_SYS_MSDOS if ((tty=fopen("con","w+")) == NULL) if ((tty=fopen("con","w+")) == NULL) tty=stdin; tty=stdin; #elif defined(MAC_OS_pre_X) #elif defined(OPENSSL_SYS_MACINTOSH_CLASSIC) tty=stdin; tty=stdin; #else #else if ((tty=fopen("/dev/tty","w+")) == NULL) if ((tty=fopen("/dev/tty","w+")) == NULL) Loading @@ -394,7 +457,7 @@ static int open_console(UI *ui) return 0; return 0; } } #endif #endif #ifdef VMS #ifdef OPENSSL_SYS_VMS status = sys$assign(&terminal,&channel,0,0); status = sys$assign(&terminal,&channel,0,0); if (status != SS$_NORMAL) if (status != SS$_NORMAL) return 0; return 0; Loading @@ -412,11 +475,11 @@ static int noecho_console(UI *ui) tty_new.TTY_FLAGS &= ~ECHO; tty_new.TTY_FLAGS &= ~ECHO; #endif #endif #if defined(TTY_set) && !defined(VMS) #if defined(TTY_set) && !defined(OPENSSL_SYS_VMS) if (is_a_tty && (TTY_set(fileno(tty),&tty_new) == -1)) if (is_a_tty && (TTY_set(fileno(tty),&tty_new) == -1)) return 0; return 0; #endif #endif #ifdef VMS #ifdef OPENSSL_SYS_VMS tty_new[0] = tty_orig[0]; tty_new[0] = tty_orig[0]; tty_new[1] = tty_orig[1] | TT$M_NOECHO; tty_new[1] = tty_orig[1] | TT$M_NOECHO; tty_new[2] = tty_orig[2]; tty_new[2] = tty_orig[2]; Loading @@ -429,16 +492,16 @@ static int noecho_console(UI *ui) static int echo_console(UI *ui) static int echo_console(UI *ui) { { #if defined(TTY_set) && !defined(VMS) #if defined(TTY_set) && !defined(OPENSSL_SYS_VMS) memcpy(&(tty_new),&(tty_orig),sizeof(tty_orig)); memcpy(&(tty_new),&(tty_orig),sizeof(tty_orig)); tty_new.TTY_FLAGS |= ECHO; tty_new.TTY_FLAGS |= ECHO; #endif #endif #if defined(TTY_set) && !defined(VMS) #if defined(TTY_set) && !defined(OPENSSL_SYS_VMS) if (is_a_tty && (TTY_set(fileno(tty),&tty_new) == -1)) if (is_a_tty && (TTY_set(fileno(tty),&tty_new) == -1)) return 0; return 0; #endif #endif #ifdef VMS #ifdef OPENSSL_SYS_VMS tty_new[0] = tty_orig[0]; tty_new[0] = tty_orig[0]; tty_new[1] = tty_orig[1] & ~TT$M_NOECHO; tty_new[1] = tty_orig[1] & ~TT$M_NOECHO; tty_new[2] = tty_orig[2]; tty_new[2] = tty_orig[2]; Loading @@ -452,7 +515,7 @@ static int echo_console(UI *ui) static int close_console(UI *ui) static int close_console(UI *ui) { { if (stdin != tty) fclose(tty); if (stdin != tty) fclose(tty); #ifdef VMS #ifdef OPENSSL_SYS_VMS status = sys$dassgn(channel); status = sys$dassgn(channel); #endif #endif CRYPTO_w_unlock(CRYPTO_LOCK_UI); CRYPTO_w_unlock(CRYPTO_LOCK_UI); Loading Loading @@ -530,7 +593,7 @@ static void recsig(int i) /* Internal functions specific for Windows */ /* Internal functions specific for Windows */ #if defined(MSDOS) && !defined(WIN16) #if defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN16) static int noecho_fgets(char *buf, int size, FILE *tty) static int noecho_fgets(char *buf, int size, FILE *tty) { { int i; int i; Loading