diff --git a/CHANGES b/CHANGES index 4500fbdd9b..33ced1e3e8 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,17 @@ Changes between 1.1.0f and 1.1.1 [xx XXX xxxx] + *) The UI API becomes a permanent and integral part of libcrypto, i.e. + not possible to disable entirely. However, it's still possible to + disable the console reading UI method, UI_OpenSSL() (use UI_null() + as a fallback). + + To disable, configure with 'no-ui-console'. 'no-ui' is still + possible to use as an alias. Check at compile time with the + macro OPENSSL_NO_UI_CONSOLE. The macro OPENSSL_NO_UI is still + possible to check and is an alias for OPENSSL_NO_UI_CONSOLE. + [Richard Levitte] + *) Add a STORE module, which implements a uniform and URI based reader of stores that can contain keys, certificates, CRLs and numerous other objects. The main API is loosely based on a few stdio functions, diff --git a/Configure b/Configure index ce3d6dac1b..9612976cfa 100755 --- a/Configure +++ b/Configure @@ -406,7 +406,7 @@ my @disablables = ( "tls13downgrade", "ts", "ubsan", - "ui", + "ui-console", "unit-test", "whirlpool", "weak-ssl-ciphers", @@ -422,7 +422,8 @@ foreach my $proto ((@tls, @dtls)) my %deprecated_disablables = ( "ssl2" => undef, "buf-freelists" => undef, - "ripemd" => "rmd160" + "ripemd" => "rmd160", + "ui" => "ui-console", ); # All of the following is disabled by default (RC5 was enabled before 0.9.8): diff --git a/apps/apps.c b/apps/apps.c index a89d4eb5e6..8b1aab4c4d 100644 --- a/apps/apps.c +++ b/apps/apps.c @@ -56,9 +56,8 @@ typedef struct { unsigned long mask; } NAME_EX_TBL; -#if !defined(OPENSSL_NO_UI) || !defined(OPENSSL_NO_ENGINE) static UI_METHOD *ui_method = NULL; -#endif +static const UI_METHOD *ui_fallback_method = NULL; static int set_table_opts(unsigned long *flags, const char *arg, const NAME_EX_TBL * in_tbl); @@ -176,14 +175,19 @@ int dump_cert_text(BIO *out, X509 *x) return 0; } -#ifndef OPENSSL_NO_UI static int ui_open(UI *ui) { - return UI_method_get_opener(UI_OpenSSL())(ui); + int (*opener)(UI *ui) = UI_method_get_opener(ui_fallback_method); + + if (opener) + return opener(ui); + return 1; } static int ui_read(UI *ui, UI_STRING *uis) { + int (*reader)(UI *ui, UI_STRING *uis) = NULL; + if (UI_get_input_flags(uis) & UI_INPUT_FLAG_DEFAULT_PWD && UI_get0_user_data(ui)) { switch (UI_get_string_type(uis)) { @@ -205,11 +209,17 @@ static int ui_read(UI *ui, UI_STRING *uis) break; } } - return UI_method_get_reader(UI_OpenSSL())(ui, uis); + + reader = UI_method_get_reader(ui_fallback_method); + if (reader) + return reader(ui, uis); + return 1; } static int ui_write(UI *ui, UI_STRING *uis) { + int (*writer)(UI *ui, UI_STRING *uis) = NULL; + if (UI_get_input_flags(uis) & UI_INPUT_FLAG_DEFAULT_PWD && UI_get0_user_data(ui)) { switch (UI_get_string_type(uis)) { @@ -229,16 +239,28 @@ static int ui_write(UI *ui, UI_STRING *uis) break; } } - return UI_method_get_writer(UI_OpenSSL())(ui, uis); + + writer = UI_method_get_reader(ui_fallback_method); + if (writer) + return writer(ui, uis); + return 1; } static int ui_close(UI *ui) { - return UI_method_get_closer(UI_OpenSSL())(ui); + int (*closer)(UI *ui) = UI_method_get_closer(ui_fallback_method); + + if (closer) + return closer(ui); + return 1; } int setup_ui_method(void) { + ui_fallback_method = UI_null(); +#ifndef OPENSSL_NO_UI_CONSOLE + ui_fallback_method = UI_OpenSSL(); +#endif ui_method = UI_create_method("OpenSSL application user interface"); UI_method_set_opener(ui_method, ui_open); UI_method_set_reader(ui_method, ui_read); @@ -259,24 +281,13 @@ const UI_METHOD *get_ui_method(void) { return ui_method; } -#endif int password_callback(char *buf, int bufsiz, int verify, PW_CB_DATA *cb_tmp) { int res = 0; -#ifndef OPENSSL_NO_UI UI *ui = NULL; -#endif PW_CB_DATA *cb_data = (PW_CB_DATA *)cb_tmp; -#ifdef OPENSSL_NO_UI - if (cb_data != NULL && cb_data->password != NULL) { - res = strlen(cb_data->password); - if (res > bufsiz) - res = bufsiz; - memcpy(buf, cb_data->password, res); - } -#else ui = UI_new_method(ui_method); if (ui) { int ok = 0; @@ -331,7 +342,6 @@ int password_callback(char *buf, int bufsiz, int verify, PW_CB_DATA *cb_tmp) UI_free(ui); OPENSSL_free(prompt); } -#endif return res; } diff --git a/apps/enc.c b/apps/enc.c index 49568eaa50..d2000752f8 100644 --- a/apps/enc.c +++ b/apps/enc.c @@ -308,7 +308,7 @@ int enc_main(int argc, char **argv) if ((str == NULL) && (cipher != NULL) && (hkey == NULL)) { if (1) { -#ifndef OPENSSL_NO_UI +#ifndef OPENSSL_NO_UI_CONSOLE for (;;) { char prompt[200]; diff --git a/apps/openssl.c b/apps/openssl.c index 2a140718ab..e23c390a4c 100644 --- a/apps/openssl.c +++ b/apps/openssl.c @@ -70,18 +70,14 @@ static int apps_startup() | OPENSSL_INIT_LOAD_CONFIG, NULL)) return 0; -#ifndef OPENSSL_NO_UI setup_ui_method(); -#endif return 1; } static void apps_shutdown() { -#ifndef OPENSSL_NO_UI destroy_ui_method(); -#endif } static char *make_config_name() diff --git a/apps/passwd.c b/apps/passwd.c index c87369760c..7ce40e058c 100644 --- a/apps/passwd.c +++ b/apps/passwd.c @@ -100,7 +100,7 @@ int passwd_main(int argc, char **argv) char *salt_malloc = NULL, *passwd_malloc = NULL, *prog; OPTION_CHOICE o; int in_stdin = 0, pw_source_defined = 0; -# ifndef OPENSSL_NO_UI +# ifndef OPENSSL_NO_UI_CONSOLE int in_noverify = 0; # endif int passed_salt = 0, quiet = 0, table = 0, reverse = 0; @@ -129,7 +129,7 @@ int passwd_main(int argc, char **argv) pw_source_defined = 1; break; case OPT_NOVERIFY: -# ifndef OPENSSL_NO_UI +# ifndef OPENSSL_NO_UI_CONSOLE in_noverify = 1; # endif break; @@ -246,7 +246,7 @@ int passwd_main(int argc, char **argv) * avoid rot of not-frequently-used code. */ if (1) { -# ifndef OPENSSL_NO_UI +# ifndef OPENSSL_NO_UI_CONSOLE /* build a null-terminated list */ static char *passwds_static[2] = { NULL, NULL }; diff --git a/apps/pkcs12.c b/apps/pkcs12.c index 439622ad91..9449679cea 100644 --- a/apps/pkcs12.c +++ b/apps/pkcs12.c @@ -322,7 +322,7 @@ int pkcs12_main(int argc, char **argv) if (twopass) { /* To avoid bit rot */ if (1) { -#ifndef OPENSSL_NO_UI +#ifndef OPENSSL_NO_UI_CONSOLE if (EVP_read_pw_string (macpass, sizeof macpass, "Enter MAC Password:", export_cert)) { BIO_printf(bio_err, "Can't read Password\n"); @@ -441,7 +441,7 @@ int pkcs12_main(int argc, char **argv) if (!noprompt) { /* To avoid bit rot */ if (1) { -#ifndef OPENSSL_NO_UI +#ifndef OPENSSL_NO_UI_CONSOLE if (EVP_read_pw_string(pass, sizeof pass, "Enter Export Password:", 1)) { BIO_printf(bio_err, "Can't read Password\n"); @@ -507,7 +507,7 @@ int pkcs12_main(int argc, char **argv) if (!noprompt) { if (1) { -#ifndef OPENSSL_NO_UI +#ifndef OPENSSL_NO_UI_CONSOLE if (EVP_read_pw_string(pass, sizeof pass, "Enter Import Password:", 0)) { BIO_printf(bio_err, "Can't read Password\n"); diff --git a/apps/pkcs8.c b/apps/pkcs8.c index e964a3b619..ad41f7b711 100644 --- a/apps/pkcs8.c +++ b/apps/pkcs8.c @@ -65,7 +65,7 @@ int pkcs8_main(int argc, char **argv) const EVP_CIPHER *cipher = NULL; char *infile = NULL, *outfile = NULL; char *passinarg = NULL, *passoutarg = NULL, *prog; -#ifndef OPENSSL_NO_UI +#ifndef OPENSSL_NO_UI_CONSOLE char pass[APP_PASS_LEN]; #endif char *passin = NULL, *passout = NULL, *p8pass = NULL; @@ -236,7 +236,7 @@ int pkcs8_main(int argc, char **argv) p8pass = passout; } else if (1) { /* To avoid bit rot */ -#ifndef OPENSSL_NO_UI +#ifndef OPENSSL_NO_UI_CONSOLE p8pass = pass; if (EVP_read_pw_string (pass, sizeof pass, "Enter Encryption Password:", 1)) { @@ -299,7 +299,7 @@ int pkcs8_main(int argc, char **argv) if (passin != NULL) { p8pass = passin; } else if (1) { -#ifndef OPENSSL_NO_UI +#ifndef OPENSSL_NO_UI_CONSOLE p8pass = pass; if (EVP_read_pw_string(pass, sizeof pass, "Enter Password:", 0)) { BIO_printf(bio_err, "Can't read Password\n"); diff --git a/crypto/err/err_all.c b/crypto/err/err_all.c index 3fff594747..a2759f4647 100644 --- a/crypto/err/err_all.c +++ b/crypto/err/err_all.c @@ -83,9 +83,7 @@ int err_load_crypto_strings_int(void) # ifndef OPENSSL_NO_OCSP ERR_load_OCSP_strings() == 0 || # endif -#ifndef OPENSSL_NO_UI ERR_load_UI_strings() == 0 || -#endif # ifndef OPENSSL_NO_CMS ERR_load_CMS_strings() == 0 || # endif diff --git a/crypto/evp/evp_key.c b/crypto/evp/evp_key.c index 8a4297cf6e..0d63e4f5bf 100644 --- a/crypto/evp/evp_key.c +++ b/crypto/evp/evp_key.c @@ -14,7 +14,6 @@ #include <openssl/evp.h> #include <openssl/ui.h> -#ifndef OPENSSL_NO_UI /* should be init to zeros. */ static char prompt_string[80]; @@ -69,7 +68,6 @@ int EVP_read_pw_string_min(char *buf, int min, int len, const char *prompt, OPENSSL_cleanse(buff, BUFSIZ); return ret; } -#endif /* OPENSSL_NO_UI */ int EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md, const unsigned char *salt, const unsigned char *data, diff --git a/crypto/pem/pem_lib.c b/crypto/pem/pem_lib.c index 75b022e224..e937b0e014 100644 --- a/crypto/pem/pem_lib.c +++ b/crypto/pem/pem_lib.c @@ -30,12 +30,8 @@ int pem_check_suffix(const char *pem_str, const char *suffix); int PEM_def_callback(char *buf, int num, int w, void *key) { -#if defined(OPENSSL_NO_STDIO) || defined(OPENSSL_NO_UI) - int i; -#else int i, j; const char *prompt; -#endif if (key) { i = strlen(key); @@ -44,10 +40,6 @@ int PEM_def_callback(char *buf, int num, int w, void *key) return i; } -#if defined(OPENSSL_NO_STDIO) || defined(OPENSSL_NO_UI) - PEMerr(PEM_F_PEM_DEF_CALLBACK, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); - return -1; -#else prompt = EVP_get_pw_prompt(); if (prompt == NULL) prompt = "Enter PEM pass phrase:"; @@ -74,7 +66,6 @@ int PEM_def_callback(char *buf, int num, int w, void *key) break; } return j; -#endif } void PEM_proc_type(char *buf, int type) diff --git a/crypto/ui/ui_lib.c b/crypto/ui/ui_lib.c index f4e01bcf38..4469a436c2 100644 --- a/crypto/ui/ui_lib.c +++ b/crypto/ui/ui_lib.c @@ -37,9 +37,10 @@ UI *UI_new_method(const UI_METHOD *method) } if (method == NULL) - ret->meth = UI_get_default_method(); - else - ret->meth = method; + method = UI_get_default_method(); + if (method == NULL) + method = UI_null(); + ret->meth = method; if (!CRYPTO_new_ex_data(CRYPTO_EX_INDEX_UI, ret, &ret->ex_data)) { OPENSSL_free(ret); diff --git a/crypto/ui/ui_openssl.c b/crypto/ui/ui_openssl.c index 42c932656c..977c7ad2b9 100644 --- a/crypto/ui/ui_openssl.c +++ b/crypto/ui/ui_openssl.c @@ -9,64 +9,66 @@ #include <openssl/e_os2.h> #include <openssl/err.h> +#include <openssl/ui.h> +#ifndef OPENSSL_NO_UI_CONSOLE /* * need for #define _POSIX_C_SOURCE arises whenever you pass -ansi to gcc * [maybe others?], because it masks interfaces not discussed in standard, * sigaction and fileno included. -pedantic would be more appropriate for the * intended purposes, but we can't prevent users from adding -ansi. */ -#if defined(OPENSSL_SYS_VXWORKS) -# include <sys/types.h> -#endif - -#if !defined(_POSIX_C_SOURCE) && defined(OPENSSL_SYS_VMS) -# ifndef _POSIX_C_SOURCE -# define _POSIX_C_SOURCE 2 +# if defined(OPENSSL_SYS_VXWORKS) +# include <sys/types.h> # endif -#endif -#include <signal.h> -#include <stdio.h> -#include <string.h> -#include <errno.h> -#if !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_VMS) -# ifdef OPENSSL_UNISTD -# include OPENSSL_UNISTD -# else -# include <unistd.h> +# if !defined(_POSIX_C_SOURCE) && defined(OPENSSL_SYS_VMS) +# ifndef _POSIX_C_SOURCE +# define _POSIX_C_SOURCE 2 +# endif # endif +# include <signal.h> +# include <stdio.h> +# include <string.h> +# include <errno.h> + +# if !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_VMS) +# ifdef OPENSSL_UNISTD +# include OPENSSL_UNISTD +# else +# include <unistd.h> +# endif /* * If unistd.h defines _POSIX_VERSION, we conclude that we are on a POSIX * system and have sigaction and termios. */ -# if defined(_POSIX_VERSION) +# if defined(_POSIX_VERSION) + +# define SIGACTION +# if !defined(TERMIOS) && !defined(TERMIO) && !defined(SGTTY) +# define TERMIOS +# endif -# define SIGACTION -# if !defined(TERMIOS) && !defined(TERMIO) && !defined(SGTTY) -# define TERMIOS # endif - # endif -#endif /* 06-Apr-92 Luke Brennan Support for VMS */ -#include "ui_locl.h" -#include "internal/cryptlib.h" +# include "ui_locl.h" +# include "internal/cryptlib.h" -#ifdef OPENSSL_SYS_VMS /* prototypes for sys$whatever */ -# include <starlet.h> -# ifdef __DECC -# pragma message disable DOLLARID +# ifdef OPENSSL_SYS_VMS /* prototypes for sys$whatever */ +# include <starlet.h> +# ifdef __DECC +# pragma message disable DOLLARID +# endif # endif -#endif -#ifdef WIN_CONSOLE_BUG -# include <windows.h> -# ifndef OPENSSL_SYS_WINCE -# include <wincon.h> +# ifdef WIN_CONSOLE_BUG +# include <windows.h> +# ifndef OPENSSL_SYS_WINCE +# include <wincon.h> +# endif # endif -#endif /* * There are 6 types of terminal interface supported, TERMIO, TERMIOS, VMS, @@ -80,81 +82,81 @@ * may eventually opt to remove it's use entirely. */ -#if !defined(TERMIOS) && !defined(TERMIO) && !defined(SGTTY) +# if !defined(TERMIOS) && !defined(TERMIO) && !defined(SGTTY) -# if defined(_LIBC) -# undef TERMIOS -# define TERMIO -# undef SGTTY +# if defined(_LIBC) +# undef TERMIOS +# define TERMIO +# undef SGTTY /* * We know that VMS, MSDOS, VXWORKS, use entirely other mechanisms. */ -# elif !defined(OPENSSL_SYS_VMS) \ +# elif !defined(OPENSSL_SYS_VMS) \ && !defined(OPENSSL_SYS_MSDOS) \ && !defined(OPENSSL_SYS_VXWORKS) -# define TERMIOS -# undef TERMIO -# undef SGTTY +# define TERMIOS +# undef TERMIO +# undef SGTTY +# endif + # endif -#endif +# ifdef TERMIOS +# include <termios.h> +# define TTY_STRUCT struct termios +# define TTY_FLAGS c_lflag +# define TTY_get(tty,data) tcgetattr(tty,data) +# define TTY_set(tty,data) tcsetattr(tty,TCSANOW,data) +# endif -#ifdef TERMIOS -# include <termios.h> -# define TTY_STRUCT struct termios -# define TTY_FLAGS c_lflag -# define TTY_get(tty,data) tcgetattr(tty,data) -# define TTY_set(tty,data) tcsetattr(tty,TCSANOW,data) -#endif +# ifdef TERMIO +# include <termio.h> +# define TTY_STRUCT struct termio +# define TTY_FLAGS c_lflag +# define TTY_get(tty,data) ioctl(tty,TCGETA,data) +# define TTY_set(tty,data) ioctl(tty,TCSETA,data) +# endif -#ifdef TERMIO -# include <termio.h> -# define TTY_STRUCT struct termio -# define TTY_FLAGS c_lflag -# define TTY_get(tty,data) ioctl(tty,TCGETA,data) -# define TTY_set(tty,data) ioctl(tty,TCSETA,data) -#endif +# ifdef SGTTY +# include <sgtty.h> +# define TTY_STRUCT struct sgttyb +# define TTY_FLAGS sg_flags +# define TTY_get(tty,data) ioctl(tty,TIOCGETP,data) +# define TTY_set(tty,data) ioctl(tty,TIOCSETP,data) +# endif -#ifdef SGTTY -# include <sgtty.h> -# define TTY_STRUCT struct sgttyb -# define TTY_FLAGS sg_flags -# define TTY_get(tty,data) ioctl(tty,TIOCGETP,data) -# define TTY_set(tty,data) ioctl(tty,TIOCSETP,data) -#endif +# if !defined(_LIBC) && !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_VMS) +# include <sys/ioctl.h> +# endif -#if !defined(_LIBC) && !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_VMS) -# include <sys/ioctl.h> -#endif +# ifdef OPENSSL_SYS_MSDOS +# include <conio.h> +# endif -#ifdef OPENSSL_SYS_MSDOS -# include <conio.h> -#endif - -#ifdef OPENSSL_SYS_VMS -# include <ssdef.h> -# include <iodef.h> -# include <ttdef.h> -# include <descrip.h> +# ifdef OPENSSL_SYS_VMS +# include <ssdef.h> +# include <iodef.h> +# include <ttdef.h> +# include <descrip.h> struct IOSB { short iosb$w_value; short iosb$w_count; long iosb$l_info; }; -#endif +# endif -#ifndef NX509_SIG -# define NX509_SIG 32 -#endif +# ifndef NX509_SIG +# define NX509_SIG 32 +# endif /* Define globals. They are protected by a lock */ -#ifdef SIGACTION +# ifdef SIGACTION static struct sigaction savsig[NX509_SIG]; -#else +# else static void (*savsig[NX509_SIG]) (int); -#endif +# endif -#ifdef OPENSSL_SYS_VMS +# ifdef OPENSSL_SYS_VMS static struct IOSB iosb; static $DESCRIPTOR(terminal, "TT"); static long tty_orig[3], tty_new[3]; /* XXX Is there any guarantee that this @@ -162,26 +164,26 @@ static long tty_orig[3], tty_new[3]; /* XXX Is there any guarantee that this * structures? */ static long status; static unsigned short channel = 0; -#elif defined(_WIN32) && !defined(_WIN32_WCE) +# elif defined(_WIN32) && !defined(_WIN32_WCE) static DWORD tty_orig, tty_new; -#else -# if !defined(OPENSSL_SYS_MSDOS) || defined(__DJGPP__) +# else +# if !defined(OPENSSL_SYS_MSDOS) || defined(__DJGPP__) static TTY_STRUCT tty_orig, tty_new; +# endif # endif -#endif static FILE *tty_in, *tty_out; static int is_a_tty; /* Declare static functions */ -#if !defined(OPENSSL_SYS_WINCE) +# if !defined(OPENSSL_SYS_WINCE) static int read_till_nl(FILE *); static void recsig(int); static void pushsig(void); static void popsig(void); -#endif -#if defined(OPENSSL_SYS_MSDOS) && !defined(_WIN32) +# endif +# if defined(OPENSSL_SYS_MSDOS) && !defined(_WIN32) static int noecho_fgets(char *buf, int size, FILE *tty); -#endif +# endif static int read_string_inner(UI *ui, UI_STRING *uis, int echo, int strip_nl); static int read_string(UI *ui, UI_STRING *uis); @@ -192,34 +194,6 @@ static int echo_console(UI *ui); static int noecho_console(UI *ui); static int close_console(UI *ui); -static UI_METHOD ui_openssl = { - "OpenSSL default user interface", - open_console, - write_string, - NULL, /* No flusher is needed for command lines */ - read_string, - close_console, - NULL -}; - -static const UI_METHOD *default_UI_meth = &ui_openssl; - -void UI_set_default_method(const UI_METHOD *meth) -{ - default_UI_meth = meth; -} - -const UI_METHOD *UI_get_default_method(void) -{ - return default_UI_meth; -} - -/* The method with all the built-in thingies */ -UI_METHOD *UI_OpenSSL(void) -{ - return &ui_openssl; -} - /* * The following function makes sure that info and error strings are printed * before any prompt. @@ -280,11 +254,11 @@ static int read_string(UI *ui, UI_STRING *uis) return 1; } -#if !defined(OPENSSL_SYS_WINCE) +# if !defined(OPENSSL_SYS_WINCE) /* Internal functions to read a string without echoing */ static int read_till_nl(FILE *in) { -# define SIZE 4 +# define SIZE 4 char buf[SIZE + 1]; do { @@ -295,7 +269,7 @@ static int read_till_nl(FILE *in) } static volatile sig_atomic_t intr_signal; -#endif +# endif static int read_string_inner(UI *ui, UI_STRING *uis, int echo, int strip_nl) { @@ -303,7 +277,7 @@ static int read_string_inner(UI *ui, UI_STRING *uis, int echo, int strip_nl) int ok; char result[BUFSIZ]; int maxsize = BUFSIZ - 1; -#if !defined(OPENSSL_SYS_WINCE) +# if !defined(OPENSSL_SYS_WINCE) char *p = NULL; int echo_eol = !echo; @@ -319,10 +293,10 @@ static int read_string_inner(UI *ui, UI_STRING *uis, int echo, int strip_nl) ps = 2; result[0] = '\0'; -# if defined(_WIN32) +# if defined(_WIN32) if (is_a_tty) { DWORD numread; -# if defined(CP_UTF8) +# if defined(CP_UTF8) if (GetEnvironmentVariableW(L"OPENSSL_WIN32_UTF8", NULL, 0) != 0) { WCHAR wresult[BUFSIZ]; @@ -342,7 +316,7 @@ static int read_string_inner(UI *ui, UI_STRING *uis, int echo, int strip_nl) OPENSSL_cleanse(wresult, sizeof(wresult)); } } else -# endif +# endif if (ReadConsoleA(GetStdHandle(STD_INPUT_HANDLE), result, maxsize, &numread, NULL)) { if (numread >= 2 && @@ -354,12 +328,12 @@ static int read_string_inner(UI *ui, UI_STRING *uis, int echo, int strip_nl) p = result; } } else -# elif defined(OPENSSL_SYS_MSDOS) +# elif defined(OPENSSL_SYS_MSDOS) if (!echo) { noecho_fgets(result, maxsize, tty_in); p = result; /* FIXME: noecho_fgets doesn't return errors */ } else -# endif +# endif p = fgets(result, maxsize, tty_in); if (p == NULL) goto error; @@ -385,9 +359,9 @@ static int read_string_inner(UI *ui, UI_STRING *uis, int echo, int strip_nl) if (ps >= 1) popsig(); -#else +# else ok = 1; -#endif +# endif OPENSSL_cleanse(result, BUFSIZ); return ok; @@ -399,10 +373,10 @@ static int open_console(UI *ui) CRYPTO_THREAD_write_lock(ui->lock); is_a_tty = 1; -#if defined(OPENSSL_SYS_VXWORKS) +# if defined(OPENSSL_SYS_VXWORKS) tty_in = stdin; tty_out = stderr; -#elif defined(_WIN32) && !defined(_WIN32_WCE) +# elif defined(_WIN32) && !defined(_WIN32_WCE) if ((tty_out = fopen("conout$", "w")) == NULL) tty_out = stderr; @@ -413,26 +387,26 @@ static int open_console(UI *ui) if ((tty_in = fopen("conin$", "r")) == NULL) tty_in = stdin; } -#else -# ifdef OPENSSL_SYS_MSDOS -# define DEV_TTY "con" # else -# define DEV_TTY "/dev/tty" -# endif +# ifdef OPENSSL_SYS_MSDOS +# define DEV_TTY "con" +# else +# define DEV_TTY "/dev/tty" +# endif if ((tty_in = fopen(DEV_TTY, "r")) == NULL) tty_in = stdin; if ((tty_out = fopen(DEV_TTY, "w")) == NULL) tty_out = stderr; -#endif +# endif -#if defined(TTY_get) && !defined(OPENSSL_SYS_VMS) +# if defined(TTY_get) && !defined(OPENSSL_SYS_VMS) if (TTY_get(fileno(tty_in), &tty_orig) == -1) { -# ifdef ENOTTY +# ifdef ENOTTY if (errno == ENOTTY) is_a_tty = 0; else -# endif -# ifdef EINVAL +# endif +# ifdef EINVAL /* * Ariel Glenn ariel@columbia.edu reports that solaris can return * EINVAL instead. This should be ok @@ -440,8 +414,8 @@ static int open_console(UI *ui) if (errno == EINVAL) is_a_tty = 0; else -# endif -# ifdef ENODEV +# endif +# ifdef ENODEV /* * MacOS X returns ENODEV (Operation not supported by device), * which seems appropriate. @@ -449,7 +423,7 @@ static int open_console(UI *ui) if (errno == ENODEV) is_a_tty = 0; else -# endif +# endif { char tmp_num[10]; BIO_snprintf(tmp_num, sizeof(tmp_num) - 1, "%d", errno); @@ -459,8 +433,8 @@ static int open_console(UI *ui) return 0; } } -#endif -#ifdef OPENSSL_SYS_VMS +# endif +# ifdef OPENSSL_SYS_VMS status = sys$assign(&terminal, &channel, 0, 0); /* if there isn't a TT device, something is very wrong */ @@ -479,22 +453,22 @@ static int open_console(UI *ui) /* If IO$_SENSEMODE doesn't work, this is not a terminal device */ if ((status != SS$_NORMAL) || (iosb.iosb$w_value != SS$_NORMAL)) is_a_tty = 0; -#endif +# endif return 1; } static int noecho_console(UI *ui) { -#ifdef TTY_FLAGS +# ifdef TTY_FLAGS memcpy(&(tty_new), &(tty_orig), sizeof(tty_orig)); tty_new.TTY_FLAGS &= ~ECHO; -#endif +# endif -#if defined(TTY_set) && !defined(OPENSSL_SYS_VMS) +# 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 +# endif +# ifdef OPENSSL_SYS_VMS if (is_a_tty) { tty_new[0] = tty_orig[0]; tty_new[1] = tty_orig[1] | TT$M_NOECHO; @@ -514,29 +488,29 @@ static int noecho_console(UI *ui) return 0; } } -#endif -#if defined(_WIN32) && !defined(_WIN32_WCE) +# endif +# 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 +# endif return 1; } static int echo_console(UI *ui) { -#if defined(TTY_set) && !defined(OPENSSL_SYS_VMS) +# if defined(TTY_set) && !defined(OPENSSL_SYS_VMS) memcpy(&(tty_new), &(tty_orig), sizeof(tty_orig)); tty_new.TTY_FLAGS |= ECHO; -#endif +# endif -#if defined(TTY_set) && !defined(OPENSSL_SYS_VMS) +# 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 +# endif +# ifdef OPENSSL_SYS_VMS if (is_a_tty) { tty_new[0] = tty_orig[0]; tty_new[1] = tty_orig[1] & ~TT$M_NOECHO; @@ -556,14 +530,14 @@ static int echo_console(UI *ui) return 0; } } -#endif -#if defined(_WIN32) && !defined(_WIN32_WCE) +# endif +# 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 +# endif return 1; } @@ -573,7 +547,7 @@ static int close_console(UI *ui) fclose(tty_in); if (tty_out != stderr) fclose(tty_out); -#ifdef OPENSSL_SYS_VMS +# ifdef OPENSSL_SYS_VMS status = sys$dassgn(channel); if (status != SS$_NORMAL) { char tmp_num[12]; @@ -583,97 +557,97 @@ static int close_console(UI *ui) ERR_add_error_data(2, "status=", tmp_num); return 0; } -#endif +# endif CRYPTO_THREAD_unlock(ui->lock); return 1; } -#if !defined(OPENSSL_SYS_WINCE) +# if !defined(OPENSSL_SYS_WINCE) /* Internal functions to handle signals and act on them */ static void pushsig(void) { -# ifndef OPENSSL_SYS_WIN32 +# ifndef OPENSSL_SYS_WIN32 int i; -# endif -# ifdef SIGACTION +# endif +# ifdef SIGACTION struct sigaction sa; memset(&sa, 0, sizeof(sa)); sa.sa_handler = recsig; -# endif +# endif -# ifdef OPENSSL_SYS_WIN32 +# ifdef OPENSSL_SYS_WIN32 savsig[SIGABRT] = signal(SIGABRT, recsig); savsig[SIGFPE] = signal(SIGFPE, recsig); savsig[SIGILL] = signal(SIGILL, recsig); savsig[SIGINT] = signal(SIGINT, recsig); savsig[SIGSEGV] = signal(SIGSEGV, recsig); savsig[SIGTERM] = signal(SIGTERM, recsig); -# else +# else for (i = 1; i < NX509_SIG; i++) { -# ifdef SIGUSR1 +# ifdef SIGUSR1 if (i == SIGUSR1) continue; -# endif -# ifdef SIGUSR2 +# endif +# ifdef SIGUSR2 if (i == SIGUSR2) continue; -# endif -# ifdef SIGKILL +# endif +# ifdef SIGKILL if (i == SIGKILL) /* We can't make any action on that. */ continue; -# endif -# ifdef SIGACTION +# endif +# ifdef SIGACTION sigaction(i, &sa, &savsig[i]); -# else +# else savsig[i] = signal(i, recsig); -# endif +# endif } -# endif +# endif -# ifdef SIGWINCH +# ifdef SIGWINCH signal(SIGWINCH, SIG_DFL); -# endif +# endif } static void popsig(void) { -# ifdef OPENSSL_SYS_WIN32 +# ifdef OPENSSL_SYS_WIN32 signal(SIGABRT, savsig[SIGABRT]); signal(SIGFPE, savsig[SIGFPE]); signal(SIGILL, savsig[SIGILL]); signal(SIGINT, savsig[SIGINT]); signal(SIGSEGV, savsig[SIGSEGV]); signal(SIGTERM, savsig[SIGTERM]); -# else +# else int i; for (i = 1; i < NX509_SIG; i++) { -# ifdef SIGUSR1 +# ifdef SIGUSR1 if (i == SIGUSR1) continue; -# endif -# ifdef SIGUSR2 +# endif +# ifdef SIGUSR2 if (i == SIGUSR2) continue; -# endif -# ifdef SIGACTION +# endif +# ifdef SIGACTION sigaction(i, &savsig[i], NULL); -# else +# else signal(i, savsig[i]); -# endif +# endif } -# endif +# endif } static void recsig(int i) { intr_signal = i; } -#endif +# endif /* Internal functions specific for Windows */ -#if defined(OPENSSL_SYS_MSDOS) && !defined(_WIN32) +# if defined(OPENSSL_SYS_MSDOS) && !defined(_WIN32) static int noecho_fgets(char *buf, int size, FILE *tty) { int i; @@ -686,11 +660,11 @@ static int noecho_fgets(char *buf, int size, FILE *tty) break; } size--; -# if defined(_WIN32) +# if defined(_WIN32) i = _getch(); -# else +# else i = getch(); -# endif +# endif if (i == '\r') i = '\n'; *(p++) = i; @@ -699,7 +673,7 @@ static int noecho_fgets(char *buf, int size, FILE *tty) break; } } -# ifdef WIN_CONSOLE_BUG +# ifdef WIN_CONSOLE_BUG /* * Win95 has several evil console bugs: one of these is that the last * character read using getch() is passed to the next read: this is @@ -711,7 +685,41 @@ static int noecho_fgets(char *buf, int size, FILE *tty) inh = GetStdHandle(STD_INPUT_HANDLE); FlushConsoleInputBuffer(inh); } -# endif +# endif return (strlen(buf)); } +# endif + +static UI_METHOD ui_openssl = { + "OpenSSL default user interface", + open_console, + write_string, + NULL, /* No flusher is needed for command lines */ + read_string, + close_console, + NULL +}; + +/* The method with all the built-in console thingies */ +UI_METHOD *UI_OpenSSL(void) +{ + return &ui_openssl; +} + +static const UI_METHOD *default_UI_meth = &ui_openssl; + +#else + +static const UI_METHOD *default_UI_meth = NULL; + #endif + +void UI_set_default_method(const UI_METHOD *meth) +{ + default_UI_meth = meth; +} + +const UI_METHOD *UI_get_default_method(void) +{ + return default_UI_meth; +} diff --git a/include/openssl/evp.h b/include/openssl/evp.h index 89a64aeb8e..2531d0012f 100644 --- a/include/openssl/evp.h +++ b/include/openssl/evp.h @@ -546,13 +546,11 @@ __owur int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type); __owur int EVP_DigestFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s); -#ifndef OPENSSL_NO_UI int EVP_read_pw_string(char *buf, int length, const char *prompt, int verify); int EVP_read_pw_string_min(char *buf, int minlen, int maxlen, const char *prompt, int verify); void EVP_set_pw_prompt(const char *prompt); char *EVP_get_pw_prompt(void); -#endif __owur int EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md, const unsigned char *salt, diff --git a/include/openssl/ui.h b/include/openssl/ui.h index 5990153a9e..0f8c03f8ed 100644 --- a/include/openssl/ui.h +++ b/include/openssl/ui.h @@ -12,19 +12,24 @@ # include <openssl/opensslconf.h> -# ifndef OPENSSL_NO_UI +# if OPENSSL_API_COMPAT < 0x10100000L +# include <openssl/crypto.h> +# endif +# include <openssl/safestack.h> +# include <openssl/pem.h> +# include <openssl/ossl_typ.h> +# include <openssl/uierr.h> -# if OPENSSL_API_COMPAT < 0x10100000L -# include <openssl/crypto.h> +/* For compatibility reasons, the macro OPENSSL_NO_UI is currently retained */ +# if OPENSSL_API_COMPAT < 0x10200000L +# ifdef OPENSSL_NO_UI_CONSOLE +# define OPENSSL_NO_UI # endif -# include <openssl/safestack.h> -# include <openssl/pem.h> -# include <openssl/ossl_typ.h> -# include <openssl/uierr.h> +# endif -#ifdef __cplusplus +# ifdef __cplusplus extern "C" { -#endif +# endif /* * All the following functions return -1 or NULL on error and in some cases @@ -112,7 +117,7 @@ int UI_dup_error_string(UI *ui, const char *text); * each UI being marked with this flag, or the application might get * confused. */ -# define UI_INPUT_FLAG_DEFAULT_PWD 0x02 +# define UI_INPUT_FLAG_DEFAULT_PWD 0x02 /*- * The user of these routines may want to define flags of their own. The core @@ -124,7 +129,7 @@ int UI_dup_error_string(UI *ui, const char *text); * #define MY_UI_FLAG1 (0x01 << UI_INPUT_FLAG_USER_BASE) * */ -# define UI_INPUT_FLAG_USER_BASE 16 +# define UI_INPUT_FLAG_USER_BASE 16 /*- * The following function helps construct a prompt. object_desc is a @@ -187,7 +192,7 @@ int UI_ctrl(UI *ui, int cmd, long i, void *p, void (*f) (void)); * OpenSSL error stack before printing any info or added error messages and * before any prompting. */ -# define UI_CTRL_PRINT_ERRORS 1 +# define UI_CTRL_PRINT_ERRORS 1 /* * Check if a UI_process() is possible to do again with the same instance of * a user interface. This makes UI_ctrl() return 1 if it is redoable, and 0 @@ -199,7 +204,7 @@ int UI_ctrl(UI *ui, int cmd, long i, void *p, void (*f) (void)); # define UI_set_app_data(s,arg) UI_set_ex_data(s,0,arg) # define UI_get_app_data(s) UI_get_ex_data(s,0) -#define UI_get_ex_new_index(l, p, newf, dupf, freef) \ +# define UI_get_ex_new_index(l, p, newf, dupf, freef) \ CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_UI, l, p, newf, dupf, freef) int UI_set_ex_data(UI *r, int idx, void *arg); void *UI_get_ex_data(UI *r, int idx); @@ -210,9 +215,13 @@ const UI_METHOD *UI_get_default_method(void); const UI_METHOD *UI_get_method(UI *ui); const UI_METHOD *UI_set_method(UI *ui, const UI_METHOD *meth); +# ifndef OPENSSL_NO_UI_CONSOLE + /* The method with all the built-in thingies */ UI_METHOD *UI_OpenSSL(void); +# endif + /* * NULL method. Literally does nothing, but may serve as a placeholder * to avoid internal default. @@ -351,8 +360,7 @@ UI_METHOD *UI_UTIL_wrap_read_pem_callback(pem_password_cb *cb, int rwflag); int ERR_load_UI_strings(void); -# ifdef __cplusplus +# ifdef __cplusplus } -# endif # endif #endif diff --git a/test/uitest.c b/test/uitest.c index 469e2304f8..6fef137b02 100644 --- a/test/uitest.c +++ b/test/uitest.c @@ -17,8 +17,7 @@ /* apps/apps.c depend on these */ char *default_config_file = NULL; -#ifndef OPENSSL_NO_UI -# include <openssl/ui.h> +#include <openssl/ui.h> /* Old style PEM password callback */ static int test_pem_password_cb(char *buf, int size, int rwflag, void *userdata) @@ -89,12 +88,8 @@ static int test_new_ui() return ok; } -#endif - void register_tests(void) { -#ifndef OPENSSL_NO_UI ADD_TEST(test_old); ADD_TEST(test_new_ui); -#endif } diff --git a/util/libcrypto.num b/util/libcrypto.num index c861878fb1..436969429f 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -30,7 +30,7 @@ GENERAL_NAME_get0_otherName 29 1_1_0 EXIST::FUNCTION: ASN1_INTEGER_get_uint64 30 1_1_0 EXIST::FUNCTION: EVP_DigestInit_ex 31 1_1_0 EXIST::FUNCTION: CTLOG_new 32 1_1_0 EXIST::FUNCTION:CT -UI_get_result_minsize 33 1_1_0 EXIST::FUNCTION:UI +UI_get_result_minsize 33 1_1_0 EXIST::FUNCTION: EVP_PBE_alg_add_type 34 1_1_0 EXIST::FUNCTION: EVP_cast5_ofb 35 1_1_0 EXIST::FUNCTION:CAST d2i_PUBKEY_fp 36 1_1_0 EXIST::FUNCTION:STDIO @@ -39,7 +39,7 @@ BF_decrypt 38 1_1_0 EXIST::FUNCTION:BF PEM_read_bio_PUBKEY 39 1_1_0 EXIST::FUNCTION: X509_NAME_delete_entry 40 1_1_0 EXIST::FUNCTION: EVP_PKEY_meth_set_verify_recover 41 1_1_0 EXIST::FUNCTION: -UI_set_method 42 1_1_0 EXIST::FUNCTION:UI +UI_set_method 42 1_1_0 EXIST::FUNCTION: PKCS7_ISSUER_AND_SERIAL_it 43 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: PKCS7_ISSUER_AND_SERIAL_it 43 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: EC_GROUP_method_of 44 1_1_0 EXIST::FUNCTION:EC @@ -77,7 +77,7 @@ ASN1_item_print 76 1_1_0 EXIST::FUNCTION: CONF_set_nconf 77 1_1_0 EXIST::FUNCTION: RAND_set_rand_method 78 1_1_0 EXIST::FUNCTION: BN_GF2m_mod_mul 79 1_1_0 EXIST::FUNCTION:EC2M -UI_add_input_boolean 80 1_1_0 EXIST::FUNCTION:UI +UI_add_input_boolean 80 1_1_0 EXIST::FUNCTION: ASN1_TIME_adj 81 1_1_0 EXIST::FUNCTION: EVP_PKEY_asn1_get0_info 82 1_1_0 EXIST::FUNCTION: BN_add_word 83 1_1_0 EXIST::FUNCTION: @@ -85,7 +85,7 @@ EVP_des_ede 84 1_1_0 EXIST::FUNCTION:DES EVP_PKEY_add1_attr_by_OBJ 85 1_1_0 EXIST::FUNCTION: ASYNC_WAIT_CTX_get_all_fds 86 1_1_0 EXIST::FUNCTION: EVP_CIPHER_meth_set_do_cipher 87 1_1_0 EXIST::FUNCTION: -EVP_set_pw_prompt 88 1_1_0 EXIST::FUNCTION:UI +EVP_set_pw_prompt 88 1_1_0 EXIST::FUNCTION: d2i_OCSP_RESPBYTES 89 1_1_0 EXIST::FUNCTION:OCSP TS_REQ_get_ext_by_NID 90 1_1_0 EXIST::FUNCTION:TS ASN1_item_ndef_i2d 91 1_1_0 EXIST::FUNCTION: @@ -206,7 +206,7 @@ SCT_set_version 206 1_1_0 EXIST::FUNCTION:CT CMS_add1_ReceiptRequest 207 1_1_0 EXIST::FUNCTION:CMS d2i_CRL_DIST_POINTS 208 1_1_0 EXIST::FUNCTION: X509_CRL_INFO_free 209 1_1_0 EXIST::FUNCTION: -ERR_load_UI_strings 210 1_1_0 EXIST::FUNCTION:UI +ERR_load_UI_strings 210 1_1_0 EXIST::FUNCTION: ERR_load_strings 211 1_1_0 EXIST::FUNCTION: RSA_X931_hash_id 212 1_1_0 EXIST::FUNCTION:RSA EC_KEY_set_method 213 1_1_0 EXIST::FUNCTION:EC @@ -272,7 +272,7 @@ EVP_OpenInit 272 1_1_0 EXIST::FUNCTION:RSA OCSP_response_get1_basic 273 1_1_0 EXIST::FUNCTION:OCSP CRYPTO_gcm128_tag 274 1_1_0 EXIST::FUNCTION: OCSP_parse_url 275 1_1_0 EXIST::FUNCTION:OCSP -UI_get0_test_string 276 1_1_0 EXIST::FUNCTION:UI +UI_get0_test_string 276 1_1_0 EXIST::FUNCTION: CRYPTO_secure_free 277 1_1_0 EXIST::FUNCTION: DSA_print_fp 278 1_1_0 EXIST::FUNCTION:DSA,STDIO X509_get_ext_d2i 279 1_1_0 EXIST::FUNCTION: @@ -314,7 +314,7 @@ EVP_CIPHER_CTX_set_flags 314 1_1_0 EXIST::FUNCTION: err_free_strings_int 315 1_1_0 EXIST::FUNCTION: PEM_write_bio_PKCS7_stream 316 1_1_0 EXIST::FUNCTION: d2i_X509_CERT_AUX 317 1_1_0 EXIST::FUNCTION: -UI_process 318 1_1_0 EXIST::FUNCTION:UI +UI_process 318 1_1_0 EXIST::FUNCTION: X509_get_subject_name 319 1_1_0 EXIST::FUNCTION: DH_get_1024_160 320 1_1_0 EXIST::FUNCTION:DH i2d_ASN1_UNIVERSALSTRING 321 1_1_0 EXIST::FUNCTION: @@ -331,7 +331,7 @@ CRYPTO_ccm128_tag 331 1_1_0 EXIST::FUNCTION: BIO_new_dgram_sctp 332 1_1_0 EXIST::FUNCTION:DGRAM,SCTP d2i_RSAPrivateKey_fp 333 1_1_0 EXIST::FUNCTION:RSA,STDIO s2i_ASN1_IA5STRING 334 1_1_0 EXIST::FUNCTION: -UI_get_ex_data 335 1_1_0 EXIST::FUNCTION:UI +UI_get_ex_data 335 1_1_0 EXIST::FUNCTION: EVP_EncryptUpdate 336 1_1_0 EXIST::FUNCTION: SRP_create_verifier 337 1_1_0 EXIST::FUNCTION:SRP TS_TST_INFO_print_bio 338 1_1_0 EXIST::FUNCTION:TS @@ -372,7 +372,7 @@ SEED_ecb_encrypt 370 1_1_0 EXIST::FUNCTION:SEED X509_PUBKEY_get0_param 371 1_1_0 EXIST::FUNCTION: ASN1_i2d_fp 372 1_1_0 EXIST::FUNCTION:STDIO BIO_new_mem_buf 373 1_1_0 EXIST::FUNCTION: -UI_get_input_flags 374 1_1_0 EXIST::FUNCTION:UI +UI_get_input_flags 374 1_1_0 EXIST::FUNCTION: X509V3_EXT_REQ_add_nconf 375 1_1_0 EXIST::FUNCTION: X509v3_asid_subset 376 1_1_0 EXIST::FUNCTION:RFC3779 RSA_check_key_ex 377 1_1_0 EXIST::FUNCTION:RSA @@ -492,7 +492,7 @@ BN_GF2m_mod_sqr_arr 492 1_1_0 EXIST::FUNCTION:EC2M ASN1_PRINTABLESTRING_it 493 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: ASN1_PRINTABLESTRING_it 493 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: BIO_f_cipher 494 1_1_0 EXIST::FUNCTION: -UI_destroy_method 495 1_1_0 EXIST::FUNCTION:UI +UI_destroy_method 495 1_1_0 EXIST::FUNCTION: BN_get_rfc3526_prime_3072 496 1_1_0 EXIST::FUNCTION: X509_INFO_new 497 1_1_0 EXIST::FUNCTION: OCSP_RESPDATA_it 498 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:OCSP @@ -626,7 +626,7 @@ CRYPTO_secure_malloc_done 625 1_1_0 EXIST::FUNCTION: RSA_OAEP_PARAMS_new 626 1_1_0 EXIST::FUNCTION:RSA X509_NAME_free 627 1_1_0 EXIST::FUNCTION: PKCS12_set_mac 628 1_1_0 EXIST::FUNCTION: -UI_get0_result_string 629 1_1_0 EXIST::FUNCTION:UI +UI_get0_result_string 629 1_1_0 EXIST::FUNCTION: TS_RESP_CTX_add_policy 630 1_1_0 EXIST::FUNCTION:TS X509_REQ_dup 631 1_1_0 EXIST::FUNCTION: d2i_DSA_PUBKEY_fp 633 1_1_0 EXIST::FUNCTION:DSA,STDIO @@ -640,9 +640,9 @@ CRYPTO_THREAD_write_lock 639 1_1_0 EXIST::FUNCTION: X509V3_NAME_from_section 640 1_1_0 EXIST::FUNCTION: EC_POINT_set_compressed_coordinates_GFp 641 1_1_0 EXIST::FUNCTION:EC OCSP_SINGLERESP_get0_id 642 1_1_0 EXIST::FUNCTION:OCSP -UI_add_info_string 643 1_1_0 EXIST::FUNCTION:UI +UI_add_info_string 643 1_1_0 EXIST::FUNCTION: OBJ_NAME_remove 644 1_1_0 EXIST::FUNCTION: -UI_get_method 645 1_1_0 EXIST::FUNCTION:UI +UI_get_method 645 1_1_0 EXIST::FUNCTION: CONF_modules_unload 646 1_1_0 EXIST::FUNCTION: CRYPTO_ccm128_encrypt_ccm64 647 1_1_0 EXIST::FUNCTION: CRYPTO_secure_malloc_init 648 1_1_0 EXIST::FUNCTION: @@ -717,7 +717,7 @@ PKCS7_add_signature 716 1_1_0 EXIST::FUNCTION: OBJ_ln2nid 717 1_1_0 EXIST::FUNCTION: CRYPTO_128_unwrap 718 1_1_0 EXIST::FUNCTION: BIO_new_PKCS7 719 1_1_0 EXIST::FUNCTION: -UI_get0_user_data 720 1_1_0 EXIST::FUNCTION:UI +UI_get0_user_data 720 1_1_0 EXIST::FUNCTION: TS_RESP_get_token 721 1_1_0 EXIST::FUNCTION:TS OCSP_RESPID_new 722 1_1_0 EXIST::FUNCTION:OCSP ASN1_SET_ANY_it 723 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: @@ -760,7 +760,7 @@ X509_policy_node_get0_qualifiers 758 1_1_0 EXIST::FUNCTION: OCSP_cert_status_str 759 1_1_0 EXIST::FUNCTION:OCSP EVP_MD_meth_get_flags 760 1_1_0 EXIST::FUNCTION: ASN1_ENUMERATED_set 761 1_1_0 EXIST::FUNCTION: -UI_UTIL_read_pw 762 1_1_0 EXIST::FUNCTION:UI +UI_UTIL_read_pw 762 1_1_0 EXIST::FUNCTION: PKCS7_ENC_CONTENT_free 763 1_1_0 EXIST::FUNCTION: CMS_RecipientInfo_type 764 1_1_0 EXIST::FUNCTION:CMS OCSP_BASICRESP_get_ext 765 1_1_0 EXIST::FUNCTION:OCSP @@ -772,7 +772,7 @@ ENGINE_init 770 1_1_0 EXIST::FUNCTION:ENGINE TS_RESP_CTX_add_flags 771 1_1_0 EXIST::FUNCTION:TS BIO_gethostbyname 772 1_1_0 EXIST::FUNCTION:DEPRECATEDIN_1_1_0,SOCK X509V3_EXT_add 773 1_1_0 EXIST::FUNCTION: -UI_add_verify_string 774 1_1_0 EXIST::FUNCTION:UI +UI_add_verify_string 774 1_1_0 EXIST::FUNCTION: EVP_rc5_32_12_16_cfb64 775 1_1_0 EXIST::FUNCTION:RC5 PKCS7_dataVerify 776 1_1_0 EXIST::FUNCTION: PKCS7_SIGNER_INFO_free 777 1_1_0 EXIST::FUNCTION: @@ -909,13 +909,13 @@ PKCS5_pbe2_set_iv 905 1_1_0 EXIST::FUNCTION: ASN1_add_stable_module 906 1_1_0 EXIST::FUNCTION: EVP_camellia_128_cbc 907 1_1_0 EXIST::FUNCTION:CAMELLIA COMP_zlib 908 1_1_0 EXIST::FUNCTION:COMP -EVP_read_pw_string 909 1_1_0 EXIST::FUNCTION:UI +EVP_read_pw_string 909 1_1_0 EXIST::FUNCTION: i2d_ASN1_NULL 910 1_1_0 EXIST::FUNCTION: DES_encrypt1 911 1_1_0 EXIST::FUNCTION:DES BN_mod_lshift1_quick 912 1_1_0 EXIST::FUNCTION: BN_get_rfc3526_prime_6144 913 1_1_0 EXIST::FUNCTION: OBJ_obj2txt 914 1_1_0 EXIST::FUNCTION: -UI_set_result 915 1_1_0 EXIST::FUNCTION:UI +UI_set_result 915 1_1_0 EXIST::FUNCTION: EVP_EncodeUpdate 916 1_1_0 EXIST::FUNCTION: PEM_write_bio_X509_CRL 917 1_1_0 EXIST::FUNCTION: BN_cmp 918 1_1_0 EXIST::FUNCTION: @@ -1020,11 +1020,11 @@ ASN1_UTCTIME_it 1013 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION: i2d_DSA_PUBKEY_fp 1014 1_1_0 EXIST::FUNCTION:DSA,STDIO X509at_get_attr_by_OBJ 1015 1_1_0 EXIST::FUNCTION: EVP_MD_CTX_copy_ex 1016 1_1_0 EXIST::FUNCTION: -UI_dup_error_string 1017 1_1_0 EXIST::FUNCTION:UI +UI_dup_error_string 1017 1_1_0 EXIST::FUNCTION: OPENSSL_LH_num_items 1018 1_1_0 EXIST::FUNCTION: ASN1_INTEGER_cmp 1020 1_1_0 EXIST::FUNCTION: X509_NAME_entry_count 1021 1_1_0 EXIST::FUNCTION: -UI_method_set_closer 1022 1_1_0 EXIST::FUNCTION:UI +UI_method_set_closer 1022 1_1_0 EXIST::FUNCTION: OPENSSL_LH_get_down_load 1023 1_1_0 EXIST::FUNCTION: EVP_md4 1024 1_1_0 EXIST::FUNCTION:MD4 X509_set_subject_name 1025 1_1_0 EXIST::FUNCTION: @@ -1100,7 +1100,7 @@ X509_print_ex_fp 1093 1_1_0 EXIST::FUNCTION:STDIO ERR_load_PEM_strings 1094 1_1_0 EXIST::FUNCTION: ENGINE_unregister_pkey_asn1_meths 1095 1_1_0 EXIST::FUNCTION:ENGINE IPAddressFamily_free 1096 1_1_0 EXIST::FUNCTION:RFC3779 -UI_method_get_prompt_constructor 1097 1_1_0 EXIST::FUNCTION:UI +UI_method_get_prompt_constructor 1097 1_1_0 EXIST::FUNCTION: ASN1_NULL_it 1098 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: ASN1_NULL_it 1098 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: X509_REQ_get_pubkey 1099 1_1_0 EXIST::FUNCTION: @@ -1262,7 +1262,7 @@ OPENSSL_DIR_read 1250 1_1_0 EXIST::FUNCTION: CMS_add_smimecap 1251 1_1_0 EXIST::FUNCTION:CMS X509_check_email 1252 1_1_0 EXIST::FUNCTION: CRYPTO_cts128_decrypt_block 1253 1_1_0 EXIST::FUNCTION: -UI_method_get_opener 1254 1_1_0 EXIST::FUNCTION:UI +UI_method_get_opener 1254 1_1_0 EXIST::FUNCTION: EVP_aes_192_gcm 1255 1_1_0 EXIST::FUNCTION: TS_CONF_set_tsa_name 1256 1_1_0 EXIST::FUNCTION:TS X509_email_free 1257 1_1_0 EXIST::FUNCTION: @@ -1292,7 +1292,7 @@ ASN1_TIME_free 1281 1_1_0 EXIST::FUNCTION: i2o_SCT_LIST 1282 1_1_0 EXIST::FUNCTION:CT AES_encrypt 1283 1_1_0 EXIST::FUNCTION: MD5_Init 1284 1_1_0 EXIST::FUNCTION:MD5 -UI_add_error_string 1285 1_1_0 EXIST::FUNCTION:UI +UI_add_error_string 1285 1_1_0 EXIST::FUNCTION: X509_TRUST_cleanup 1286 1_1_0 EXIST::FUNCTION: PEM_read_X509 1287 1_1_0 EXIST::FUNCTION:STDIO EC_KEY_new_method 1288 1_1_0 EXIST::FUNCTION:EC @@ -1315,11 +1315,11 @@ BN_rshift1 1303 1_1_0 EXIST::FUNCTION: i2d_PKCS7_ENVELOPE 1304 1_1_0 EXIST::FUNCTION: PBKDF2PARAM_it 1305 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: PBKDF2PARAM_it 1305 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -UI_get_result_maxsize 1306 1_1_0 EXIST::FUNCTION:UI +UI_get_result_maxsize 1306 1_1_0 EXIST::FUNCTION: PBEPARAM_it 1307 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: PBEPARAM_it 1307 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: TS_ACCURACY_set_seconds 1308 1_1_0 EXIST::FUNCTION:TS -UI_get0_action_string 1309 1_1_0 EXIST::FUNCTION:UI +UI_get0_action_string 1309 1_1_0 EXIST::FUNCTION: RC2_decrypt 1310 1_1_0 EXIST::FUNCTION:RC2 OPENSSL_atexit 1311 1_1_0 EXIST::FUNCTION: CMS_add_standard_smimecap 1312 1_1_0 EXIST::FUNCTION:CMS @@ -1391,7 +1391,7 @@ PROXY_CERT_INFO_EXTENSION_it 1377 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION: CT_POLICY_EVAL_CTX_set1_cert 1378 1_1_0 EXIST::FUNCTION:CT X509_NAME_hash 1379 1_1_0 EXIST::FUNCTION: SCT_set_timestamp 1380 1_1_0 EXIST::FUNCTION:CT -UI_new 1381 1_1_0 EXIST::FUNCTION:UI +UI_new 1381 1_1_0 EXIST::FUNCTION: TS_REQ_get_msg_imprint 1382 1_1_0 EXIST::FUNCTION:TS i2d_PKCS12_BAGS 1383 1_1_0 EXIST::FUNCTION: CERTIFICATEPOLICIES_free 1385 1_1_0 EXIST::FUNCTION: @@ -1410,7 +1410,7 @@ PEM_read_bio_PrivateKey 1398 1_1_0 EXIST::FUNCTION: d2i_PKCS7_ENCRYPT 1399 1_1_0 EXIST::FUNCTION: EVP_PKEY_CTX_ctrl 1400 1_1_0 EXIST::FUNCTION: X509_REQ_set_pubkey 1401 1_1_0 EXIST::FUNCTION: -UI_create_method 1402 1_1_0 EXIST::FUNCTION:UI +UI_create_method 1402 1_1_0 EXIST::FUNCTION: X509_REQ_add_extensions_nid 1403 1_1_0 EXIST::FUNCTION: PEM_X509_INFO_write_bio 1404 1_1_0 EXIST::FUNCTION: BIO_dump_cb 1405 1_1_0 EXIST::FUNCTION: @@ -1478,7 +1478,7 @@ BN_gcd 1465 1_1_0 EXIST::FUNCTION: CMS_dataInit 1466 1_1_0 EXIST::FUNCTION:CMS TS_CONF_get_tsa_section 1467 1_1_0 EXIST::FUNCTION:TS i2d_PKCS7_SIGNER_INFO 1468 1_1_0 EXIST::FUNCTION: -EVP_get_pw_prompt 1469 1_1_0 EXIST::FUNCTION:UI +EVP_get_pw_prompt 1469 1_1_0 EXIST::FUNCTION: BN_bn2bin 1470 1_1_0 EXIST::FUNCTION: d2i_ASN1_BIT_STRING 1471 1_1_0 EXIST::FUNCTION: OCSP_CERTSTATUS_new 1472 1_1_0 EXIST::FUNCTION:OCSP @@ -1491,7 +1491,7 @@ SHA384_Final 1478 1_1_0 EXIST::FUNCTION: TS_RESP_CTX_set_certs 1479 1_1_0 EXIST::FUNCTION:TS BN_MONT_CTX_free 1480 1_1_0 EXIST::FUNCTION: BN_GF2m_mod_solve_quad_arr 1481 1_1_0 EXIST::FUNCTION:EC2M -UI_add_input_string 1482 1_1_0 EXIST::FUNCTION:UI +UI_add_input_string 1482 1_1_0 EXIST::FUNCTION: TS_TST_INFO_get_version 1483 1_1_0 EXIST::FUNCTION:TS BIO_accept_ex 1484 1_1_0 EXIST::FUNCTION:SOCK CRYPTO_get_mem_functions 1485 1_1_0 EXIST::FUNCTION: @@ -1600,7 +1600,7 @@ SRP_Verify_A_mod_N 1587 1_1_0 EXIST::FUNCTION:SRP SRP_VBASE_free 1588 1_1_0 EXIST::FUNCTION:SRP PKCS7_add0_attrib_signing_time 1589 1_1_0 EXIST::FUNCTION: X509_STORE_set_flags 1590 1_1_0 EXIST::FUNCTION: -UI_get0_output_string 1591 1_1_0 EXIST::FUNCTION:UI +UI_get0_output_string 1591 1_1_0 EXIST::FUNCTION: ERR_get_error_line_data 1592 1_1_0 EXIST::FUNCTION: CTLOG_get0_name 1593 1_1_0 EXIST::FUNCTION:CT ASN1_TBOOLEAN_it 1594 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: @@ -1699,7 +1699,7 @@ CMS_EncryptedData_set1_key 1686 1_1_0 EXIST::FUNCTION:CMS OBJ_find_sigid_by_algs 1687 1_1_0 EXIST::FUNCTION: ASN1_generate_nconf 1688 1_1_0 EXIST::FUNCTION: CMS_add0_recipient_password 1689 1_1_0 EXIST::FUNCTION:CMS -UI_get_string_type 1690 1_1_0 EXIST::FUNCTION:UI +UI_get_string_type 1690 1_1_0 EXIST::FUNCTION: PEM_read_bio_ECPrivateKey 1691 1_1_0 EXIST::FUNCTION:EC EVP_PKEY_get_attr 1692 1_1_0 EXIST::FUNCTION: PEM_read_bio_ECPKParameters 1693 1_1_0 EXIST::FUNCTION:EC @@ -1720,7 +1720,7 @@ X509_policy_tree_get0_level 1706 1_1_0 EXIST::FUNCTION: ASN1_parse_dump 1708 1_1_0 EXIST::FUNCTION: BIO_vfree 1709 1_1_0 EXIST::FUNCTION: CRYPTO_cbc128_decrypt 1710 1_1_0 EXIST::FUNCTION: -UI_dup_verify_string 1711 1_1_0 EXIST::FUNCTION:UI +UI_dup_verify_string 1711 1_1_0 EXIST::FUNCTION: d2i_PKCS7_bio 1712 1_1_0 EXIST::FUNCTION: ENGINE_set_default_digests 1713 1_1_0 EXIST::FUNCTION:ENGINE i2d_PublicKey 1714 1_1_0 EXIST::FUNCTION: @@ -1738,7 +1738,7 @@ BIO_nwrite0 1725 1_1_0 EXIST::FUNCTION: CAST_encrypt 1726 1_1_0 EXIST::FUNCTION:CAST a2d_ASN1_OBJECT 1727 1_1_0 EXIST::FUNCTION: OCSP_ONEREQ_delete_ext 1728 1_1_0 EXIST::FUNCTION:OCSP -UI_method_get_reader 1729 1_1_0 EXIST::FUNCTION:UI +UI_method_get_reader 1729 1_1_0 EXIST::FUNCTION: CMS_unsigned_get_attr 1730 1_1_0 EXIST::FUNCTION:CMS EVP_aes_256_cbc 1731 1_1_0 EXIST::FUNCTION: X509_check_ip_asc 1732 1_1_0 EXIST::FUNCTION: @@ -1866,7 +1866,7 @@ TS_RESP_CTX_set_serial_cb 1851 1_1_0 EXIST::FUNCTION:TS POLICY_MAPPING_it 1852 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: POLICY_MAPPING_it 1852 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: ERR_load_KDF_strings 1853 1_1_0 EXIST::FUNCTION: -UI_method_set_reader 1854 1_1_0 EXIST::FUNCTION:UI +UI_method_set_reader 1854 1_1_0 EXIST::FUNCTION: BIO_next 1855 1_1_0 EXIST::FUNCTION: ASN1_STRING_set_default_mask_asc 1856 1_1_0 EXIST::FUNCTION: X509_CRL_new 1857 1_1_0 EXIST::FUNCTION: @@ -1913,7 +1913,7 @@ EVP_aes_192_cfb128 1896 1_1_0 EXIST::FUNCTION: OCSP_REQ_CTX_nbio 1897 1_1_0 EXIST::FUNCTION:OCSP EVP_CIPHER_CTX_copy 1898 1_1_0 EXIST::FUNCTION: CRYPTO_secure_allocated 1899 1_1_0 EXIST::FUNCTION: -UI_UTIL_read_pw_string 1900 1_1_0 EXIST::FUNCTION:UI +UI_UTIL_read_pw_string 1900 1_1_0 EXIST::FUNCTION: NOTICEREF_free 1901 1_1_0 EXIST::FUNCTION: AES_cfb1_encrypt 1902 1_1_0 EXIST::FUNCTION: X509v3_get_ext 1903 1_1_0 EXIST::FUNCTION: @@ -1966,7 +1966,7 @@ PKCS12_unpack_p7data 1951 1_1_0 EXIST::FUNCTION: ECDSA_sign 1952 1_1_0 EXIST::FUNCTION:EC d2i_PKCS12_fp 1953 1_1_0 EXIST::FUNCTION:STDIO CMS_unsigned_get_attr_by_NID 1954 1_1_0 EXIST::FUNCTION:CMS -UI_add_user_data 1955 1_1_0 EXIST::FUNCTION:UI +UI_add_user_data 1955 1_1_0 EXIST::FUNCTION: BN_bntest_rand 1956 1_1_0 EXIST::FUNCTION: X509_get_pubkey 1957 1_1_0 EXIST::FUNCTION: i2d_X509_NAME 1958 1_1_0 EXIST::FUNCTION: @@ -2032,7 +2032,7 @@ EC_POINT_point2hex 2013 1_1_0 EXIST::FUNCTION:EC ENGINE_get_default_DSA 2014 1_1_0 EXIST::FUNCTION:ENGINE ENGINE_register_all_complete 2015 1_1_0 EXIST::FUNCTION:ENGINE SRP_get_default_gN 2016 1_1_0 EXIST::FUNCTION:SRP -UI_dup_input_boolean 2017 1_1_0 EXIST::FUNCTION:UI +UI_dup_input_boolean 2017 1_1_0 EXIST::FUNCTION: PKCS7_dup 2018 1_1_0 EXIST::FUNCTION: i2d_TS_REQ_fp 2019 1_1_0 EXIST::FUNCTION:STDIO,TS i2d_OTHERNAME 2020 1_1_0 EXIST::FUNCTION: @@ -2045,9 +2045,9 @@ ENGINE_get_pkey_asn1_meth_str 2026 1_1_0 EXIST::FUNCTION:ENGINE PKCS7_signatureVerify 2027 1_1_0 EXIST::FUNCTION: CRYPTO_ocb128_new 2028 1_1_0 EXIST::FUNCTION:OCB EC_curve_nist2nid 2029 1_1_0 EXIST::FUNCTION:EC -UI_get0_result 2030 1_1_0 EXIST::FUNCTION:UI +UI_get0_result 2030 1_1_0 EXIST::FUNCTION: OCSP_request_add1_nonce 2031 1_1_0 EXIST::FUNCTION:OCSP -UI_construct_prompt 2032 1_1_0 EXIST::FUNCTION:UI +UI_construct_prompt 2032 1_1_0 EXIST::FUNCTION: ENGINE_unregister_RSA 2033 1_1_0 EXIST::FUNCTION:ENGINE EC_GROUP_order_bits 2034 1_1_0 EXIST::FUNCTION:EC d2i_CMS_bio 2035 1_1_0 EXIST::FUNCTION:CMS @@ -2076,10 +2076,10 @@ EVP_CIPHER_CTX_original_iv 2054 1_1_0 EXIST::FUNCTION: PKCS7_SIGNED_free 2055 1_1_0 EXIST::FUNCTION: X509_TRUST_get0_name 2056 1_1_0 EXIST::FUNCTION: ENGINE_get_load_pubkey_function 2057 1_1_0 EXIST::FUNCTION:ENGINE -UI_get_default_method 2058 1_1_0 EXIST::FUNCTION:UI +UI_get_default_method 2058 1_1_0 EXIST::FUNCTION: PKCS12_add_CSPName_asc 2059 1_1_0 EXIST::FUNCTION: PEM_write_PUBKEY 2060 1_1_0 EXIST::FUNCTION:STDIO -UI_method_set_prompt_constructor 2061 1_1_0 EXIST::FUNCTION:UI +UI_method_set_prompt_constructor 2061 1_1_0 EXIST::FUNCTION: OBJ_length 2062 1_1_0 EXIST::FUNCTION: BN_GENCB_get_arg 2063 1_1_0 EXIST::FUNCTION: EVP_MD_CTX_clear_flags 2064 1_1_0 EXIST::FUNCTION: @@ -2107,7 +2107,7 @@ i2d_ASN1_GENERALSTRING 2085 1_1_0 EXIST::FUNCTION: POLICYQUALINFO_new 2086 1_1_0 EXIST::FUNCTION: PKCS7_RECIP_INFO_get0_alg 2087 1_1_0 EXIST::FUNCTION: EVP_PKEY_base_id 2088 1_1_0 EXIST::FUNCTION: -UI_method_set_opener 2089 1_1_0 EXIST::FUNCTION:UI +UI_method_set_opener 2089 1_1_0 EXIST::FUNCTION: X509v3_get_ext_by_NID 2090 1_1_0 EXIST::FUNCTION: TS_CONF_set_policies 2091 1_1_0 EXIST::FUNCTION:TS CMS_SignerInfo_cert_cmp 2092 1_1_0 EXIST::FUNCTION:CMS @@ -2368,7 +2368,7 @@ ASN1_PRINTABLE_type 2338 1_1_0 EXIST::FUNCTION: TS_CONF_set_ess_cert_id_chain 2339 1_1_0 EXIST::FUNCTION:TS PEM_read_DSAPrivateKey 2340 1_1_0 EXIST::FUNCTION:DSA,STDIO DH_generate_parameters_ex 2341 1_1_0 EXIST::FUNCTION:DH -UI_dup_input_string 2342 1_1_0 EXIST::FUNCTION:UI +UI_dup_input_string 2342 1_1_0 EXIST::FUNCTION: X509_keyid_set1 2343 1_1_0 EXIST::FUNCTION: X509_VERIFY_PARAM_set1 2344 1_1_0 EXIST::FUNCTION: EC_GROUP_get_asn1_flag 2345 1_1_0 EXIST::FUNCTION:EC @@ -2444,7 +2444,7 @@ ASN1_PCTX_set_nm_flags 2413 1_1_0 EXIST::FUNCTION: BIO_ctrl 2414 1_1_0 EXIST::FUNCTION: X509_CRL_set_default_method 2415 1_1_0 EXIST::FUNCTION: d2i_RSAPublicKey_fp 2417 1_1_0 EXIST::FUNCTION:RSA,STDIO -UI_method_get_flusher 2418 1_1_0 EXIST::FUNCTION:UI +UI_method_get_flusher 2418 1_1_0 EXIST::FUNCTION: EC_POINT_dbl 2419 1_1_0 EXIST::FUNCTION:EC i2d_X509_CRL_INFO 2420 1_1_0 EXIST::FUNCTION: i2d_OCSP_CERTSTATUS 2421 1_1_0 EXIST::FUNCTION:OCSP @@ -2570,7 +2570,7 @@ X509_PURPOSE_add 2537 1_1_0 EXIST::FUNCTION: PKCS7_ENVELOPE_free 2538 1_1_0 EXIST::FUNCTION: PKCS12_key_gen_uni 2539 1_1_0 EXIST::FUNCTION: WHIRLPOOL 2540 1_1_0 EXIST::FUNCTION:WHIRLPOOL -UI_set_default_method 2542 1_1_0 EXIST::FUNCTION:UI +UI_set_default_method 2542 1_1_0 EXIST::FUNCTION: EC_POINT_is_at_infinity 2543 1_1_0 EXIST::FUNCTION:EC i2d_NOTICEREF 2544 1_1_0 EXIST::FUNCTION: EC_KEY_new 2545 1_1_0 EXIST::FUNCTION:EC @@ -2795,8 +2795,8 @@ CT_POLICY_EVAL_CTX_new 2756 1_1_0 EXIST::FUNCTION:CT NETSCAPE_SPKI_it 2757 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: NETSCAPE_SPKI_it 2757 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: CRYPTO_THREAD_unlock 2758 1_1_0 EXIST::FUNCTION: -UI_method_set_writer 2759 1_1_0 EXIST::FUNCTION:UI -UI_dup_info_string 2760 1_1_0 EXIST::FUNCTION:UI +UI_method_set_writer 2759 1_1_0 EXIST::FUNCTION: +UI_dup_info_string 2760 1_1_0 EXIST::FUNCTION: OPENSSL_init 2761 1_1_0 EXIST::FUNCTION: TS_RESP_get_tst_info 2762 1_1_0 EXIST::FUNCTION:TS X509_VERIFY_PARAM_get_depth 2763 1_1_0 EXIST::FUNCTION: @@ -3236,7 +3236,7 @@ RSAPrivateKey_dup 3188 1_1_0 EXIST::FUNCTION:RSA BN_mod_add 3189 1_1_0 EXIST::FUNCTION: EC_POINT_set_affine_coordinates_GFp 3190 1_1_0 EXIST::FUNCTION:EC X509_get_default_cert_file 3191 1_1_0 EXIST::FUNCTION: -UI_method_set_flusher 3192 1_1_0 EXIST::FUNCTION:UI +UI_method_set_flusher 3192 1_1_0 EXIST::FUNCTION: RSA_new_method 3193 1_1_0 EXIST::FUNCTION:RSA OCSP_request_verify 3194 1_1_0 EXIST::FUNCTION:OCSP CRYPTO_THREAD_run_once 3195 1_1_0 EXIST::FUNCTION: @@ -3299,7 +3299,7 @@ CMS_set1_eContentType 3251 1_1_0 EXIST::FUNCTION:CMS EVP_des_ede3_wrap 3252 1_1_0 EXIST::FUNCTION:DES GENERAL_SUBTREE_it 3253 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: GENERAL_SUBTREE_it 3253 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -EVP_read_pw_string_min 3254 1_1_0 EXIST::FUNCTION:UI +EVP_read_pw_string_min 3254 1_1_0 EXIST::FUNCTION: X509_set1_notBefore 3255 1_1_0 EXIST::FUNCTION: MD4 3256 1_1_0 EXIST::FUNCTION:MD4 EVP_PKEY_CTX_dup 3257 1_1_0 EXIST::FUNCTION: @@ -3466,7 +3466,7 @@ ASN1_mbstring_copy 3417 1_1_0 EXIST::FUNCTION: PKCS7_set_type 3418 1_1_0 EXIST::FUNCTION: BIO_gets 3419 1_1_0 EXIST::FUNCTION: RSA_padding_check_PKCS1_type_1 3420 1_1_0 EXIST::FUNCTION:RSA -UI_ctrl 3421 1_1_0 EXIST::FUNCTION:UI +UI_ctrl 3421 1_1_0 EXIST::FUNCTION: i2d_X509_REQ_fp 3422 1_1_0 EXIST::FUNCTION:STDIO BN_BLINDING_convert_ex 3423 1_1_0 EXIST::FUNCTION: ASN1_GENERALIZEDTIME_print 3424 1_1_0 EXIST::FUNCTION: @@ -3479,7 +3479,7 @@ OCSP_SINGLERESP_get_ext_count 3430 1_1_0 EXIST::FUNCTION:OCSP EC_POINT_free 3431 1_1_0 EXIST::FUNCTION:EC EVP_OpenFinal 3432 1_1_0 EXIST::FUNCTION:RSA RAND_egd_bytes 3433 1_1_0 EXIST::FUNCTION:EGD -UI_method_get_writer 3434 1_1_0 EXIST::FUNCTION:UI +UI_method_get_writer 3434 1_1_0 EXIST::FUNCTION: BN_secure_new 3435 1_1_0 EXIST::FUNCTION: SHA1_Update 3437 1_1_0 EXIST::FUNCTION: BIO_s_connect 3438 1_1_0 EXIST::FUNCTION:SOCK @@ -3642,7 +3642,7 @@ RAND_bytes 3596 1_1_0 EXIST::FUNCTION: PKCS7_free 3597 1_1_0 EXIST::FUNCTION: X509_NAME_ENTRY_create_by_txt 3598 1_1_0 EXIST::FUNCTION: DES_cbc_cksum 3599 1_1_0 EXIST::FUNCTION:DES -UI_free 3600 1_1_0 EXIST::FUNCTION:UI +UI_free 3600 1_1_0 EXIST::FUNCTION: BN_is_prime 3601 1_1_0 EXIST::FUNCTION:DEPRECATEDIN_0_9_8 CMS_get0_signers 3602 1_1_0 EXIST::FUNCTION:CMS i2d_PrivateKey_fp 3603 1_1_0 EXIST::FUNCTION:STDIO @@ -3665,7 +3665,7 @@ TS_CONF_set_signer_digest 3619 1_1_0 EXIST::FUNCTION:TS OBJ_new_nid 3620 1_1_0 EXIST::FUNCTION: CMS_ReceiptRequest_new 3621 1_1_0 EXIST::FUNCTION:CMS SRP_VBASE_get1_by_user 3622 1_1_0 EXIST::FUNCTION:SRP -UI_method_get_closer 3623 1_1_0 EXIST::FUNCTION:UI +UI_method_get_closer 3623 1_1_0 EXIST::FUNCTION: ENGINE_get_ex_data 3624 1_1_0 EXIST::FUNCTION:ENGINE BN_print_fp 3625 1_1_0 EXIST::FUNCTION:STDIO MD2_Update 3626 1_1_0 EXIST::FUNCTION:MD2 @@ -3759,7 +3759,7 @@ ENGINE_register_all_digests 3713 1_1_0 EXIST::FUNCTION:ENGINE X509_REQ_get_version 3714 1_1_0 EXIST::FUNCTION: i2d_ASN1_UTCTIME 3715 1_1_0 EXIST::FUNCTION: TS_STATUS_INFO_new 3716 1_1_0 EXIST::FUNCTION:TS -UI_set_ex_data 3717 1_1_0 EXIST::FUNCTION:UI +UI_set_ex_data 3717 1_1_0 EXIST::FUNCTION: ASN1_TIME_set 3718 1_1_0 EXIST::FUNCTION: TS_RESP_verify_response 3719 1_1_0 EXIST::FUNCTION:TS X509_REVOKED_get0_serialNumber 3720 1_1_0 EXIST::FUNCTION: @@ -3796,7 +3796,7 @@ EVP_PKEY_meth_get_sign 3750 1_1_0 EXIST::FUNCTION: TS_REQ_get_nonce 3751 1_1_0 EXIST::FUNCTION:TS ENGINE_unregister_EC 3752 1_1_0 EXIST::FUNCTION:ENGINE X509v3_get_ext_count 3753 1_1_0 EXIST::FUNCTION: -UI_OpenSSL 3754 1_1_0 EXIST::FUNCTION:UI +UI_OpenSSL 3754 1_1_0 EXIST::FUNCTION:UI_CONSOLE CRYPTO_ccm128_decrypt 3755 1_1_0 EXIST::FUNCTION: d2i_OCSP_RESPDATA 3756 1_1_0 EXIST::FUNCTION:OCSP BIO_set_callback 3757 1_1_0 EXIST::FUNCTION: @@ -3826,7 +3826,7 @@ RSA_PSS_PARAMS_it 3779 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION: X509_STORE_CTX_get_error_depth 3780 1_1_0 EXIST::FUNCTION: ASN1_GENERALIZEDTIME_set_string 3781 1_1_0 EXIST::FUNCTION: EC_GROUP_new_curve_GFp 3782 1_1_0 EXIST::FUNCTION:EC -UI_new_method 3783 1_1_0 EXIST::FUNCTION:UI +UI_new_method 3783 1_1_0 EXIST::FUNCTION: Camellia_ofb128_encrypt 3784 1_1_0 EXIST::FUNCTION:CAMELLIA X509_new 3785 1_1_0 EXIST::FUNCTION: EC_KEY_get_conv_form 3786 1_1_0 EXIST::FUNCTION:EC @@ -4224,9 +4224,9 @@ X509_VERIFY_PARAM_set_inh_flags 4174 1_1_0d EXIST::FUNCTION: X509_VERIFY_PARAM_get_inh_flags 4175 1_1_0d EXIST::FUNCTION: EVP_PKEY_CTX_md 4176 1_1_1 EXIST::FUNCTION: RSA_pkey_ctx_ctrl 4177 1_1_1 EXIST::FUNCTION:RSA -UI_method_set_ex_data 4178 1_1_1 EXIST::FUNCTION:UI -UI_method_get_ex_data 4179 1_1_1 EXIST::FUNCTION:UI -UI_UTIL_wrap_read_pem_callback 4180 1_1_1 EXIST::FUNCTION:UI +UI_method_set_ex_data 4178 1_1_1 EXIST::FUNCTION: +UI_method_get_ex_data 4179 1_1_1 EXIST::FUNCTION: +UI_UTIL_wrap_read_pem_callback 4180 1_1_1 EXIST::FUNCTION: X509_VERIFY_PARAM_get_time 4181 1_1_0d EXIST::FUNCTION: EVP_PKEY_get0_poly1305 4182 1_1_1 EXIST::FUNCTION:POLY1305 DH_check_params 4183 1_1_0d EXIST::FUNCTION:DH @@ -4252,7 +4252,7 @@ EVP_aria_256_ecb 4202 1_1_1 EXIST::FUNCTION:ARIA EVP_aria_256_ctr 4203 1_1_1 EXIST::FUNCTION:ARIA EVP_aria_128_ctr 4204 1_1_1 EXIST::FUNCTION:ARIA EVP_aria_192_ctr 4205 1_1_1 EXIST::FUNCTION:ARIA -UI_null 4206 1_1_1 EXIST::FUNCTION:UI +UI_null 4206 1_1_1 EXIST::FUNCTION: EC_KEY_get0_engine 4207 1_1_1 EXIST::FUNCTION:EC INT32_it 4208 1_1_0f EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: INT32_it 4208 1_1_0f EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: @@ -4292,10 +4292,10 @@ PEM_read_bio_ex 4234 1_1_1 EXIST::FUNCTION: PEM_bytes_read_bio_secmem 4235 1_1_1 EXIST::FUNCTION: EVP_DigestSign 4236 1_1_1 EXIST::FUNCTION: EVP_DigestVerify 4237 1_1_1 EXIST::FUNCTION: -UI_method_get_data_duplicator 4238 1_1_1 EXIST::FUNCTION:UI -UI_method_set_data_duplicator 4239 1_1_1 EXIST::FUNCTION:UI -UI_dup_user_data 4240 1_1_1 EXIST::FUNCTION:UI -UI_method_get_data_destructor 4241 1_1_1 EXIST::FUNCTION:UI +UI_method_get_data_duplicator 4238 1_1_1 EXIST::FUNCTION: +UI_method_set_data_duplicator 4239 1_1_1 EXIST::FUNCTION: +UI_dup_user_data 4240 1_1_1 EXIST::FUNCTION: +UI_method_get_data_destructor 4241 1_1_1 EXIST::FUNCTION: ERR_load_strings_const 4242 1_1_1 EXIST::FUNCTION: ASN1_TIME_to_tm 4243 1_1_1 EXIST::FUNCTION: ASN1_TIME_set_string_X509 4244 1_1_1 EXIST::FUNCTION: diff --git a/util/mkdef.pl b/util/mkdef.pl index cc2fef7c81..6315a5bea5 100755 --- a/util/mkdef.pl +++ b/util/mkdef.pl @@ -127,7 +127,7 @@ my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF", # Unit testing "UNIT_TEST", # User Interface - "UI", + "UI_CONSOLE", # "TS", # OCB mode