X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=apps%2Fengine.c;h=8a04fbcd64568775daa6b0215751c24c640219f0;hp=ebaeeabf210e9a5fb512d0be9531fda88a55491f;hb=3009e9f9ef196829befec5b96730747bb24dd120;hpb=6dc5d570d09dfc4f2b4595f089f2a7536d82ad72 diff --git a/apps/engine.c b/apps/engine.c index ebaeeabf21..8a04fbcd64 100644 --- a/apps/engine.c +++ b/apps/engine.c @@ -430,9 +430,10 @@ skip_arg_loop: { int cap_size = 256; char *cap_buf = NULL; -#if 0 /* Awaiting EVP_[CIPHER|DIGEST] refit */ int k,n; -#endif + const int *nids; + ENGINE_CIPHERS_PTR fn_c; + ENGINE_DIGESTS_PTR fn_d; if (ENGINE_get_RSA(e) != NULL && !append_buf(&cap_buf, "RSA", @@ -451,15 +452,26 @@ skip_arg_loop: &cap_size, 256)) goto end; -#if 0 - n=ENGINE_cipher_num(e); + fn_c = ENGINE_get_ciphers(e); + if(!fn_c) goto skip_ciphers; + n = fn_c(e, NULL, &nids, 0); for(k=0 ; k < n ; ++k) if(!append_buf(&cap_buf, - OBJ_nid2sn(ENGINE_get_cipher(e, k)->nid), + OBJ_nid2sn(nids[k]), + &cap_size, 256)) + goto end; + +skip_ciphers: + fn_d = ENGINE_get_digests(e); + if(!fn_d) goto skip_digests; + n = fn_d(e, NULL, &nids, 0); + for(k=0 ; k < n ; ++k) + if(!append_buf(&cap_buf, + OBJ_nid2sn(nids[k]), &cap_size, 256)) goto end; -#endif +skip_digests: if (cap_buf && (*cap_buf != '\0')) BIO_printf(bio_out, " [%s]", cap_buf);