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/cryptocb.c
|
||||||
wolfcrypt/src/curve25519.c
|
wolfcrypt/src/curve25519.c
|
||||||
wolfcrypt/src/curve448.c
|
wolfcrypt/src/curve448.c
|
||||||
wolfcrypt/src/debug.c
|
wolfcrypt/src/wc_debug.c
|
||||||
wolfcrypt/src/des3.c
|
wolfcrypt/src/des3.c
|
||||||
wolfcrypt/src/dh.c
|
wolfcrypt/src/dh.c
|
||||||
wolfcrypt/src/dsa.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_NO_LIBRARY],[test "$ENABLED_NO_LIBRARY" = "yes"])
|
||||||
AM_CONDITIONAL([BUILD_RC2],[test "x$ENABLED_RC2" = "xyes"])
|
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
|
CREATE_HEX_VERSION
|
||||||
AC_SUBST([AM_CPPFLAGS])
|
AC_SUBST([AM_CPPFLAGS])
|
||||||
AC_SUBST([AM_CFLAGS])
|
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 "#define LIBWOLFSSL_GLOBAL_CFLAGS \"$CPPFLAGS $AM_CPPFLAGS $CFLAGS $AM_CFLAGS\"" >> $OPTION_FILE
|
||||||
echo >> $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
|
for option in $CPPFLAGS $AM_CPPFLAGS $CFLAGS $AM_CFLAGS; do
|
||||||
defonly=`echo $option | sed 's/^-D//'`
|
defonly=`echo $option | sed 's/^-D//'`
|
||||||
if test "$defonly" != "$option"
|
if test "$defonly" != "$option"
|
||||||
|
@ -24,6 +24,9 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef WOLFSSL_USER_SETTINGS
|
||||||
|
#include <wolfssl/options.h>
|
||||||
|
#endif
|
||||||
#include <wolfssl/wolfcrypt/settings.h>
|
#include <wolfssl/wolfcrypt/settings.h>
|
||||||
|
|
||||||
#include <wolfssl/ssl.h>
|
#include <wolfssl/ssl.h>
|
||||||
@ -2125,16 +2128,36 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
|
|||||||
|
|
||||||
case '@' :
|
case '@' :
|
||||||
{
|
{
|
||||||
|
#ifdef HAVE_WC_INTROSPECTION
|
||||||
const char *conf_args = libwolfssl_configure_args();
|
const char *conf_args = libwolfssl_configure_args();
|
||||||
printf("%s\n", conf_args ? conf_args : "configure args not compiled in");
|
if (conf_args) {
|
||||||
XEXIT_T(EXIT_SUCCESS);
|
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 '#' :
|
case '#' :
|
||||||
{
|
{
|
||||||
|
#ifdef HAVE_WC_INTROSPECTION
|
||||||
const char *cflags = libwolfssl_global_cflags();
|
const char *cflags = libwolfssl_global_cflags();
|
||||||
printf("%s\n", cflags ? cflags : "CFLAGS not compiled in");
|
if (cflags) {
|
||||||
XEXIT_T(EXIT_SUCCESS);
|
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:
|
default:
|
||||||
|
@ -23,9 +23,14 @@
|
|||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#endif
|
#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/ssl.h> /* name change portability layer */
|
||||||
|
|
||||||
#include <wolfssl/wolfcrypt/settings.h>
|
|
||||||
#ifdef HAVE_ECC
|
#ifdef HAVE_ECC
|
||||||
#include <wolfssl/wolfcrypt/ecc.h> /* wc_ecc_fp_free */
|
#include <wolfssl/wolfcrypt/ecc.h> /* wc_ecc_fp_free */
|
||||||
#endif
|
#endif
|
||||||
@ -1555,16 +1560,36 @@ THREAD_RETURN WOLFSSL_THREAD server_test(void* args)
|
|||||||
|
|
||||||
case '@' :
|
case '@' :
|
||||||
{
|
{
|
||||||
|
#ifdef HAVE_WC_INTROSPECTION
|
||||||
const char *conf_args = libwolfssl_configure_args();
|
const char *conf_args = libwolfssl_configure_args();
|
||||||
printf("%s\n", conf_args ? conf_args : "configure args not compiled in");
|
if (conf_args) {
|
||||||
XEXIT_T(EXIT_SUCCESS);
|
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 '#' :
|
case '#' :
|
||||||
{
|
{
|
||||||
|
#ifdef HAVE_WC_INTROSPECTION
|
||||||
const char *cflags = libwolfssl_global_cflags();
|
const char *cflags = libwolfssl_global_cflags();
|
||||||
printf("%s\n", cflags ? cflags : "CFLAGS not compiled in");
|
if (cflags) {
|
||||||
XEXIT_T(EXIT_SUCCESS);
|
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:
|
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
|
$(obj)/wolfcrypt/src/aes_gcm_asm.o: OBJECT_FILES_NON_STANDARD := y
|
||||||
|
|
||||||
# auto-generate the exported symbol list, leveraging the WOLFSSL_API visibility tags.
|
# 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)
|
$(src)/linuxkm/module_exports.c: $(src)/linuxkm/module_exports.c.template $(WOLFSSL_OBJ_TARGETS)
|
||||||
@cp $< $@
|
@cp $< $@
|
||||||
@readelf --symbols --wide $(WOLFSSL_OBJ_TARGETS) | \
|
@readelf --symbols --wide $(WOLFSSL_OBJ_TARGETS) | \
|
||||||
awk '/^ *[0-9]+: / { \
|
awk '/^ *[0-9]+: / { \
|
||||||
if ($$8 !~ /^(wc_|wolf)/){next;} \
|
if ($$8 !~ /^(wc_|wolf|libwolf)/){next;} \
|
||||||
if (($$4 == "FUNC") && ($$5 == "GLOBAL") && ($$6 == "DEFAULT")) { \
|
if (($$4 == "FUNC") && ($$5 == "GLOBAL") && ($$6 == "DEFAULT")) { \
|
||||||
print "EXPORT_SYMBOL_NS(" $$8 ", WOLFSSL);"; \
|
print "EXPORT_SYMBOL_NS(" $$8 ", WOLFSSL);"; \
|
||||||
} \
|
} \
|
||||||
|
@ -315,8 +315,12 @@ endif !BUILD_FIPS_RAND
|
|||||||
src_libwolfssl_la_SOURCES += \
|
src_libwolfssl_la_SOURCES += \
|
||||||
wolfcrypt/src/logging.c \
|
wolfcrypt/src/logging.c \
|
||||||
wolfcrypt/src/wc_port.c \
|
wolfcrypt/src/wc_port.c \
|
||||||
wolfcrypt/src/error.c \
|
wolfcrypt/src/error.c
|
||||||
wolfcrypt/src/debug.c
|
|
||||||
|
if BUILD_WC_DEBUG
|
||||||
|
src_libwolfssl_la_SOURCES += \
|
||||||
|
wolfcrypt/src/wc_debug.c
|
||||||
|
endif
|
||||||
|
|
||||||
if !BUILD_FIPS_RAND
|
if !BUILD_FIPS_RAND
|
||||||
src_libwolfssl_la_SOURCES += \
|
src_libwolfssl_la_SOURCES += \
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* debug.c
|
/* wc_debug.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||||
*
|
*
|
||||||
@ -24,10 +24,12 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <wolfssl/options.h>
|
||||||
#include <wolfssl/wolfcrypt/settings.h>
|
#include <wolfssl/wolfcrypt/settings.h>
|
||||||
#include <wolfssl/wolfcrypt/wc_port.h>
|
#include <wolfssl/wolfcrypt/wc_port.h>
|
||||||
#include <wolfssl/wolfcrypt/types.h>
|
#include <wolfssl/wolfcrypt/types.h>
|
||||||
#include <wolfssl/options.h>
|
|
||||||
|
#ifdef HAVE_WC_INTROSPECTION
|
||||||
|
|
||||||
WOLFSSL_API const char *libwolfssl_configure_args(void) {
|
WOLFSSL_API const char *libwolfssl_configure_args(void) {
|
||||||
#ifdef LIBWOLFSSL_CONFIGURE_ARGS
|
#ifdef LIBWOLFSSL_CONFIGURE_ARGS
|
||||||
@ -47,10 +49,12 @@ WOLFSSL_API const char *libwolfssl_global_cflags(void) {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* HAVE_WC_INTROSPECTION */
|
||||||
|
|
||||||
#ifdef HAVE_STACK_SIZE_VERBOSE
|
#ifdef HAVE_STACK_SIZE_VERBOSE
|
||||||
WOLFSSL_API THREAD_LS_T unsigned char *StackSizeCheck_myStack = NULL;
|
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_stackSize = 0;
|
||||||
WOLFSSL_API THREAD_LS_T size_t StackSizeCheck_stackSizeHWM = 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 size_t *StackSizeCheck_stackSizeHWM_ptr = 0;
|
||||||
WOLFSSL_API THREAD_LS_T void *StackSizeCheck_stackOffsetPointer = 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>
|
#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
|
#ifdef WOLFSSL_USER_SETTINGS
|
||||||
#include "user_settings.h"
|
#include "user_settings.h"
|
||||||
#elif defined(USE_HAL_DRIVER) && !defined(HAVE_CONFIG_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"
|
#include "wolfSSL.wolfSSL_conf.h"
|
||||||
#endif
|
#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 */
|
/* make sure old RNG name is used with CTaoCrypt FIPS */
|
||||||
#ifdef HAVE_FIPS
|
#ifdef HAVE_FIPS
|
||||||
|
Reference in New Issue
Block a user