forked from wolfSSL/wolfssl
introspection tweaks: rename wolfcrypt/src/debug.c to wolfcrypt/src/wc_debug.c; restore BUILD_WC_DEBUG gating for autotools inclusion of wc_debug.o and disable opportunistically when ENABLED_LEANTLS, ENABLED_LEANPSK, or ENABLED_LOWRESOURCE; add HAVE_WC_INTROSPECTION gate for libwolfssl_configure_args() and libwolfssl_global_cflags().
This commit is contained in:
@ -110,7 +110,7 @@ add_library(wolfssl
|
||||
wolfcrypt/src/cryptocb.c
|
||||
wolfcrypt/src/curve25519.c
|
||||
wolfcrypt/src/curve448.c
|
||||
wolfcrypt/src/debug.c
|
||||
wolfcrypt/src/wc_debug.c
|
||||
wolfcrypt/src/des3.c
|
||||
wolfcrypt/src/dh.c
|
||||
wolfcrypt/src/dsa.c
|
||||
|
18
configure.ac
18
configure.ac
@ -5785,6 +5785,18 @@ AM_CONDITIONAL([BUILD_LINUXKM],[test "$ENABLED_LINUXKM" = "yes"])
|
||||
AM_CONDITIONAL([BUILD_NO_LIBRARY],[test "$ENABLED_NO_LIBRARY" = "yes"])
|
||||
AM_CONDITIONAL([BUILD_RC2],[test "x$ENABLED_RC2" = "xyes"])
|
||||
|
||||
if test "$ax_enable_debug" = "yes" ||
|
||||
test "$ENABLED_STACKSIZE" = "yes" ||
|
||||
(test "$ENABLED_LEANTLS" = "no" &&
|
||||
test "$ENABLED_LEANPSK" = "no" &&
|
||||
test "$ENABLED_LOWRESOURCE" = "no")
|
||||
then
|
||||
WC_INTROSPECTION=yes
|
||||
else
|
||||
WC_INTROSPECTION=no
|
||||
fi
|
||||
AM_CONDITIONAL([BUILD_WC_DEBUG],[test "$WC_INTROSPECTION" = "yes"])
|
||||
|
||||
CREATE_HEX_VERSION
|
||||
AC_SUBST([AM_CPPFLAGS])
|
||||
AC_SUBST([AM_CFLAGS])
|
||||
@ -5839,6 +5851,12 @@ echo >> $OPTION_FILE
|
||||
echo "#define LIBWOLFSSL_GLOBAL_CFLAGS \"$CPPFLAGS $AM_CPPFLAGS $CFLAGS $AM_CFLAGS\"" >> $OPTION_FILE
|
||||
echo >> $OPTION_FILE
|
||||
|
||||
if test "$WC_INTROSPECTION" = "yes"
|
||||
then
|
||||
echo "#define HAVE_WC_INTROSPECTION" >> $OPTION_FILE
|
||||
echo >> $OPTION_FILE
|
||||
fi
|
||||
|
||||
for option in $CPPFLAGS $AM_CPPFLAGS $CFLAGS $AM_CFLAGS; do
|
||||
defonly=`echo $option | sed 's/^-D//'`
|
||||
if test "$defonly" != "$option"
|
||||
|
@ -24,6 +24,9 @@
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#ifndef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
|
||||
#include <wolfssl/ssl.h>
|
||||
@ -2125,16 +2128,36 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
|
||||
|
||||
case '@' :
|
||||
{
|
||||
#ifdef HAVE_WC_INTROSPECTION
|
||||
const char *conf_args = libwolfssl_configure_args();
|
||||
printf("%s\n", conf_args ? conf_args : "configure args not compiled in");
|
||||
XEXIT_T(EXIT_SUCCESS);
|
||||
if (conf_args) {
|
||||
puts(conf_args);
|
||||
XEXIT_T(EXIT_SUCCESS);
|
||||
} else {
|
||||
fputs("configure args not compiled in.\n",stderr);
|
||||
XEXIT_T(MY_EX_USAGE);
|
||||
}
|
||||
#else
|
||||
fputs("compiled without BUILD_INTROSPECTION.\n",stderr);
|
||||
XEXIT_T(MY_EX_USAGE);
|
||||
#endif
|
||||
}
|
||||
|
||||
case '#' :
|
||||
{
|
||||
#ifdef HAVE_WC_INTROSPECTION
|
||||
const char *cflags = libwolfssl_global_cflags();
|
||||
printf("%s\n", cflags ? cflags : "CFLAGS not compiled in");
|
||||
XEXIT_T(EXIT_SUCCESS);
|
||||
if (cflags) {
|
||||
puts(cflags);
|
||||
XEXIT_T(EXIT_SUCCESS);
|
||||
} else {
|
||||
fputs("CFLAGS not compiled in.\n",stderr);
|
||||
XEXIT_T(MY_EX_USAGE);
|
||||
}
|
||||
#else
|
||||
fputs("compiled without BUILD_INTROSPECTION.\n",stderr);
|
||||
XEXIT_T(MY_EX_USAGE);
|
||||
#endif
|
||||
}
|
||||
|
||||
default:
|
||||
|
@ -23,9 +23,14 @@
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#ifndef WOLFSSL_USER_SETTINGS
|
||||
#include <wolfssl/options.h>
|
||||
#endif
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
|
||||
#include <wolfssl/ssl.h> /* name change portability layer */
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#ifdef HAVE_ECC
|
||||
#include <wolfssl/wolfcrypt/ecc.h> /* wc_ecc_fp_free */
|
||||
#endif
|
||||
@ -1555,16 +1560,36 @@ THREAD_RETURN WOLFSSL_THREAD server_test(void* args)
|
||||
|
||||
case '@' :
|
||||
{
|
||||
#ifdef HAVE_WC_INTROSPECTION
|
||||
const char *conf_args = libwolfssl_configure_args();
|
||||
printf("%s\n", conf_args ? conf_args : "configure args not compiled in");
|
||||
XEXIT_T(EXIT_SUCCESS);
|
||||
if (conf_args) {
|
||||
puts(conf_args);
|
||||
XEXIT_T(EXIT_SUCCESS);
|
||||
} else {
|
||||
fputs("configure args not compiled in.\n",stderr);
|
||||
XEXIT_T(MY_EX_USAGE);
|
||||
}
|
||||
#else
|
||||
fputs("compiled without BUILD_INTROSPECTION.\n",stderr);
|
||||
XEXIT_T(MY_EX_USAGE);
|
||||
#endif
|
||||
}
|
||||
|
||||
case '#' :
|
||||
{
|
||||
#ifdef HAVE_WC_INTROSPECTION
|
||||
const char *cflags = libwolfssl_global_cflags();
|
||||
printf("%s\n", cflags ? cflags : "CFLAGS not compiled in");
|
||||
XEXIT_T(EXIT_SUCCESS);
|
||||
if (cflags) {
|
||||
puts(cflags);
|
||||
XEXIT_T(EXIT_SUCCESS);
|
||||
} else {
|
||||
fputs("CFLAGS not compiled in.\n",stderr);
|
||||
XEXIT_T(MY_EX_USAGE);
|
||||
}
|
||||
#else
|
||||
fputs("compiled without BUILD_INTROSPECTION.\n",stderr);
|
||||
XEXIT_T(MY_EX_USAGE);
|
||||
#endif
|
||||
}
|
||||
|
||||
default:
|
||||
|
@ -76,12 +76,12 @@ $(obj)/wolfcrypt/src/aes_asm.o: OBJECT_FILES_NON_STANDARD := y
|
||||
$(obj)/wolfcrypt/src/aes_gcm_asm.o: OBJECT_FILES_NON_STANDARD := y
|
||||
|
||||
# auto-generate the exported symbol list, leveraging the WOLFSSL_API visibility tags.
|
||||
# exclude symbols that don't match wc_* or wolf*.
|
||||
# exclude symbols that don't match wc_*, wolf*, or libwolf*.
|
||||
$(src)/linuxkm/module_exports.c: $(src)/linuxkm/module_exports.c.template $(WOLFSSL_OBJ_TARGETS)
|
||||
@cp $< $@
|
||||
@readelf --symbols --wide $(WOLFSSL_OBJ_TARGETS) | \
|
||||
awk '/^ *[0-9]+: / { \
|
||||
if ($$8 !~ /^(wc_|wolf)/){next;} \
|
||||
if ($$8 !~ /^(wc_|wolf|libwolf)/){next;} \
|
||||
if (($$4 == "FUNC") && ($$5 == "GLOBAL") && ($$6 == "DEFAULT")) { \
|
||||
print "EXPORT_SYMBOL_NS(" $$8 ", WOLFSSL);"; \
|
||||
} \
|
||||
|
@ -315,8 +315,12 @@ endif !BUILD_FIPS_RAND
|
||||
src_libwolfssl_la_SOURCES += \
|
||||
wolfcrypt/src/logging.c \
|
||||
wolfcrypt/src/wc_port.c \
|
||||
wolfcrypt/src/error.c \
|
||||
wolfcrypt/src/debug.c
|
||||
wolfcrypt/src/error.c
|
||||
|
||||
if BUILD_WC_DEBUG
|
||||
src_libwolfssl_la_SOURCES += \
|
||||
wolfcrypt/src/wc_debug.c
|
||||
endif
|
||||
|
||||
if !BUILD_FIPS_RAND
|
||||
src_libwolfssl_la_SOURCES += \
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* debug.c
|
||||
/* wc_debug.c
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
@ -24,10 +24,12 @@
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <wolfssl/options.h>
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfssl/wolfcrypt/wc_port.h>
|
||||
#include <wolfssl/wolfcrypt/types.h>
|
||||
#include <wolfssl/options.h>
|
||||
|
||||
#ifdef HAVE_WC_INTROSPECTION
|
||||
|
||||
WOLFSSL_API const char *libwolfssl_configure_args(void) {
|
||||
#ifdef LIBWOLFSSL_CONFIGURE_ARGS
|
||||
@ -47,10 +49,12 @@ WOLFSSL_API const char *libwolfssl_global_cflags(void) {
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif /* HAVE_WC_INTROSPECTION */
|
||||
|
||||
#ifdef HAVE_STACK_SIZE_VERBOSE
|
||||
WOLFSSL_API THREAD_LS_T unsigned char *StackSizeCheck_myStack = NULL;
|
||||
WOLFSSL_API THREAD_LS_T size_t StackSizeCheck_stackSize = 0;
|
||||
WOLFSSL_API THREAD_LS_T size_t StackSizeCheck_stackSizeHWM = 0;
|
||||
WOLFSSL_API THREAD_LS_T size_t *StackSizeCheck_stackSizeHWM_ptr = 0;
|
||||
WOLFSSL_API THREAD_LS_T void *StackSizeCheck_stackOffsetPointer = 0;
|
||||
#endif
|
||||
#endif /* HAVE_STACK_SIZE_VERBOSE */
|
@ -221,9 +221,6 @@
|
||||
|
||||
#include <wolfssl/wolfcrypt/visibility.h>
|
||||
|
||||
WOLFSSL_API const char *libwolfssl_configure_args(void);
|
||||
WOLFSSL_API const char *libwolfssl_global_cflags(void);
|
||||
|
||||
#ifdef WOLFSSL_USER_SETTINGS
|
||||
#include "user_settings.h"
|
||||
#elif defined(USE_HAL_DRIVER) && !defined(HAVE_CONFIG_H)
|
||||
@ -231,6 +228,10 @@ WOLFSSL_API const char *libwolfssl_global_cflags(void);
|
||||
#include "wolfSSL.wolfSSL_conf.h"
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_WC_INTROSPECTION
|
||||
WOLFSSL_API const char *libwolfssl_configure_args(void);
|
||||
WOLFSSL_API const char *libwolfssl_global_cflags(void);
|
||||
#endif
|
||||
|
||||
/* make sure old RNG name is used with CTaoCrypt FIPS */
|
||||
#ifdef HAVE_FIPS
|
||||
|
Reference in New Issue
Block a user