From 22c44bd762844337147fe0956b9c2dbb6b60bcee Mon Sep 17 00:00:00 2001 From: Eric Blankenhorn Date: Mon, 22 Aug 2022 08:01:21 -0500 Subject: [PATCH] Fix for AddPacketInfo with WOLFSSL_CALLBACKS --- src/internal.c | 3 ++- src/tls13.c | 18 +++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/internal.c b/src/internal.c index 0d3cb3677..5f0419243 100644 --- a/src/internal.c +++ b/src/internal.c @@ -24693,7 +24693,8 @@ int PickHashSigAlgo(WOLFSSL* ssl, const byte* hashSigAlgo, word32 hashSigAlgoSz) } #endif /* WOLFSSL_CALLBACKS */ #ifdef OPENSSL_EXTRA - if (ssl->protoMsgCb != NULL && sz > RECORD_HEADER_SZ) { + if ((ssl->protoMsgCb != NULL) && (sz > RECORD_HEADER_SZ) && + (ssl->keys.encryptionOn != 1)) { /* version from hex to dec 16 is 16^1, 256 from 16^2 and 4096 from 16^3 */ int version = (ssl->version.minor & 0x0F) + diff --git a/src/tls13.c b/src/tls13.c index 8fbfd196e..5a450c691 100644 --- a/src/tls13.c +++ b/src/tls13.c @@ -3672,7 +3672,7 @@ int SendTls13ClientHello(WOLFSSL* ssl) ssl->options.clientState = CLIENT_HELLO_COMPLETE; -#ifdef WOLFSSL_CALLBACKS +#if defined(WOLFSSL_CALLBACKS) || defined(OPENSSL_EXTRA) if (ssl->hsInfoOn) AddPacketName(ssl, "ClientHello"); if (ssl->toInfoOn) { AddPacketInfo(ssl, "ClientHello", handshake, args->output, args->sendSz, @@ -5842,7 +5842,7 @@ int SendTls13ServerHello(WOLFSSL* ssl, byte extMsgType) if (ret != 0) return ret; - #ifdef WOLFSSL_CALLBACKS +#if defined(WOLFSSL_CALLBACKS) || defined(OPENSSL_EXTRA) if (ssl->hsInfoOn) AddPacketName(ssl, "ServerHello"); if (ssl->toInfoOn) { @@ -5986,7 +5986,7 @@ static int SendTls13EncryptedExtensions(WOLFSSL* ssl) return ret; idx += length; -#ifdef WOLFSSL_CALLBACKS +#if defined(WOLFSSL_CALLBACKS) || defined(OPENSSL_EXTRA) if (ssl->hsInfoOn) AddPacketName(ssl, "EncryptedExtensions"); if (ssl->toInfoOn) { @@ -6126,7 +6126,7 @@ static int SendTls13CertificateRequest(WOLFSSL* ssl, byte* reqCtx, if (sendSz < 0) return sendSz; - #ifdef WOLFSSL_CALLBACKS + #if defined(WOLFSSL_CALLBACKS) || defined(OPENSSL_EXTRA) if (ssl->hsInfoOn) AddPacketName(ssl, "CertificateRequest"); if (ssl->toInfoOn) { @@ -6932,7 +6932,7 @@ static int SendTls13Certificate(WOLFSSL* ssl) if (sendSz < 0) return sendSz; -#ifdef WOLFSSL_CALLBACKS +#if defined(WOLFSSL_CALLBACKS) || defined(OPENSSL_EXTRA) if (ssl->hsInfoOn) AddPacketName(ssl, "Certificate"); if (ssl->toInfoOn) { @@ -7467,7 +7467,7 @@ static int SendTls13CertificateVerify(WOLFSSL* ssl) ret = 0; } - #ifdef WOLFSSL_CALLBACKS + #if defined(WOLFSSL_CALLBACKS) || defined(OPENSSL_EXTRA) if (ssl->hsInfoOn) AddPacketName(ssl, "CertificateVerify"); if (ssl->toInfoOn) { @@ -8387,7 +8387,7 @@ static int SendTls13Finished(WOLFSSL* ssl) return BUILD_MSG_ERROR; } - #ifdef WOLFSSL_CALLBACKS + #if defined(WOLFSSL_CALLBACKS) || defined(OPENSSL_EXTRA) if (ssl->hsInfoOn) AddPacketName(ssl, "Finished"); if (ssl->toInfoOn) { AddPacketInfo(ssl, "Finished", handshake, output, sendSz, @@ -8595,7 +8595,7 @@ static int SendTls13KeyUpdate(WOLFSSL* ssl) if (sendSz < 0) return BUILD_MSG_ERROR; - #ifdef WOLFSSL_CALLBACKS + #if defined(WOLFSSL_CALLBACKS) || defined(OPENSSL_EXTRA) if (ssl->hsInfoOn) AddPacketName(ssl, "KeyUpdate"); if (ssl->toInfoOn) { AddPacketInfo(ssl, "KeyUpdate", handshake, output, sendSz, @@ -9723,7 +9723,7 @@ int DoTls13HandShakeMsgType(WOLFSSL* ssl, byte* input, word32* inOutIdx, return ret; } -#ifdef WOLFSSL_CALLBACKS +#if defined(WOLFSSL_CALLBACKS) /* add name later, add on record and handshake header part back on */ if (ssl->toInfoOn) { int add = RECORD_HEADER_SZ + HANDSHAKE_HEADER_SZ;