Skip to content

Commit

Permalink
apps: -msg flag enhancement 1/2
Browse files Browse the repository at this point in the history
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from #12310)
  • Loading branch information
MarcT512 authored and beldmit committed Aug 27, 2020
1 parent 625679b commit 50c911b
Showing 1 changed file with 25 additions and 6 deletions.
31 changes: 25 additions & 6 deletions apps/lib/s_cb.c
Expand Up @@ -570,8 +570,8 @@ void msg_cb(int write_p, int version, int content_type, const void *buf,
{
BIO *bio = arg;
const char *str_write_p = write_p ? ">>>" : "<<<";
const char *str_version = lookup(version, ssl_versions, "???");
const char *str_content_type = "", *str_details1 = "", *str_details2 = "";
char tmpbuf[128];
const char *str_version, *str_content_type = "", *str_details1 = "", *str_details2 = "";
const unsigned char* bp = buf;

if (version == SSL3_VERSION ||
Expand All @@ -580,11 +580,14 @@ void msg_cb(int write_p, int version, int content_type, const void *buf,
version == TLS1_2_VERSION ||
version == TLS1_3_VERSION ||
version == DTLS1_VERSION || version == DTLS1_BAD_VER) {
str_version = lookup(version, ssl_versions, "???");
switch (content_type) {
case 20:
case SSL3_RT_CHANGE_CIPHER_SPEC:
/* type 20 */
str_content_type = ", ChangeCipherSpec";
break;
case 21:
case SSL3_RT_ALERT:
/* type 21 */
str_content_type = ", Alert";
str_details1 = ", ???";
if (len == 2) {
Expand All @@ -599,16 +602,32 @@ void msg_cb(int write_p, int version, int content_type, const void *buf,
str_details2 = lookup((int)bp[1], alert_types, " ???");
}
break;
case 22:
case SSL3_RT_HANDSHAKE:
/* type 22 */
str_content_type = ", Handshake";
str_details1 = "???";
if (len > 0)
str_details1 = lookup((int)bp[0], handshakes, "???");
break;
case 23:
case SSL3_RT_APPLICATION_DATA:
/* type 23 */
str_content_type = ", ApplicationData";
break;
case SSL3_RT_HEADER:
/* type 256 */
str_content_type = ", RecordHeader";
break;
case SSL3_RT_INNER_CONTENT_TYPE:
/* type 257 */
str_content_type = ", InnerContent";
break;
default:
BIO_snprintf(tmpbuf, sizeof(tmpbuf)-1, ", Unknown (content_type=%d)", content_type);
str_content_type = tmpbuf;
}
} else {
BIO_snprintf(tmpbuf, sizeof(tmpbuf)-1, "Not TLS data or unknown version (version=%d, content_type=%d)", version, content_type);
str_version = tmpbuf;
}

BIO_printf(bio, "%s %s%s [length %04lx]%s%s\n", str_write_p, str_version,
Expand Down

0 comments on commit 50c911b

Please sign in to comment.