From 51b9115b6dcaf94718de3c8b4d97b00f8cd63cd5 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Fri, 16 Nov 2012 00:35:46 +0000 Subject: [PATCH] new command line option -stdname to ciphers utility --- apps/ciphers.c | 17 ++++++++++++++++- ssl/ssl.h | 1 + ssl/t1_trce.c | 7 +++++++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/apps/ciphers.c b/apps/ciphers.c index 5f2b739700..c9abf1a05a 100644 --- a/apps/ciphers.c +++ b/apps/ciphers.c @@ -85,6 +85,9 @@ int MAIN(int argc, char **argv) { int ret=1,i; int verbose=0,Verbose=0; +#ifndef OPENSSL_NO_SSL_TRACE + int stdname = 0; +#endif const char **pp; const char *p; int badops=0; @@ -126,6 +129,10 @@ int MAIN(int argc, char **argv) verbose=1; else if (strcmp(*argv,"-V") == 0) verbose=Verbose=1; +#ifndef OPENSSL_NO_SSL_TRACE + else if (strcmp(*argv,"-stdname") == 0) + stdname=verbose=1; +#endif #ifndef OPENSSL_NO_SSL2 else if (strcmp(*argv,"-ssl2") == 0) meth=SSLv2_client_method(); @@ -209,7 +216,15 @@ int MAIN(int argc, char **argv) else BIO_printf(STDout, "0x%02X,0x%02X,0x%02X,0x%02X - ", id0, id1, id2, id3); /* whatever */ } - +#ifndef OPENSSL_NO_SSL_TRACE + if (stdname) + { + const char *nm = SSL_CIPHER_standard_name(c); + if (nm == NULL) + nm = "UNKNOWN"; + BIO_printf(STDout, "%s - ", nm); + } +#endif BIO_puts(STDout,SSL_CIPHER_description(c,buf,sizeof buf)); } } diff --git a/ssl/ssl.h b/ssl/ssl.h index 891667827a..88f828508f 100644 --- a/ssl/ssl.h +++ b/ssl/ssl.h @@ -2269,6 +2269,7 @@ int SSL_is_server(SSL *s); #ifndef OPENSSL_NO_SSL_TRACE void SSL_trace(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg); +const char *SSL_CIPHER_standard_name(const SSL_CIPHER *c); #endif /* BEGIN ERROR CODES */ diff --git a/ssl/t1_trce.c b/ssl/t1_trce.c index 3571aaacae..2c8a2e4486 100644 --- a/ssl/t1_trce.c +++ b/ssl/t1_trce.c @@ -1203,6 +1203,13 @@ static int ssl_print_heartbeat(BIO *bio, int indent, return 1; } +const char *SSL_CIPHER_standard_name(const SSL_CIPHER *c) + { + if (c->algorithm_ssl & SSL_SSLV2) + return NULL; + return ssl_trace_str(c->id & 0xFFFF, ssl_ciphers_tbl); + } + void SSL_trace(int write_p, int version, int content_type, const void *buf, size_t msglen, SSL *ssl, void *arg) { -- 2.25.1