Loading apps/apps.c +9 −1 Original line number Diff line number Diff line Loading @@ -266,6 +266,7 @@ 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); Loading Loading @@ -335,20 +336,25 @@ void destroy_ui_method(void) ui_method = NULL; } } #endif int password_callback(char *buf, int bufsiz, int verify, PW_CB_DATA *cb_tmp) { UI *ui = NULL; int res = 0; #ifndef OPENSSL_NO_UI UI *ui = NULL; const char *prompt_info = NULL; #endif const char *password = NULL; PW_CB_DATA *cb_data = (PW_CB_DATA *)cb_tmp; if (cb_data) { if (cb_data->password) password = cb_data->password; #ifndef OPENSSL_NO_UI if (cb_data->prompt_info) prompt_info = cb_data->prompt_info; #endif } if (password) { Loading @@ -359,6 +365,7 @@ int password_callback(char *buf, int bufsiz, int verify, PW_CB_DATA *cb_tmp) return res; } #ifndef OPENSSL_NO_UI ui = UI_new_method(ui_method); if (ui) { int ok = 0; Loading Loading @@ -408,6 +415,7 @@ int password_callback(char *buf, int bufsiz, int verify, PW_CB_DATA *cb_tmp) UI_free(ui); OPENSSL_free(prompt); } #endif return res; } Loading apps/enc.c +24 −17 Original line number Diff line number Diff line Loading @@ -347,6 +347,8 @@ int enc_main(int argc, char **argv) } if ((str == NULL) && (cipher != NULL) && (hkey == NULL)) { if (1) { #ifndef OPENSSL_NO_UI for (;;) { char prompt[200]; Loading @@ -368,6 +370,11 @@ int enc_main(int argc, char **argv) goto end; } } } else { #endif BIO_printf(bio_err, "password required\n"); goto end; } } out = bio_open_default(outfile, 'w', outformat); Loading apps/openssl.c +4 −0 Original line number Diff line number Diff line Loading @@ -176,14 +176,18 @@ 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() Loading apps/passwd.c +24 −11 Original line number Diff line number Diff line Loading @@ -118,7 +118,10 @@ int passwd_main(int argc, char **argv) char *infile = NULL, *salt = NULL, *passwd = NULL, **passwds = NULL; char *salt_malloc = NULL, *passwd_malloc = NULL, *prog; OPTION_CHOICE o; int in_stdin = 0, in_noverify = 0, pw_source_defined = 0; int in_stdin = 0, pw_source_defined = 0; #ifndef OPENSSL_NO_UI int in_noverify = 0; #endif int passed_salt = 0, quiet = 0, table = 0, reverse = 0; int ret = 1, usecrypt = 0, use1 = 0, useapr1 = 0; size_t passwd_malloc_size = 0, pw_maxlen = 256; Loading @@ -142,7 +145,9 @@ int passwd_main(int argc, char **argv) pw_source_defined = 1; break; case OPT_NOVERIFY: #ifndef OPENSSL_NO_UI in_noverify = 1; #endif break; case OPT_QUIET: quiet = 1; Loading Loading @@ -232,6 +237,8 @@ int passwd_main(int argc, char **argv) } if ((in == NULL) && (passwds == NULL)) { if (1) { #ifndef OPENSSL_NO_UI /* build a null-terminated list */ static char *passwds_static[2] = { NULL, NULL }; Loading @@ -242,8 +249,14 @@ int passwd_main(int argc, char **argv) !(passed_salt || in_noverify)) != 0) goto end; passwds[0] = passwd_malloc; } else { #endif BIO_printf(bio_err, "password required\n"); goto end; } } if (in == NULL) { assert(passwds != NULL); assert(*passwds != NULL); Loading apps/pkcs12.c +39 −14 Original line number Diff line number Diff line Loading @@ -176,7 +176,8 @@ int pkcs12_main(int argc, char **argv) int cert_pbe = NID_pbe_WithSHA1And3_Key_TripleDES_CBC; # endif int key_pbe = NID_pbe_WithSHA1And3_Key_TripleDES_CBC; int ret = 1, macver = 1, noprompt = 0, add_lmk = 0, private = 0; int ret = 1, macver = 1, add_lmk = 0, private = 0; int noprompt = 0; char *passinarg = NULL, *passoutarg = NULL, *passarg = NULL; char *passin = NULL, *passout = NULL, *inrand = NULL, *macalg = NULL; char *cpass = NULL, *mpass = NULL, *CApath = NULL, *CAfile = NULL; Loading Loading @@ -367,11 +368,18 @@ int pkcs12_main(int argc, char **argv) } if (twopass) { if (1) { #ifndef OPENSSL_NO_UI if (EVP_read_pw_string (macpass, sizeof macpass, "Enter MAC Password:", export_cert)) { BIO_printf(bio_err, "Can't read Password\n"); goto end; } } else { #endif BIO_printf(bio_err, "Unsupported option -twopass\n"); goto end; } } if (export_cert) { Loading Loading @@ -477,12 +485,21 @@ int pkcs12_main(int argc, char **argv) if (add_lmk && key) EVP_PKEY_add1_attr_by_NID(key, NID_LocalKeySet, 0, NULL, -1); if (!noprompt && EVP_read_pw_string(pass, sizeof pass, "Enter Export Password:", if (!noprompt) { if (1) { #ifndef OPENSSL_NO_UI if (EVP_read_pw_string(pass, sizeof pass, "Enter Export Password:", 1)) { BIO_printf(bio_err, "Can't read Password\n"); goto export_end; } } else { #endif BIO_printf(bio_err, "Password required\n"); goto export_end; } } if (!twopass) OPENSSL_strlcpy(macpass, pass, sizeof macpass); Loading Loading @@ -534,12 +551,20 @@ int pkcs12_main(int argc, char **argv) goto end; } if (!noprompt && EVP_read_pw_string(pass, sizeof pass, "Enter Import Password:", if (!noprompt) { if (1) { #ifndef OPENSSL_NO_UI if (EVP_read_pw_string(pass, sizeof pass, "Enter Import Password:", 0)) { BIO_printf(bio_err, "Can't read Password\n"); goto end; } } else { #endif BIO_printf(bio_err, "Password required\n"); goto end; } } if (!twopass) OPENSSL_strlcpy(macpass, pass, sizeof macpass); Loading Loading
apps/apps.c +9 −1 Original line number Diff line number Diff line Loading @@ -266,6 +266,7 @@ 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); Loading Loading @@ -335,20 +336,25 @@ void destroy_ui_method(void) ui_method = NULL; } } #endif int password_callback(char *buf, int bufsiz, int verify, PW_CB_DATA *cb_tmp) { UI *ui = NULL; int res = 0; #ifndef OPENSSL_NO_UI UI *ui = NULL; const char *prompt_info = NULL; #endif const char *password = NULL; PW_CB_DATA *cb_data = (PW_CB_DATA *)cb_tmp; if (cb_data) { if (cb_data->password) password = cb_data->password; #ifndef OPENSSL_NO_UI if (cb_data->prompt_info) prompt_info = cb_data->prompt_info; #endif } if (password) { Loading @@ -359,6 +365,7 @@ int password_callback(char *buf, int bufsiz, int verify, PW_CB_DATA *cb_tmp) return res; } #ifndef OPENSSL_NO_UI ui = UI_new_method(ui_method); if (ui) { int ok = 0; Loading Loading @@ -408,6 +415,7 @@ int password_callback(char *buf, int bufsiz, int verify, PW_CB_DATA *cb_tmp) UI_free(ui); OPENSSL_free(prompt); } #endif return res; } Loading
apps/enc.c +24 −17 Original line number Diff line number Diff line Loading @@ -347,6 +347,8 @@ int enc_main(int argc, char **argv) } if ((str == NULL) && (cipher != NULL) && (hkey == NULL)) { if (1) { #ifndef OPENSSL_NO_UI for (;;) { char prompt[200]; Loading @@ -368,6 +370,11 @@ int enc_main(int argc, char **argv) goto end; } } } else { #endif BIO_printf(bio_err, "password required\n"); goto end; } } out = bio_open_default(outfile, 'w', outformat); Loading
apps/openssl.c +4 −0 Original line number Diff line number Diff line Loading @@ -176,14 +176,18 @@ 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() Loading
apps/passwd.c +24 −11 Original line number Diff line number Diff line Loading @@ -118,7 +118,10 @@ int passwd_main(int argc, char **argv) char *infile = NULL, *salt = NULL, *passwd = NULL, **passwds = NULL; char *salt_malloc = NULL, *passwd_malloc = NULL, *prog; OPTION_CHOICE o; int in_stdin = 0, in_noverify = 0, pw_source_defined = 0; int in_stdin = 0, pw_source_defined = 0; #ifndef OPENSSL_NO_UI int in_noverify = 0; #endif int passed_salt = 0, quiet = 0, table = 0, reverse = 0; int ret = 1, usecrypt = 0, use1 = 0, useapr1 = 0; size_t passwd_malloc_size = 0, pw_maxlen = 256; Loading @@ -142,7 +145,9 @@ int passwd_main(int argc, char **argv) pw_source_defined = 1; break; case OPT_NOVERIFY: #ifndef OPENSSL_NO_UI in_noverify = 1; #endif break; case OPT_QUIET: quiet = 1; Loading Loading @@ -232,6 +237,8 @@ int passwd_main(int argc, char **argv) } if ((in == NULL) && (passwds == NULL)) { if (1) { #ifndef OPENSSL_NO_UI /* build a null-terminated list */ static char *passwds_static[2] = { NULL, NULL }; Loading @@ -242,8 +249,14 @@ int passwd_main(int argc, char **argv) !(passed_salt || in_noverify)) != 0) goto end; passwds[0] = passwd_malloc; } else { #endif BIO_printf(bio_err, "password required\n"); goto end; } } if (in == NULL) { assert(passwds != NULL); assert(*passwds != NULL); Loading
apps/pkcs12.c +39 −14 Original line number Diff line number Diff line Loading @@ -176,7 +176,8 @@ int pkcs12_main(int argc, char **argv) int cert_pbe = NID_pbe_WithSHA1And3_Key_TripleDES_CBC; # endif int key_pbe = NID_pbe_WithSHA1And3_Key_TripleDES_CBC; int ret = 1, macver = 1, noprompt = 0, add_lmk = 0, private = 0; int ret = 1, macver = 1, add_lmk = 0, private = 0; int noprompt = 0; char *passinarg = NULL, *passoutarg = NULL, *passarg = NULL; char *passin = NULL, *passout = NULL, *inrand = NULL, *macalg = NULL; char *cpass = NULL, *mpass = NULL, *CApath = NULL, *CAfile = NULL; Loading Loading @@ -367,11 +368,18 @@ int pkcs12_main(int argc, char **argv) } if (twopass) { if (1) { #ifndef OPENSSL_NO_UI if (EVP_read_pw_string (macpass, sizeof macpass, "Enter MAC Password:", export_cert)) { BIO_printf(bio_err, "Can't read Password\n"); goto end; } } else { #endif BIO_printf(bio_err, "Unsupported option -twopass\n"); goto end; } } if (export_cert) { Loading Loading @@ -477,12 +485,21 @@ int pkcs12_main(int argc, char **argv) if (add_lmk && key) EVP_PKEY_add1_attr_by_NID(key, NID_LocalKeySet, 0, NULL, -1); if (!noprompt && EVP_read_pw_string(pass, sizeof pass, "Enter Export Password:", if (!noprompt) { if (1) { #ifndef OPENSSL_NO_UI if (EVP_read_pw_string(pass, sizeof pass, "Enter Export Password:", 1)) { BIO_printf(bio_err, "Can't read Password\n"); goto export_end; } } else { #endif BIO_printf(bio_err, "Password required\n"); goto export_end; } } if (!twopass) OPENSSL_strlcpy(macpass, pass, sizeof macpass); Loading Loading @@ -534,12 +551,20 @@ int pkcs12_main(int argc, char **argv) goto end; } if (!noprompt && EVP_read_pw_string(pass, sizeof pass, "Enter Import Password:", if (!noprompt) { if (1) { #ifndef OPENSSL_NO_UI if (EVP_read_pw_string(pass, sizeof pass, "Enter Import Password:", 0)) { BIO_printf(bio_err, "Can't read Password\n"); goto end; } } else { #endif BIO_printf(bio_err, "Password required\n"); goto end; } } if (!twopass) OPENSSL_strlcpy(macpass, pass, sizeof macpass); Loading