From 1ae9f756bacd4d54555fb2d828a6e50f4186b0fb Mon Sep 17 00:00:00 2001 From: Hanno Becker Date: Tue, 12 Jan 2021 06:43:17 +0000 Subject: [PATCH] Add MPS compile-time option for enabling/disabling tracing This commit adds an MPS-specific compile-time option `MBEDTLS_MPS_TRACE` to the internal MPS header `mps/common.h`. So far -- this may need revisiting -- MPS comes with its own internal tracing module which allows to track the operation of MPS' various layers for the purpose of understanding of it workings as well as for debugging. The reasons for the introduction of a module separate from SSL debug are the following: 1) The SSL debug module requires an SSL context to function because debug callbacks are part of the runtime configuration of the SSL module. The MPS tracing module, in contrast, is not supposed to be used in production environments, and there is no need for a runtime configuration. Instead, a compile-time defined tracing callback is used. 2) In the interest of modularity, MPS' tracing module shouldn't require having an SSL context around. 3) Purely visually, MPS' tracing module adds support for indentation according to call-depth and coloring according to which module is being used, which makes it very useful for what's going on; however, those features aren't available in the SSL debug module (and they shouldn't be). Signed-off-by: Hanno Becker --- library/mps/common.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/library/mps/common.h b/library/mps/common.h index 7e994634f..becd1778d 100644 --- a/library/mps/common.h +++ b/library/mps/common.h @@ -47,6 +47,9 @@ */ #define MBEDTLS_MPS_ENABLE_ASSERTIONS +/*! This flag controls whether tracing for MPS should be enabled. */ +#define MBEDTLS_MPS_TRACE + /* \} name SECTION: MPS Configuration */ #endif /* MBEDTLS_MPS_COMMON_H */