new command line option -stdname to ciphers utility

This commit is contained in:
Dr. Stephen Henson 2012-11-16 00:35:46 +00:00
parent 8ab92fc646
commit 51b9115b6d
3 changed files with 24 additions and 1 deletions

View File

@ -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));
}
}

View File

@ -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 */

View File

@ -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)
{