diff --git a/netutils/dropbear/CMakeLists.txt b/netutils/dropbear/CMakeLists.txt index 8ca691be094..eb31d001246 100644 --- a/netutils/dropbear/CMakeLists.txt +++ b/netutils/dropbear/CMakeLists.txt @@ -192,8 +192,13 @@ if(CONFIG_NETUTILS_DROPBEAR) endif() target_compile_definitions( - ${PROGNAME} PRIVATE LOCALOPTIONS_H_EXISTS=1 DROPBEAR_NUTTX=1 - DROPBEAR_NUTTX_PASSWD=1) + ${PROGNAME} + PRIVATE LOCALOPTIONS_H_EXISTS=1 + DROPBEAR_NUTTX=1 + DROPBEAR_NUTTX_PASSWD=1 + base64_encode=dropbear_ltc_base64_encode + base64_decode=dropbear_ltc_base64_decode + ecc_make_key=dropbear_ltc_ecc_make_key) if(CONFIG_NETUTILS_DROPBEAR_SCP) target_compile_definitions( diff --git a/netutils/dropbear/Makefile b/netutils/dropbear/Makefile index 53b1f2f720b..17e5ec8db51 100644 --- a/netutils/dropbear/Makefile +++ b/netutils/dropbear/Makefile @@ -130,6 +130,13 @@ endif # Match the ESP-IDF port behavior: LTC_SOURCE is only for libtomcrypt sources. $(foreach src,$(TOMCRYPT_SRCS),$(eval $(src)_CFLAGS += ${DEFINE_PREFIX}LTC_SOURCE=1)) +# Avoid duplicate symbols when NuttX/apps also provide these APIs. +# Apply to all dropbear sources so libtomcrypt definitions and dropbear +# callers (e.g. signkey.c) use the same renamed symbols. +CFLAGS += ${DEFINE_PREFIX}base64_encode=dropbear_ltc_base64_encode +CFLAGS += ${DEFINE_PREFIX}base64_decode=dropbear_ltc_base64_decode +CFLAGS += ${DEFINE_PREFIX}ecc_make_key=dropbear_ltc_ecc_make_key + MAINSRC = dropbear_main.c ifneq ($(CONFIG_NETUTILS_DROPBEAR_SCP),)