diff --git a/components/ip_net2-6.9/ipcrypto/config/02comp_crypto.cdf b/components/ip_net2-6.9/ipcrypto/config/02comp_crypto.cdf index 6218c0a3..f479a4f4 100644 --- a/components/ip_net2-6.9/ipcrypto/config/02comp_crypto.cdf +++ b/components/ip_net2-6.9/ipcrypto/config/02comp_crypto.cdf @@ -70,6 +70,14 @@ Component INCLUDE_DGST_CMD REQUIRES INCLUDE_IPCRYPTO INCLUDE_IPCOM_SHELL_CMD } +Component INCLUDE_LIST_CMD + { + NAME OpenSSL list shell command + SYNOPSIS This component includes the OpenSSL list shell command. + _CHILDREN FOLDER_OPENSSL_3_5_0_USE_CMDS + REQUIRES INCLUDE_IPCRYPTO INCLUDE_IPCOM_SHELL_CMD + } + Component INCLUDE_DHPARAM_CMD { NAME OpenSSL dhparam shell command diff --git a/components/ip_net2-6.9/ipcrypto/config/ipcrypto_config.c b/components/ip_net2-6.9/ipcrypto/config/ipcrypto_config.c index 9029caad..d598f29f 100644 --- a/components/ip_net2-6.9/ipcrypto/config/ipcrypto_config.c +++ b/components/ip_net2-6.9/ipcrypto/config/ipcrypto_config.c @@ -62,6 +62,7 @@ extern int verify_main(int argc, char ** argv); extern int asn1parse_main(int argc, char ** argv); extern int req_main(int argc,char *argv[]); extern int dgst_main(int argc,char *argv[]); +extern int list_main(int argc, char **argv); /* * dh command has been obsoleted by dhparam since OpenSSL 1.1.1. * extern int dh_main(int argc,char *argv[]); @@ -187,6 +188,10 @@ static int ipcrypto_req_main(int argc,char *argv[]); static int ipcrypto_dgst_main(int argc,char *argv[]); #endif +#ifdef INCLUDE_LIST_CMD +static int ipcrypto_list_main(int argc, char ** argv); +#endif + #ifdef INCLUDE_DH_CMD static int ipcrypto_dh_main(int argc,char *argv[]); #endif @@ -384,6 +389,14 @@ ipcrypto_dgst_main(int argc,char *argv[]) } #endif +#ifdef INCLUDE_LIST_CMD +static int ipcrypto_list_main(int argc, char ** argv) +{ + ipcrypto_cmds_startup(); + return list_main(argc, argv); +} +#endif + #ifdef INCLUDE_DH_CMD static int ipcrypto_dh_main(int argc,char *argv[]) @@ -741,6 +754,11 @@ ipcrypto_configure(void) #if defined(INCLUDE_DGST_CMD) (void)ipcrypto_shell_add_cmd("dgst", "dgst [options] [file ...]", "Message Digest Calculation", ipcrypto_dgst_main); #endif +#if defined(INCLUDE_LIST_CMD) + (void)ipcrypto_shell_add_cmd("list", "list [option]", + "lists which ciphers, providers, or other modules are available in the build", + ipcrypto_list_main); +#endif #ifndef OPENSSL_NO_DH #if defined(INCLUDE_DH_CMD) diff --git a/vxworks-6.9/target/src/openssl/OPENSSL/openssl-3.5.0/apps/list.c b/vxworks-6.9/target/src/openssl/OPENSSL/openssl-3.5.0/apps/list.c index 5219773f..b2a4e3d1 100644 --- a/vxworks-6.9/target/src/openssl/OPENSSL/openssl-3.5.0/apps/list.c +++ b/vxworks-6.9/target/src/openssl/OPENSSL/openssl-3.5.0/apps/list.c @@ -26,11 +26,13 @@ #include #include #include +#include #include "apps.h" #include "app_params.h" #include "progs.h" #include "opt.h" #include "names.h" +#include "app_trace.h" static int verbose = 0; static const char *select_name = NULL; @@ -1768,6 +1770,18 @@ int list_main(int argc, char **argv) verbose = 0; /* Clear a possible previous call */ +#ifndef OPENSSL_NO_TRACE + setup_trace(getenv("OPENSSL_TRACE")); +#endif + +#if defined(OPENSSL_SYS_VXWORKS_SUPPORT) + if (bio_err == NULL) + bio_err = dup_bio_err(FORMAT_TEXT); + + if (bio_out == NULL) + bio_out = dup_bio_out(FORMAT_TEXT); +#endif + prog = opt_init(argc, argv, list_options); while ((o = opt_next()) != OPT_EOF) { switch (o) {