Don't fail when tracing is disabled

When tracing is disabled, don't generate errors, especially during
init.  Instead, just pretend the everything is fine.

Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
(Merged from https://github.com/openssl/openssl/pull/8475)
This commit is contained in:
Richard Levitte 2019-03-14 00:39:28 +01:00
parent 81d61a62fa
commit d33d76168f

View file

@ -287,11 +287,11 @@ int ossl_trace_init(void)
{
#ifndef OPENSSL_NO_TRACE
trace_lock = CRYPTO_THREAD_lock_new();
if (trace_lock != NULL)
return 1;
if (trace_lock == NULL)
return 0;
#endif
return 0;
return 1;
}
void ossl_trace_cleanup(void)
@ -321,15 +321,11 @@ int OSSL_trace_set_channel(int category, BIO *channel)
if (category < 0 || category >= OSSL_TRACE_CATEGORY_NUM
|| !set_trace_data(category, &channel, NULL, NULL,
trace_attach_cb, trace_detach_cb))
goto err;
return 0;
trace_channels[category].type = t_channel;
return 1;
err:
#endif
return 0;
return 1;
}
#ifndef OPENSSL_NO_TRACE
@ -383,36 +379,41 @@ int OSSL_trace_set_callback(int category, OSSL_trace_cb callback, void *data)
goto err;
trace_channels[category].type = t_callback;
return 1;
goto done;
err:
BIO_free(channel);
OPENSSL_free(trace_data);
#endif
return 0;
done:
#endif
return 1;
}
int OSSL_trace_set_prefix(int category, const char *prefix)
{
int rv = 1;
#ifndef OPENSSL_NO_TRACE
if (category >= 0 || category < OSSL_TRACE_CATEGORY_NUM)
return set_trace_data(category, NULL, &prefix, NULL,
trace_attach_cb, trace_detach_cb);
rv = 0;
#endif
return 0;
return rv;
}
int OSSL_trace_set_suffix(int category, const char *suffix)
{
int rv = 1;
#ifndef OPENSSL_NO_TRACE
if (category >= 0 || category < OSSL_TRACE_CATEGORY_NUM)
return set_trace_data(category, NULL, NULL, &suffix,
trace_attach_cb, trace_detach_cb);
rv = 0;
#endif
return 0;
return rv;
}
#ifndef OPENSSL_NO_TRACE