Latest update.

This commit is contained in:
2019-09-21 00:43:47 +09:00
parent 2e57f602ae
commit 62515c7d8d
1131 changed files with 47556 additions and 24957 deletions
Regular → Executable
+15 -10
View File
@@ -10,6 +10,7 @@
#include <stdio.h>
#include <string.h>
#include "internal/thread_once.h"
#include <openssl/bio.h>
#include <openssl/crypto.h>
#include <openssl/trace.h>
@@ -218,6 +219,13 @@ static int trace_detach_cb(int category, int type, const void *data)
return 1;
}
static int do_ossl_trace_init(void);
static CRYPTO_ONCE trace_inited = CRYPTO_ONCE_STATIC_INIT;
DEFINE_RUN_ONCE_STATIC(ossl_trace_init)
{
return do_ossl_trace_init();
}
static int set_trace_data(int category, int type, BIO **channel,
const char **prefix, const char **suffix,
int (*attach_cb)(int, int, const void *),
@@ -227,8 +235,9 @@ static int set_trace_data(int category, int type, BIO **channel,
char *curr_prefix = NULL;
char *curr_suffix = NULL;
/* Ensure ossl_trace_init() is called */
OPENSSL_init_crypto(0, NULL);
/* Ensure do_ossl_trace_init() is called once */
if (!RUN_ONCE(&trace_inited, ossl_trace_init))
return 0;
curr_channel = trace_channels[category].bio;
curr_prefix = trace_channels[category].prefix;
@@ -297,19 +306,15 @@ static int set_trace_data(int category, int type, BIO **channel,
return 1;
}
#endif
int ossl_trace_init(void)
static int do_ossl_trace_init(void)
{
#ifndef OPENSSL_NO_TRACE
trace_lock = CRYPTO_THREAD_lock_new();
if (trace_lock == NULL)
return 0;
#endif
return 1;
return trace_lock != NULL;
}
#endif
void ossl_trace_cleanup(void)
{
#ifndef OPENSSL_NO_TRACE