Merge pull request #2660 from JacobBarthelmeh/Compatibility-Layer

add --disable-errorqueue option
This commit is contained in:
toddouska 2019-12-17 16:37:02 -08:00 committed by GitHub
commit f81ce71c25
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 36 additions and 11 deletions

View File

@ -1692,6 +1692,19 @@ else
fi
# ERROR QUEUE
AC_ARG_ENABLE([errorqueue],
[AS_HELP_STRING([--disable-errorqueue],[Disables adding nodes to error queue when compiled with OPENSSL_EXTRA (default: enabled)])],
[ ENABLED_ERROR_QUEUE=$enableval ],
[ ENABLED_ERROR_QUEUE=yes ]
)
if test "$ENABLED_ERROR_QUEUE" = "no"
then
AM_CFLAGS="$AM_CFLAGS -DNO_ERROR_QUEUE"
fi
# OLD TLS
AC_ARG_ENABLE([oldtls],
[AS_HELP_STRING([--enable-oldtls],[Enable old TLS versions < 1.2 (default: enabled)])],

View File

@ -17884,7 +17884,8 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
}
#if defined(DEBUG_WOLFSSL) || defined(OPENSSL_EXTRA)
#if (defined(DEBUG_WOLFSSL) || defined(OPENSSL_EXTRA)) && \
(!defined(_WIN32) && !defined(NO_ERROR_QUEUE))
static const char WOLFSSL_SYS_ACCEPT_T[] = "accept";
static const char WOLFSSL_SYS_BIND_T[] = "bind";
static const char WOLFSSL_SYS_CONNECT_T[] = "connect";
@ -17941,7 +17942,8 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
(void)file;
(void)line;
WOLFSSL_MSG("Not compiled in debug mode");
#elif defined(OPENSSL_EXTRA) && defined(_WIN32)
#elif defined(OPENSSL_EXTRA) && \
(defined(_WIN32) || defined(NO_ERROR_QUEUE))
(void)fun;
(void)file;
(void)line;

View File

@ -20248,7 +20248,7 @@ static void test_wolfSSL_ERR_peek_last_error_line(void)
#if defined(OPENSSL_EXTRA) && !defined(NO_CERTS) && \
!defined(NO_FILESYSTEM) && defined(DEBUG_WOLFSSL) && \
!defined(NO_OLD_TLS) && !defined(WOLFSSL_NO_TLS12) && \
defined(HAVE_IO_TESTS_DEPENDENCIES)
defined(HAVE_IO_TESTS_DEPENDENCIES) && !defined(NO_ERROR_QUEUE)
tcp_ready ready;
func_args client_args;
func_args server_args;
@ -22553,7 +22553,8 @@ static void test_wolfSSL_PKCS8_d2i(void)
static void test_wolfSSL_ERR_put_error(void)
{
#if defined(OPENSSL_EXTRA) && defined(DEBUG_WOLFSSL)
#if !defined(NO_ERROR_QUEUE) && defined(OPENSSL_EXTRA) && \
defined(DEBUG_WOLFSSL)
const char* file;
int line;
@ -22622,7 +22623,8 @@ static void test_wolfSSL_ERR_put_error(void)
static void test_wolfSSL_ERR_print_errors(void)
{
#if defined(OPENSSL_EXTRA) && defined(DEBUG_WOLFSSL)
#if !defined(NO_ERROR_QUEUE) && defined(OPENSSL_EXTRA) && \
defined(DEBUG_WOLFSSL)
BIO* bio;
char buf[1024];

View File

@ -354,7 +354,8 @@ void WOLFSSL_LEAVE(const char* msg, int ret)
defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) || \
defined(OPENSSL_EXTRA)
#if (defined(OPENSSL_EXTRA) && !defined(_WIN32)) || defined(DEBUG_WOLFSSL_VERBOSE)
#if (defined(OPENSSL_EXTRA) && !defined(_WIN32) && !defined(NO_ERROR_QUEUE)) \
|| defined(DEBUG_WOLFSSL_VERBOSE)
void WOLFSSL_ERROR_LINE(int error, const char* func, unsigned int line,
const char* file, void* usrCtx)
#else
@ -367,7 +368,8 @@ void WOLFSSL_ERROR(int error)
{
char buffer[WOLFSSL_MAX_ERROR_SZ];
#if (defined(OPENSSL_EXTRA) && !defined(_WIN32)) || defined(DEBUG_WOLFSSL_VERBOSE)
#if (defined(OPENSSL_EXTRA) && !defined(_WIN32) && \
!defined(NO_ERROR_QUEUE)) || defined(DEBUG_WOLFSSL_VERBOSE)
(void)usrCtx; /* a user ctx for future flexibility */
(void)func;
@ -572,9 +574,14 @@ int wc_PullErrorNode(const char **file, const char **reason, int *line)
* function. debug_mutex should be locked before a call to this function. */
int wc_AddErrorNode(int error, int line, char* buf, char* file)
{
#if defined(NO_ERROR_QUEUE)
(void)error;
(void)line;
(void)buf;
(void)file;
WOLFSSL_MSG("Error queue turned off, can not add nodes");
#else
struct wc_error_queue* err;
err = (struct wc_error_queue*)XMALLOC(
sizeof(struct wc_error_queue), wc_error_heap, DYNAMIC_TYPE_LOG);
if (err == NULL) {
@ -640,7 +647,7 @@ int wc_AddErrorNode(int error, int line, char* buf, char* file)
}
}
}
#endif
return 0;
}

View File

@ -166,7 +166,8 @@ WOLFSSL_API void wolfSSL_Debugging_OFF(void);
#if defined(DEBUG_WOLFSSL) || defined(OPENSSL_ALL) || defined(WOLFSSL_NGINX) ||\
defined(WOLFSSL_HAPROXY) || defined(OPENSSL_EXTRA)
#if (defined(OPENSSL_EXTRA) && !defined(_WIN32)) || defined(DEBUG_WOLFSSL_VERBOSE)
#if (!defined(NO_ERROR_QUEUE) && defined(OPENSSL_EXTRA) && !defined(_WIN32))\
|| defined(DEBUG_WOLFSSL_VERBOSE)
WOLFSSL_API void WOLFSSL_ERROR_LINE(int err, const char* func, unsigned int line,
const char* file, void* ctx);
#define WOLFSSL_ERROR(x) \