From ecbfaef2aad61fae0c29c04287913af11981b82e Mon Sep 17 00:00:00 2001
From: "Dr. Matthias St. Pierre" <Matthias.St.Pierre@ncp-e.com>
Date: Thu, 4 Apr 2019 18:27:15 +0200
Subject: [PATCH] trace: add PROVIDER_CONF trace category

Fixes #8667

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8672)
---
 crypto/trace.c                      | 1 +
 doc/man3/OSSL_trace_set_channel.pod | 4 ++++
 include/openssl/trace.h             | 3 ++-
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/crypto/trace.c b/crypto/trace.c
index efcf8be76c..c9623b0fde 100644
--- a/crypto/trace.c
+++ b/crypto/trace.c
@@ -132,6 +132,7 @@ static const struct trace_category_st trace_categories[] = {
     TRACE_CATEGORY_(PKCS12_DECRYPT),
     TRACE_CATEGORY_(X509V3_POLICY),
     TRACE_CATEGORY_(BN_CTX),
+    TRACE_CATEGORY_(PROVIDER_CONF),
 };
 
 const char *OSSL_trace_get_category_name(int num)
diff --git a/doc/man3/OSSL_trace_set_channel.pod b/doc/man3/OSSL_trace_set_channel.pod
index 46e248f45d..cb349674c4 100644
--- a/doc/man3/OSSL_trace_set_channel.pod
+++ b/doc/man3/OSSL_trace_set_channel.pod
@@ -176,6 +176,10 @@ point during evaluation.
 
 Traces BIGNUM context operations.
 
+=item C<OSSL_TRACE_CATEGORY_PROVIDER_CONF>
+
+Traces the OSSL_PROVIDER configuration.
+
 =back
 
 There is also C<OSSL_TRACE_CATEGORY_ALL>, which works as a fallback
diff --git a/include/openssl/trace.h b/include/openssl/trace.h
index 48c98ca396..aff1a32a18 100644
--- a/include/openssl/trace.h
+++ b/include/openssl/trace.h
@@ -49,7 +49,8 @@ extern "C" {
 # define OSSL_TRACE_CATEGORY_PKCS12_DECRYPT     10
 # define OSSL_TRACE_CATEGORY_X509V3_POLICY      11
 # define OSSL_TRACE_CATEGORY_BN_CTX             12
-# define OSSL_TRACE_CATEGORY_NUM                13
+# define OSSL_TRACE_CATEGORY_PROVIDER_CONF      13
+# define OSSL_TRACE_CATEGORY_NUM                14
 
 /* Returns the trace category number for the given |name| */
 int OSSL_trace_get_category_num(const char *name);
-- 
2.25.1