diff --git a/CHANGES b/CHANGES index 2e3e2ab9b8ae7fbd09218e29a11220dfc32cb2a1..6d83cfa2eebdc6e9798a7ac0097996d15bc92a64 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,9 @@ Changes between 0.9.6 and 0.9.7 [xx XXX 2000] + *) Better error reporting in 'openssl engine'. + [Richard Levitte] + *) Never call load_dh_param(NULL) in s_server. [Bodo Moeller] diff --git a/apps/engine.c b/apps/engine.c index 42f768b12f82d7cd0db297c91a088f73315fe0a4..a66696152fef64994737dd2a857fdc883729a513 100644 --- a/apps/engine.c +++ b/apps/engine.c @@ -98,6 +98,7 @@ int MAIN(int argc, char **argv) BIO *bio_out=NULL; apps_startup(); + SSL_load_error_strings(); if (bio_err == NULL) bio_err=BIO_new_fp(stderr,BIO_NOCLOSE); @@ -176,21 +177,17 @@ int MAIN(int argc, char **argv) else { BIO_printf(bio_out, "unavailable"); + ERR_clear_error(); } } BIO_printf(bio_out, "\n"); } else - BIO_printf(bio_err, "Engine %s does not exist\n", id); + ERR_print_errors(bio_err); } ret=0; - if (0) - { -err: - SSL_load_error_strings(); - ERR_print_errors(bio_err); - } + ERR_print_errors(bio_err); end: sk_pop_free(engines, identity); if (bio_out != NULL) BIO_free_all(bio_out);